Sobre o Projeto ⢠Endpoints ⢠Instalação ⢠Utilização ⢠Tecnologias ⢠Autor
Projeto desenvolvido como parte das atividades do curso da Kenzie Academy Brasil.
Esse projeto consiste em uma aplicação back-end com um CRUD bÔsico de usuÔrios.
O objetivo do desenvolvimento desse projeto era praticar e aprimorar as habilidades em Node.js, Express.js e TypeORM.
Esse serviƧo possui uma API REST integrada a um banco de dados PostegreSQL.
Através dessa aplicação, um usuÔrio pode se cadastrar, fazer login, atualizar seus dados, listar todos os usÔrios cadastrados e remover um usuÔrio.
| MƩtodo | Endpoint | Responsabilidade |
|---|---|---|
| POST | /users | Cria um usuƔrio |
| POST | /login | Gera um token JWT recebendo email e password no corpo da requisição como JSON. |
| GET | /users | Lista todos os usuƔrios |
| GET | /users/profile | Retorna os dados do usuƔrio logado (usuƔrio a qual pertence o token que serƔ necessƔrio neste endpoint) |
| PATCH | /users/<uuid> | Atualiza os dados de um usuƔrio |
| DELETE | /users/<uuid> | Deleta usuƔrios do banco |
Este projeto requer que o Git, o Node.js e o Docker estejam instalados em sua mƔquina.
-
Faça o fork desse repositório.
-
Abra o terminal e clone o repositório:
$ git clone git@github.com:<your_user>/users-crud.git- Entre no diretório do projeto:
$ cd users-crud- Instale as dependĆŖncias:
$ yarn install- Adicione o arquivo
.envna raiz do projeto e configure suas variƔveis de ambiente seguindo o modelo do arquivo.env.example):
POSTGRES_USER=your_username
POSTGRES_PASSWORD=your_password
POSTGRES_DB=your_database
JWT_SECRET=your_secret_key- Inicie o contêiner docker referente ao banco de dados PostgreSQL de acordo com as configurações do arquivo
docker-compose.yml:
$ docker-compose up- Execute as migrations para criar as tabelas no banco de dados:
$ yarn typeorm migration:run- Execute a aplicação:
$ yarn devPronto! A aplicação, agora, estarÔ sendo executada através na rota https://localhost:3000/.
Para utilizar a aplicação, é necessÔrio o uso de uma API Client, como Postman ou Insomnia.
Verifique a documentação da API.
Para o desenvolvimento desse projeto, as seguintes ferramentas foram utilizadas:
Marcos Kenji Kuribayashi
Desenvolvido por Marcos Kenji Kuribayashi š