Skip to content

joseiltonjunior/solid-api-node

Repository files navigation

D'Coffee Shop API Client

Node API Solid PostgreSQL

RFs (Requisitos funcionais)

  • 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;

RNs (Regras de negócio)

  • 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;

RNFs (Requisitos não-funcionais)

  • 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;

Step 1 (Clone the project)

$ git clone https://github.com/joseiltonjunior/dcoffee-shop-api-node.git

Step 2 (Open a project)

$ cd dcoffee-shop-api-node

Step 3 (Install yours dependencies)

$ npm i or yarn 

Step 4 (Run docker-compose)

$ docker compose up -d

Step 5 (Run migrations)

$ npx prisma migrate dev

Step 6 (Run server)

$ npm run start:dev or yarn start:dev

Step 6 (Run Prisma Studio)

$ npx prisma studio

Credits

Junior Ferreira at Full-stack Developer JS

Releases

No releases published

Packages

No packages published