Projeto desenvolvido durante o módulo de back-end do curso de desenvolvimento web da Trybe.
Foi desenvolvida uma API e um banco de dados para a produção de conteúdo para um blog.
Sendo usado Node.js na criação da aplicação e o ORM Sequelize para fazer um CRUD de posts, além disso, todo o desenvolvimento seguiu os princípios do REST e também foi usada a biblioteca JWT para a autenticação dos usuários.
A documentação do projeto foi feita com o uso do Swagger e pode ser acessada localmente na rota /doc. Ex.: http://localhost:3000/doc/.
Este projeto encontra-se finalizado, pretendo somente fazer o deploy dele numa VPS.
- Arquitetura MSC
- API REST com Express.js
- ORM - Interface da aplicação com o banco de dados
- Autenticação com JWT
- Docker
- Docker Compose
- MySQL
- Node.js
- Express.js
- Sequelize ORM
- JWT (Json Web Token)
- Joi
É necessário ter instalado em sue computador o Node.js na versão 16.0.0 ou superior, assim como o MySQL.
git clone git@github.com:andreluialves/blogs-api.git
- Entre na pasta do repositório que você acabou de clonar:
cd blogs-api
npm install
Informe os dados relativos ao banco de dados MySQL, através das seguintes variáveis de ambiente: MYSQL_HOST, MYSQL_PORT, MYSQL_USER, MYSQL_PASSWORD.
Certifique-se que a porta 3000 do seu computador não esteja sendo usada ou, se preferir, altere a variável de ambiente API_PORT.
npm start
É necessário ter Docker e o Docker Compose instalados no seu computador, sendo que o Docker Compose precisa estar na versão 1.29 ou superior.
Serão gerados dois containers, um com a imagem do MySql e outro com a imagem do Node.Js.
git clone git@github.com:andreluialves/blogs-api.git
- Entre na pasta do repositório que você acabou de clonar:
cd blogs-api
docker-compose up -d --build
docker exec -it blogs_api bash
npm install
npm start
A documentação do projeto pode ser acessada localmente na rota /doc. Ex.: http://localhost:3000/doc/.