/fullstack-crud

A web application (CRUD) to manage Client registers (Client's name, birth date, email and address)

Primary LanguageJavaScript

Fullstack CRUD

Introduction

This document outlines the requirements for a Fullstack web application that manage clients' registers. The application is a CRUD (Create, Read, Update, Delete) application that allow users to manage clients' information such as their name, birth date, email, and address.

Project Basic Features

  • Development of the front end.
  • Use React. https://reactjs.org
  • Interface easy to use (UI/UX).
  • Use Material UI https://material-ui.com
  • Field validation (date, required fields, etc).
  • Frontend deployment at Vercel platform
  • Backend database cloud deployments at Atlas MongoDB platform
  • Backend server development using NodeJS and deployed at Render

Installation

This project has two different folders, backend and frontend, each one has its own README with installation tutorial and notes.

Front end

The front end of the application is developed using React. The interface is easy to use and follow good UI/UX principles. Field validation are implemented to ensure that data entered by the user is valid (e.g., date fields should only accept valid dates, required fields should not be left blank, etc.).

The application is deployed to a cloud platform. The backend is developed using NodeJS also the data can be cached in-browser for faster access.## References

Back end

The DataBase is modeled with MongoDB, the Express module, as web application library for Node.js., and Mongoose and uses Atlas Database Deployment. The server is developed using NodeJS and deployed at Render.

About the Code

This project has clean and well-organized code, with an emphasis on correct naming conventions and adherence to patterns like PSRs, design patterns, and SOLID principles. Prioritizing code maintainability, error handling, and architecture, ensuring that the code is well thought out and structured before it is developed. I enjoy decoupling components such as additional layers, services, and repositories in order to produce modular and maintainable code. These characteristics make this project a dependable and stable option for our users.

TODO

Make Data cached in-browser for faster access.

TODO + 1

The backend can be switched to deployed using AWS Free Tier services such as Lambda, API Gateway, DynamoDB or RDS. This will allow the application to take advantage of the scalability and reliability of AWS services.

Contributing

If you'd like to contribute to this project, please follow these guidelines:

Fork the repository. Create a new branch for your feature or bug fix. Make your changes and commit them with descriptive commit messages. Push your changes to your forked repository. Submit a pull request explaining your changes.

Contact

If you have any questions or suggestions, please feel free to reach out.

I appreciate your interest in our client management app!

Thank you for using it.

References

Intro to React: https://reactjs.org/tutorial/tutorial.html
Material UI: https://mui.com/
Atlas Database: https://cloud.mongodb.com/
Render: https://render.com/docs
Vercel: https://vercel.com/dashboard