Blog's API é um API Rest desenvolvida com uma arquitetura em camadas MSC (Model-Service-Controller), usando Sequilize ORM para mapear e manipular o banco de dados. Trata-se de um sistema para gerenciar um blog, fazendo o gerenciamento de usuários, posters e categorias. A API conta ainda com sistema de autenticação e criptografia de senha. A aplicação foi desenvolvida em agosto de 2022, durante o Modulo de Back-End da Trybe.
O projeto foi desenvolvido em uma arquitetura em camadas MSC (Model-Service-Controller), usa ORM, em específico o framework Sequelize, responsável pela interação direta com banco de dados, consultas e manipulações. Sendo construída com o framework Express para estruturar endpoints e tratar erros. Usando os princípios dos REST para garantir qualidade e padrão do código, além de padronizar o formato que os dados seriam recebidos e retornados.
A API conta com camadas de segurança. Isso inclui o gerenciamento de token feito por meio da lib jsonwebtoken (JWT), que gera e valida os tokens usados. As senhas dos usuários são salvas de forma criptografada no banco de dados, isso é feito pela lib bcrypt, que criptografa a senha dos usuários e faz a validação, assim é nem mesmos quem possua acesso direto ao banco de dados conseguira ter acesso às senhas reais dos usuários.
Para assegurar um ambiente isolado e seguro para o desenvolvimento e dos testes, foi usado o Docker. Os códigos foram escritas na ferramenta da Microsoft, Visual Studio Code. Durante a criação o Nodemon foi utilizado para rodar a execução, essa ferramenta tornou o desenvolvimento mais dinâmico, o monitoramento do comportamento da API foi feito com o Insomnia.
💻 Localmente
- Para rodar a aplicação, obrigatoriamente você deve ter o
node
instalado em seu computador. - É necessário ter o MySQL sendo executado
- ✨ Dica: Caso não possua o banco de dados criado ainda, user o comando
npm run create
- ✨ Dica: Para povoar o banco de dados, execute o comando
npm run seed
- Clone o projeto para sua maquina
git clone git@github.com:JeffersonSimplicio/project-blogs-api.git
- Entre no diretório gerado
cd project-blogs-api
- Instale as dependências
npm i
-
Renomeie o arquivo
.env.example
para.env
e edite os dados para os da sua maquina -
Inicialize a aplicação
npm start
🐳 Docker
-
Para rodar a aplicação com docker, é necessário ter instalando em sua maquina
Docker
eDocker Compose
-
✨ Dica: Caso não possua o banco de dados criado ainda, user o comando
npm run create
-
✨ Dica: Para povoar o banco de dados, execute o comando
npm run seed
- Clone o projeto para sua maquina
git clone git@github.com:JeffersonSimplicio/project-blogs-api.git
- Entre no diretório gerado
cd project-blogs-api
- Suba o ambiente do docker
docker-compose up -d --build
- Acesse o terminal do contêiner
docker exec -it blogs_api bash
- Instale as dependências
npm i
-
Renomeie o arquivo
.env.example
para.env
e edite os dados para os da sua maquina -
Inicialize a aplicação
npm start