Projeto desenvolvido no módulo de Back-end da Trybe.
O objetivo do projeto foi construir uma API RESTful e um banco de dados para produção e gerenciamento de um site informativo sobre partidas e classificações de futebol! ⚽
Foi construido uma aplicação back-end dockerizado desenvolvida em Node.js, utilizando a arquitetura MSC - Model, Service, Controller -, juntamente a ORM Sequelize e seguindo a programação orientada a objetos aplicando alguns conceitos de SOLID.
Para a geração e autenticação de token foi utilizado o JSON Web Token - JWT e a biblioteca bcryptjs para realizar a cryptografias de senhas.
- Node.js;
- Express.js;
- MYSQL;
- mysql2;
- Sequelize(ORM);
- JWT(Autenticação);
- bcryptjs;
- Docker;
- JavaScript;
1. Faça o git clone na sua máquina e entre no diretório:
- Lembre-se de clonar o repositório no diretório desejado na sua máquina!
git clone https://github.com/BrunoPelegrino/TFC
2. Escolha por onde rodar a aplicação: Docker vs Local
🐳 Rodando no Docker
**:warning: Seu docker-compose precisa estar na versão 1.29 ou superior. [Veja aqui](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-compose-on-ubuntu-20-04-pt) ou [na documentação](https://docs.docker.com/compose/install/) como instalá-lo. No primeiro artigo, você pode substituir onde está com `1.26.0` por `1.29.2`.** 👉 2.1 Rode os serviços `react` , `node` e `db` com o comando: ``` npm run compose:up ```
-
Esses serviços irão inicializar um container chamado
db
,aoo_
e outro chamadoblogs_api_db
; -
Esses serviços irão inicializar um container chamado
app-frontend-1
,app_backend
e outro chamadodb
; -
Caso ocorra algum erro, você pode verificar os logs dos containers com o comando
docker-compose logs <nome-do-seu-serviço>
; -
A partir daqui você pode rodar o container
blogs_api
via CLI ou abri-lo no VS Code;
👉 2.2 Use o comando:
docker exec -it blogs_api bash
docker exec -it app_backend bash
- Ele te dará acesso ao terminal interativo do container criado pelo compose, que está rodando em segundo plano.
👉 2.3 Instale as dependências dentro do container com:
npm install
npm run debug
⚠️ Atenção: Caso opte por utilizar o Docker, TODOS os comandos disponíveis nopackage.json
(npm start, npm test, npm run dev, ...) devem ser executados DENTRO do container, ou seja, no terminal que aparece após a execução do comandodocker exec
citado acima.- ✨ Dica: A extensão
Remote - Containers
(que estará na seção de extensões recomendadas do VS Code) é indicada para que você possa desenvolver sua aplicação no container Docker direto no VS Code, como você faz com seus arquivos locais.
💻 Localmente
👉 2.1 Instale as dependências: ``` npm install ``` - **:warning: Atenção:** Não esqueça de renomear/configurar o arquivo `.env.example` para os testes locais funcionarem. - **:warning: Atenção:** Para rodar o projeto desta forma, **obrigatoriamente** você deve ter o `Node.js` instalado em seu computador. - **:warning: Atenção:** A versão do `Node.js` e `NPM` a ser utilizada é `"node": ">=16.0.0"` e `"npm": ">=7.0.0"`, como descrito a chave `engines` no arquivo `package.json`. Idealmente deve-se utilizar o Node.js na `versão 16.14`, a versão na que esse projeto foi testado.
© Desenvolvido por Bruno Pelegrino