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: 2 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 2 years ago)
- Default Branch: main
- Last Pushed: 2022-10-17T15:09:17.000Z (over 2 years ago)
- Last Synced: 2025-01-14T08:09:52.375Z (4 months 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 [email protected]: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çonode
com o comandodocker-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 dockerexec -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 comandonpm install
.Execute a aplicação com
npm start
ounpm run dev
.