🇺🇸 English
This is the sixth project of the Back-end curriculum developed at Trybe.
In this project I developed a RESTful API and a database for the production of content for a blog, using the MSC (Model-Service-Controller) architecture, where it is possible to create, view, delete and update posts, categories and users. The connection to the database was made with ORM Sequelize and authentication with Json Web Token.
Installing and running with Docker
To run this application you need to have Git, Docker and Docker Compose installed on your computer. Docker Compose needs to be version 1.29 or higher.
git clone git@github.com:apoishi/trybe-blogs-api.git
cd trybe-blogs-api
docker-compose up -d --build
docker exec -it store_manager bash
npm install
creating the tables
npm run prestart
Populating the database with data
npm run seed
npm start
npm run test-coverage
- Create and associate tables using sequelize models;
- Build endpoints to manipulate the information in the database;
- Authenticate users through JWT;
POST /login
• If the login was successful, it returns a token to the user.
POST /user
• Register a new user in the database.
GET /user
• Return all users from the database.
• Validate the token.
GET /user/:id
• Return an user by id from the database.
• Validate the token.
GET /post
• Return all posts from the database.
• Validate the token.
GET /post/:id
• Return a post by id from the database.
• Validate the token.
POST /post
• Register a new post in the database.
• Validate the token.
PUT /post/:id
• Update a post by id in the database.
• Validate the token.
GET /category
• Return all categories from the database.
• Validate the token.
POST /category
• Register a new category in the database.
• Validate the token.
- Node
- Express
- Sequelize
- Json Web Tokens
- DotEnv
- Joi
- Docker
- MySQL
- Javascript
🇧🇷 Português
Esse é o sexto projeto desenvolvido na Trybe do módulo de Back-end.
Nesse projeto desenvolvi uma API RESTful e um banco de dados para a produção de conteúdo para um blog, utilizando a arquitetura MSC (Model-Service-Controller), onde é possivel criar, visualizar, deletar e atualizar posts, categorias e usuários. A conexão com o banco de dados foi feita com o ORM Sequelize e a autenticação com Json Web Token.
Instalação e execução com Docker
Para rodar está aplicação é necessário ter Git, Docker e o Docker Compose instalados no seu computador. O Docker Compose precisa estar na versão 1.29 ou superior.
git clone git@github.com:apoishi/trybe-blogs-api.git
2 - Entre na pasta do repositório que você acabou de clonar e use o docker-compose para subir o container:
cd trybe-blogs-api
docker-compose up -d --build
docker exec -it store_manager bash
npm install
Criando as tabelas
npm run prestart
Populando o banco com dados
npm run seed
npm start
npm run test-coverage
- Criar e associar tabelas usando models do sequelize;
- Construir endpoints para manipular as informações no banco de dados;
- Autenticar usuários através do JWT;
POST /login
• Caso o login tenha sido efetuado com sucesso retorna um token para o usuário.
POST /user
• Registra um novo usuário no banco de dados.
GET /user
• Retorna todos os usuários do banco de dados.
• Faz a validação do token.
GET /user/:id
• Retorna do banco de dados um usuário através do id.
• Faz a validação do token.
GET /post
• Retorna todos os posts do banco de dados.
• Faz a validação do token.
GET /post/:id
• Retorna do banco de dados um post através do id.
•Faz a validação do token.
POST /post
• Registra um novo post no banco de dados.
• Faz a validação do token.
PUT /post/:id
• Atualiza um post no banco de dados.
• Faz a validação do token.
GET /category
• Retorna todos os posts do banco de dados.
• Faz a validação do token.
POST /category
• Registra uma nova categoria no banco de dados.
• Faz a validação do token.
- Node
- Express
- Sequelize
- Json Web Tokens
- DotEnv
- Joi
- Docker
- MySQL
- Javascript