Node API Solid PostgreSQL
- Deve ser possível se cadastrar;
- Deve ser possível editar um usuário;
- Deve ser possível buscar usuário;
- Deve ser possível se autenticar;
- Deve ser possível buscar os usuários cadastrados, apenas ADMINS;
- Dever ser possível alterar o role do usuário cadastrado, apenas ADMINS;
- Dever ser possível excluir um usuário, apenas ADMINS;
- Deve ser possível obter o perfil de um usuário logado;
- Deve ser possível cadastrar o endereço de um usuário
- Deve ser possível alterar um endereço cadastrado;
- Deve ser possível cadastrar a compra de um usuário;
- Deve ser possível obter as compras de um usuário;
- O usuário não deve poder se cadastrar com um e-mail duplicado;
- O usuário não deve poder se cadastrar com um telefone duplicado;
- O usuário não deve poder se cadastrar com o customer_id(Stripe) duplicado;
- A senha do usuário precisa estar criptografada;
- Os dados da aplicação precisam estar persistidos em um banco PostgreSQL;
- Todas listas de dados precisam estar paginadas com 10 itens por página;
- O usuário deve ser identificado por um JWT (JSON Web Token);
- o Token do usuário deve ter validade 10 min;
- Deve haver uma rota para atualizar o token (Refresh Token);
- Deve haver hierarquia de usuários (Customers | Admins);
- Deve haver a documentação da API(Swagger), com todas rotas e com exemplos práticos;
- Métodos POST não devem poder substituir informações já cadastradas;
- Métodos PUT não devem poder criar uma inforção;
- Exceto as rotas de criar e autenticar usuários, todas outras devem ser autenticadas;
$ git clone https://github.com/joseiltonjunior/dcoffee-shop-api-node.git
$ cd dcoffee-shop-api-node
$ npm i or yarn
$ docker compose up -d
$ npx prisma migrate dev
$ npm run start:dev or yarn start:dev
$ npx prisma studio
Junior Ferreira at Full-stack Developer JS