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 conteúdo para um blog!
A aplicação foi desenvolvida em Node.js, utilizando a arquitetura MSC - Model, Service, Controller -, juntamente a ORM Sequelize para realizar o CRUD dos posts.
Para realizar as validações de entrada, foi utilizados a biblioteca JOI e para a geração e autenticação de token foi utilizado o JSON Web Token - JWT.
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 clonegit@github.com:BrunoPelegrino/Blogs-API.git
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 `node` e `db` com o comando: ``` docker-compose up -d --build ```
⚠️ 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