Aplicação desenvolvida com a finalidade de estudo em nodeJS, docker e princípios do SOLID. O projeto é uma API REST para que usuários possam fazer registros de carros específicos.
O deploy da aplicação se encontra no endereço: API-URL
O que é possível que o usuário faça na aplicação.
- Deve ser possível se cadastrar;
- Deve ser possível se autenticar;
- Deve ser possível cadastrar um carro
- Deve ser possível listar todos os carros
- Deve ser possível listar os detalhes de um carro específico
- Deve ser possível deletar um carro cadastrado
- Deve ser possível fazer a atualização dos dados de um carro
Determina condições que serão aplicadas para cada requisito funcional.SEMPRE é associada à um requisito funcional
- O usuário não deve poder se cadastrar com um e-mail duplicado;
Requisitos que não partem do cliente, são requisitos mais técnicos. ex: Qual banco de dados será utilizado.
- A senha do usuário precisa estar criptografada;
- Os dados da aplicação precisam estar persistido em um banco PostgreSQL;
- O usuário deve ser identificado por um JWT (JSON Web Token);
// Instalar dependências
npm i
// Copiar o arquivo com os dados de conexão e demais variáveis ambiente
cp .env.example .env
// Subir o serviço do PostgreSQL via docker
docker compose up -d
// Criar as tabelas do banco de dados (em desenvolvimento)
npx prisma migrate dev
// Criar as tabelas do banco de dados (em produção)
npx prisma migrate deploy
// Execute o projeto
npm run dev
// Visualizando o banco de dados
npx prisma studio
- NodeJS
- Fastify
- Prisma
- PostgreSQL
- Typescript