Project Description • Learning • Requirements • Stacks • How to run the application
Descrição do Projeto • Aprendizado • Requisitos • Tecnologias Utilizadas • Rodar a Aplicação
In this BackEnd project, I developed a RESTful API using the MSC (model-service-controller) architecture!
The built API is a dropshipping-style sales management system.
A MySQL database was used for data management.
- Creating endpoints to list, create, update/edit, and delete products in a MySQL database
- Creating endpoints to list sales in a MySQL database
- ✅ Create endpoints to list all products
- ✅ Create endpoints to search for a product by the registered id
- ✅ Create an endpoint to register products
- ✅ Create validations for products
- ✅ Create an endpoint to update a product
- ✅ Create an endpoint to delete a product
- ✅ Create endpoints to list all sales
- ✅ Create endpoints to search for a sale by the registered id
- ❌ Create an endpoint to validate and register sales
- ❌ Create an endpoint to delete a sale
- ❌ Create an endpoint to update a sale
- ❌ Create an endpoint products/search?q=searchTerm
- ✅ Develop tests that cover at least 20% of the layers of your application
- Docker
- MySQL
- Node.js
- MySQL needs to be running on your machine
⚠️ If you're on Windows, stop the Windows MySQL, as it will use the MySQL from your Linux distro via WSL2- Clone the repository:
git clone git@github.com:prtpj1/project-project-store-manager.git - Access the project folder:
cd project-project-store-manager - Install the dependencies:
npm install - Create (if you don't have one yet) a MySQL connection in a database manipulation program of your choice, such as WorkBench.
- Set it to use port 3306, and in the .env file (which is in the project root with the name ".env_example" and you should change it to ".env") put the same password you defined when creating the MySQL connection
- To create the database (the password requested will be your distro's password):
npm run migration - To populate the database (the password requested will be your distro's password):
npm run seed - Start the program:
npm start - Access the link below to access the routes and test them:
http://localhost:3000/api-docs/
- You can view the test coverage with the command:
npm test
- Ensure Docker is running on your computer
sudo systemctl status docker⚠️ If you're on Windows, just open Docker Desktop - Clone the repository:
git clone git@github.com:prtpj1/project-project-store-manager.git - Access the project folder:
cd project-project-store-manager - Start the container for Docker:
docker-compose up -d - Access the link below to access the routes and test them:
http://localhost:3000/api-docs/
NOTE: If you encounter any difficulties with the instructions and would like to provide feedback, feel free to send me a message
Neste projeto de BackEnd desenvolvi uma API RESTFul utilizando a arquitetura MSC (model-service-controller)!
A API construída é um sistema de gerenciamento de vendas no formato dropshipping.
Foi utilizado um banco de dados MySQL para a gestão dos dados.
- Criar endpoints para listar, criar, atualizar/editar e deletar produtos em um banco de dados MySQL
- Criar endpoints para listar vendas em um banco de dados MySQL
- ✅ Criar endpoints para listar todos produtos
- ✅ Criar endpoints para procurar um produto através da id cadastrada
- ✅ Criar endpoint para cadastrar produtos
- ✅ Criar validações para produtos
- ✅ Criar endpoint para atualizar um produto
- ✅ Criar endpoint para deletar um produto
- ✅ Criar endpoints para listar todas as vendas
- ✅ Criar endpoints para procurar uma venda através da id cadastrada
- ❌ Criar endpoint para validar e cadastrar vendas
- ❌ Criar endpoint para deletar uma venda
- ❌ Criar endpoint para atualizar uma venda
- ❌ Criar endpoint products/search?q=searchTerm
- ✅ Desenvolver testes que cubram no mínimo 20% das camadas da sua aplicação
- Docker
- MySQL
- Node.js
- O MySQL precisa estar rodando na sua máquina
⚠️ Se estiver no Windows, pare o MySQL do Windows, pois usará o MySQL da sua distro Linux através do WSL2- Clone o repositório:
git clone git@github.com:prtpj1/project-project-store-manager.git - Acesse a pasta do projeto:
cd project-project-store-manager - Instale as dependências:
npm install - Crie (se ainda não tiver uma) conexão MySQL no programa de sua escolha para manipulação de banco de dados, como o WorkBench.
- Defina para usar a porta 3306 e no arquivo .env (que está na raiz do projeto com o nome ".env_example" e que você deve alterar para ".env") coloque a mesma senha que você definiu quando criou a conexão MySQL
- Para criar o banco de dados (a senha solicitada será a da sua distro):
npm run migration - Para popular o banco de dados (a senha solicitada será a da sua distro):
npm run seed - Inicie o programa:
npm start - Acesse o link abaixo para acessar as rotas e testa-las:
http://localhost:3000/api-docs/
- Você poderá ver a cobertura de testes através do comando:
npm test
- Confirme que o Docker está rodando no seu computador
sudo systemctl status docker⚠️ Se estiver no windows, basta abrir o Docker Desktop - Clone o repositório:
git clone git@github.com:prtpj1/project-project-store-manager.git - Acesse a pasta do projeto:
cd project-project-store-manager - Suba o container para o Docker:
docker-compose up -d - Acesse o link abaixo para acessar as rotas e testa-las:
http://localhost:3000/api-docs/
OBS: Se tiver alguma dificuldade com as instruções e quiser dar um feedback me mande uma mensagem





