https://github.com/jjgouveia/project-store-manager
Projeto back-end em que foi necessário arquitetar e desenvolver uma API RESTfull integrada a um banco de dados MySQL, utizando C.R.U.D. para gerenciar produtos e vendas.
https://github.com/jjgouveia/project-store-manager
backend chai expressjs javascript mocha nodejs sinon
Last synced: 3 months ago
JSON representation
Projeto back-end em que foi necessário arquitetar e desenvolver uma API RESTfull integrada a um banco de dados MySQL, utizando C.R.U.D. para gerenciar produtos e vendas.
- Host: GitHub
- URL: https://github.com/jjgouveia/project-store-manager
- Owner: jjgouveia
- License: mit
- Created: 2022-10-16T03:00:39.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-10-17T15:09:17.000Z (over 3 years ago)
- Last Synced: 2025-03-04T03:43:24.787Z (over 1 year ago)
- Topics: backend, chai, expressjs, javascript, mocha, nodejs, sinon
- Language: JavaScript
- Homepage:
- Size: 261 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Projeto - Store Manager
## 🔨 Desenvolvimento
A proposta deste projeto era a de arquitetar e desenvolver uma API RESTfull integrada a um banco de dados MySQL, em que fosse possível utilizar endpoints para criar, exibir, atualizar e excluir (C.R.U.D.) de produtos e vendas. Tudo isso utilizando o padrão arquitetural MSC (Model, Service e Controller).
## 💻 Tecnologias utilizadas
* JavaScript
* NodeJS
* Express
* chai
* sinon
* mocha
* mySQL
## Lições aprendidas e/ou reforçadas
* Escrever o código utilizando o padrão M.S.C. de arquitetura de software por camadas;
* Fazer validações com a biblioteca JOI;
* Criar rotas baseadas em C.R.U.D. e aplicar middlewares;
* Utilzar queries SQL para as operações C.R.U.D;
* Escrever API's RESTfull utilizando Node e Express;
* Escrever testes assíncronos utilizando o chai, sinon e o mocha;
## 🛠 Instalação local
Clone o projeto:
```bash
git clone git@github.com:jjgouveia/project-store-manager.git
```
Vá até a pasta do projeto:
```bash
cd project-store-manager
```
Instale as dependências:
```bash
npm install
```
Inicie a aplicação:
```bash
npm start
ou
npm run dev
```
## 🛠 Instalação no Docker
Após clonar o repositório e acessar a pasta do projeto, execute o serviço node com o comando docker-compose up -d.
Esse serviço irá inicializar um container chamado store_manager.
A partir daqui você pode rodar o container via CLI ou abri-lo no VS Code.
Use o comando docker exec -it store_manager bash.
Ele te dará acesso ao terminal interativo do container criado pelo compose, que está rodando em segundo plano.
Instale as dependências com o comando npm install.
Execute a aplicação com npm start ou npm run dev.