Blogs API foi o 23° projeto realizado durante a formação da Trybe. Esse projeto pertence a seção 6 do Modulo de Back-end e foi desenvolvido em setembro de 2022.
Neste projeto foi desenvolvida uma API e um banco de dados para a produção de conteúdo para um blog, foi realizado um CRUD de postagens com uma camada de autenticação de pessoas usuárias.
Essa aplicação é em Node.js e foi utilizado o Sequelize como ORM, MySQL como banco de dados e JWT para autenticação de usuários.
- Clone o repositório com
git clone git@github.com:GusCabraal/project-blogs-api.git - Há um arquivo
docker-compose.ymlconfigurado na raiz do projeto com os serviçosnodeedb, rodedocker-compose up -dpara subir os containers; - Entre no container
blogs_apicomdocker exec -it blogs_api bash - Instale as dependencias
npm install - Crie o banco de dados e as tabelas
npm run prestart - Popule as tabelas
npm run seed - Inicie o servidor
npm run debug - Importe o arquivo
routes-project-blogs-api.jsonpara dentro do Insominia - Consuma a API sem moderação.
Com essas rotas pode ser realizado um CRUD com o banco de dados. O usuário logado pode modificar apenas os posts de sua autoria.
- POST
/login-> Faz o login na aplicação; - POST
/user-> Cadastra um novo usuário; - GET
/user-> Lista todos os usuários; - GET
/user/:id-> Busca um usuário pelo seu ID; - DELETE
/user/:id-> Deleta um usuário com base no seu ID; - PUT
/user/:id-> Atualiza um usuário com base no seu ID;
- GET
/categories-> Lista todos as categorias; - POST
/categories-> Cadastra uma nova categoria;
- GET
/post-> Lista todos os posts, com categoria e usuário autor; - GET
/post/:id-> Busca um post pelo seu ID, com categoria e usuário autor; - GET
/post/search?q=searchTerm-> Busca um post pelo seu titulo ou conteúdo; - POST
/post-> Cadastra um novo post vinculado ao usuário que esta logado; - DELETE
/post/:id-> Deleta um post com base no seu ID; - PUT
/post/:id-> Atualiza um post com base no seu ID;