Matias 🧑🦲
In the backend project we will combine the node + express technologies, in addition to mysql/sequelize and Javascript development. Technologies for the development of the API we will use mysql with Sequelize and express.
- User registration using Bcrypt.
- User login + token + middleware.
- CRUD of the endpoints.
- "Many to Many" and other "One to Many" database relationships.
- Use of seeders.
For collaboration in Pair Programming we use branches with GitHub, making commits in each evolution of the project.
- MySql2 with Sequelize and Express
- Bcrypt + JWT
- Express Validator
- Nodemon (Dev Dependency)
- Postman
- Workbench
- VsCode
- Git / GitHub
1 - In order to start the project first make a clone:
git clone https://github.com/msalvatore82/Proyecto-Backend.git
2 - Once the project is cloned, you must install the necessary modules with npm:
npm install
3 - You should rename the "config-example.json" file to "config.json"
Then edit the "development" fields with your "name", "password", "db name" and "secret word".
4 - Create Database
sequelize db:create
5 - Database Migration
sequelize db:migrate
6 - Running the Seeder
sequelize db:seed:all
7 - The project is ready to start
npm start
-CRUD products -Endpoint to create a product -Endpoint to update a product -Endpoint to remove a product -The checkout endpoint should be displayed next to the category or categories it belongs to -Endpoint that brings a product by its id -Filter to search product by name -Filter to search product by price -Filter that orders the products from highest to lowest price -Implement validation when creating a product so that all fields are filled in and if not, a message is returned -You will only be able to create, update and delete products if you are authenticated.
-CRUD Categories -The endpoint to see all the categories along with the products they have -Create an endpoint that returns a category by id -Filter to search category by name
-Create an endpoint to see the orders next to the products they have -Create an endpoint to create orders
-Endpoint to register a user using bcrypt -Endpoint for login(using bcrypt +JWT) -Endpoint that brings us the information of the connected user along with the orders he has and the products that each order contains -Endpoint for logout -Implement validation when creating a user so that all fields are filled in and if not, a message is returned
-Create 5 products with a seeder