🇺🇸 English
This is the fifth project of the Back-end curriculum developed at Trybe.
In this project I developed a RESTful API using the MSC (model-service-controller) architecture of a sales management system in dropshipping format, where it is possible to create, view, delete and update products and sales. I also implemented unit tests with Mocha, Chai and Sinon.
Installing and running with Docker
To run this application you need to have Git, Docker and Docker Compose installed on your computer. Docker Compose needs to be version 1.29 or higher.
git clone git@github.com:apoishi/trybe-store-manager.git
cd trybe-store-manager
docker-compose up -d --build
docker exec -it store_manager bash
npm install
creating the tables
npm run migration
Populating the database with data
npm run seed
npm start
npm run test:mocha
- Connect the application with a MySQL database;
- Structure the application in layers (Models, Services and Controllers);
- Properly delegate responsibilities to each layer;
- Write more easily reusable code;
- Apply REST standards;
- Write unit tests for the application.
GET /products
• Return all products from the database.
GET /products/:id
• Return a product by id from the database.
POST /products
• Register a new product.
PUT /products/:id
• Update a product by id in the database.
DELETE /products/:id
• Delete a product by id in the database.
GET /sales
• Return all sales from the database.
GET /sales/:id
• Return a sale by id from the database.
DELETE /sales/:id
• Delete a sale by id in the database.
- Node
- Express
- DotEnv
- Joi
- MySQL
- Docker
- Mocha
- Chai
- Sinon
- Javascript
🇧🇷 Português
Esse é o quinto projeto desenvolvido na Trybe do módulo de Back-end.
Nesse projeto desenvolvi uma API RESTful utilizando a arquitetura MSC (model-service-controller) de um sistema de gerenciamento de vendas no formato dropshipping, onde é possivel criar, visualizar, deletar e atualizar produtos e vendas. Também implementei testes unitários com Mocha, Chai e Sinon.
Instalação e execução com Docker
Para rodar está aplicação é necessário ter Git, Docker e o Docker Compose instalados no seu computador. O Docker Compose precisa estar na versão 1.29 ou superior.
git clone git@github.com:apoishi/trybe-store-manager.git
2 - Entre na pasta do repositório que você acabou de clonar e use o docker-compose para subir o container:
cd trybe-store-manager
docker-compose up -d --build
docker exec -it store_manager bash
npm install
Criando as tabelas
npm run migration
Populando o banco com dados
npm run seed
npm start
npm run test:mocha
- Conectar a aplicação com um banco de dados MySQL;
- Estruturar a aplicação em camadas (Models, Services e Controllers);
- Delegar corretamente as responsabilidades para cada camada;
- Escrever um código mais facilmente reutilizável;
- Aplicar os padrões REST;
- Escrever testes unitários para a aplicação.
GET /products
• Traz todos os produtos do banco de dados.
GET /products/:id
• Traz um produto por id do banco de dados.
POST /products
• Cadastra um novo produto.
PUT /products/:id
• Atualiza um produto por id.
DELETE /products/:id
• Deleta um produto por id do banco de dados.
GET /sales
• Traz todas as vendas do banco de dados.
GET /sales/:id
• Traz uma venda por id do banco de dados.
DELETE /sales/:id
• Deleta uma venda por id do banco de dados.
- Node
- Express
- DotEnv
- Joi
- MySQL
- Docker
- Mocha
- Chai
- Sinon
- Javascript