Code Monkey home page Code Monkey logo

construction_management-api's Introduction

Construction Management API

This project was implemented to my Final paper by course of Science Computer. We going to talk about backend tecnologies used in this project. We also will talk about architeture planned to the entire project, who involves Node.JS, TypeScript, Azure, PostgreSQL, Redis, React Native and Redux.


About

The objective of this project was implement a software who can help many professionals about construction. So, this include engineers, architects, masons and other profressionals or clients. This software will help any user who wish make an construction. Professionals like enginners and architects will be a chef, a administrator of the project. Masons and others will be a employee. Clients, well, will be a client.

So, the objective is provide access and visibility about the construction for both, the administrator and the client, who will be able to view the building from anywhere, and track the progress.

Skills

  • Node.JS
  • Microsoft Azure
  • TypeScript
  • PostgreSQL
  • Redis
  • Typeorm

Architecture

A whole application backend will be running in the Microsoft Azure. To implement the solution, we are using serverless with HttpTriggers that will enable communication with Frontend application and Backend application.

On backend, we are using Node.JS with TypeScript to implement our functions and PostgreSQL to store our data. Redis is used like a memory bank to store the accessToken and the refreshToken, this way we can search on him and look for a user connected.

Architecture

We also divide our implementation im many projects and we gave responsibilities to each one. Look the Table for more explanation.

Name Description
func-user Contains all user related functions. Ex: Login, logout, register..
func-construction Contains all construction related functions such as functions to create a new construction, rescue steps, activities, information and everything related.
func-price Contains all the functions related to price tables. Ex: materials, manpower, stage..
func-db-migrations Contains all migrations of tables in the database. This mini project is useful to centralize all project migrations integer, and separate what belongs only to the bank.

Func-user

We centralize all verificiations and access permissions about user in this project. Here we generate a hash with bcrypt library to create a hash by password to save in the database. We using this library also to compare the hash in the database and the new hash created by the password that user provided. We are using JWT to create our accessToken and the library accesscontrol to control our permissions by type of user. You can look the whole implementation in this link: func-user


func-db-migrations

We centralize all migrations in this project to have more controle about the fields and tables who are created in the database. We are using Typeorm, he is a ORM that can provide more facility to connecte the database, and also to create the tables.

Database

You can look the whole implementation in this link: [func-db-migrations](https://github.com/LeoInCode/construction_management-api/tree/main/func-db-migrations "func-db-migrations")
func-construction AND func-price

Both projects are very similar in one point, both in all requests do a request to func-user, in the function getUser, try to get access to the functionalities. The different between each other is func-construction centralize all informations about constructions, informations, steps, activities, and func-price centralize all informations about price, this include table of prices and graphics. You can look the whole implementation about both project in these links: func-construction func-price

construction_management-api's People

Contributors

dependabot[bot] avatar leoincode avatar

Watchers

 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.