Neste projeto, foi desenvolvido uma API RESTful utilizando a arquiterura de software em camadas. A API é um sistema de gerenciamento de vendas em que é possível criar, visualizar, deletar e atualizar produtos e vendas utilizando o banco de dados MySQL para gestão de dados. Também foi desenvolvido testes para garantir as funcionalidades das implementações.
⚠️ É necessário ter a versão Node 16.14 ou superior instalada localmente.
🔧 Instalação
- Clone o repositório
git clone [email protected]:Wesleyhmendes/store-manager-back-end.git
.- Entre na pasta do repositório que você acabou de clonar:
cd store-manager-back-end.git
- Instale as dependências [Caso existam]
npm install
- Crie uma branch a partir da branch
master
- Verifique que você está na branch
master
- Exemplo:
git branch
- Exemplo:
- Se não estiver, mude para a branch
master
- Exemplo:
git checkout master
- Exemplo:
- Agora crie uma branch com o nome desejado
🐳 Iniciando a aplicação no Docker Compose
# Instale as dependências
npm install
# Inicie os containers do compose `backend` e `db`
# A aplicação estará disponível em `http://localhost:3001` em modo de desenvolvimento
docker-compose up -d
# É possível ver os logs da aplicação com `docker logs -n 10 -f <nome-do-container>`
docker logs -n 10 -f store_manager
🖥️ Iniciando a aplicação localmente
⚠️ Atenção: Ao rodar localmente, a aplicação deverá receber variáveis de ambiente como exemplificado emenv.example
para poder se comunicar com o serviço de banco de dados.
# Instale as dependências
npm install
# Inicie apenas o serviço `db` no compose
docker-compose up -d db
# Inicie a aplicação em modo de desenvolvimento
npm run dev:local
📋 Requisitos
1 - Crie endpoints para listar produtos
2 - Crie endpoints para listar vendas
3 - Crie endpoint para cadastrar produtos
4 - Crie validações para o cadastro de produtos
5 - Crie endpoint para cadastrar vendas
6 - Crie validações para o cadastro de vendas
7 - Crie endpoint para atualizar um produto
8 - Crie endpoint para deletar um produto
9 - Crie endpoint para deletar uma venda
10 - Crie endpoint para atualizar a quantidade de um produto em uma venda
11 - Crie endpoint para pesquisar produtos
Mencione as ferramentas que você usou para criar seu projeto
Nós usamos Docker para controle de versão.
- Wesley Mendes - Trabalho Inicial - Wesley Mendes