Giter Club home page Giter Club logo

kimoveis-aletanus's Introduction

KIMOVEIS - A Real Estate Management System

MAIN OBJECTIVES

For those who work in the real estate sector, it can be challenging to keep track of paperwork, deadlines, property visits, and ongoing negotiations. KIMOVEIS is a real estate management system that aims to make all these tasks much simpler and more organized.

ABOUT THE SYSTEM

KIMOVEIS was developed to facilitate real estate management and allows creating, updating, listing, and deleting users, properties, property categories, as well as scheduling visits to registered properties. The system is based on the use of technologies such as Express.js, TypeORM, PostgreSQL, bcrypt.js, dotenv, pg, reflect-metadata, zod, express-async-errors, and JWT, ensuring a secure, reliable, and scalable environment.

This system can be used by both the clients of a real estate agency and its administrators, with specific routes and permissions for common users to register and schedule visits, as well as granting full access and management of information such as users, properties, and scheduled visits to system administrators.

All users are authenticated with JWT, and their passwords are encrypted with bcrypt.js. The routes also have some validation restrictions, such as the inability to register two users or properties with the same email/address and the inability to schedule visits outside business hours and on non-working days.

The system architecture is based on a series of entities. For example, user, category, property, and scheduling entities, each with its own table and specific properties stored in the database.

TECHNICAL FEATURES

• Relations made with TypeORM

• Search methods findOne and findOneBy, specific to TypeORM.

• QueryBuilder

Validation queries using queryBuilder.

• Types

All data and functions have been typed correctly.

• Serialization

Data serialization done with zod and using a data validation middleware.

• Package.json

All package.json settings are correctly configured.

All necessary libraries for project execution are listed in package.json.

• Error handling

Error handling using a custom AppError class.

Zod errors are handled in the global error handling function.

• Function and variable naming

Function and variable naming was performed in a clear and objective way.

• Indentation

Correct indentation.

• Environment variables

Environment variables for necessary configurations.

.env.example is included in the repository.

SYSTEM TESTED AND APPROVED

A significant challenge in application development is ensuring that your code is free of errors and bugs. This project has been fully tested and approved according to Node Express unit tests with Jest, also contained in this repository. The focus of these tests was not only to validate the proper functioning of the routes, according to what is expected of each one, but also to test the various parts of the application such as the services, controllers, and middleware developed.

image

image

kimoveis-aletanus's People

Contributors

aletanus avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.