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 [email protected]:<your_user>/users-crud.git
- Entre no diretĆ³rio do projeto:
$ cd users-crud
- Instale as dependĆŖncias:
$ yarn install
- Adicione o arquivo
.env
na 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 dev
Pronto! 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 š