- Deve ser possível se cadastrar
- Deve ser possível se autenticar
- Deve ser possível registrar veículos
- Deve ser possível solicitar o agendamento de um serviço
- Deve ser possível escolher a data e o horário disponíveis.
- Deve ser possível o cliente selecionar o tipo de serviço (manutenção, reparo e inspeção).
- Deve ser possível cliente confirma o agendamento
- Deve ser possível o agendamento conter um status (agendado, pendente ou rejeitado)
- Deve ser possível visualizar o histórico de serviços em um veículo
- Deve ser possível visualizar o histórico de agendamentos
- Deve ser possíve funcionário emitir ordem de serviço para um veículo, detalhando os trabalhos e o valor.
- Deve ser possível buscar mecânicas proximas (até 10km)
- Deve ser possível cadastrar mecânicas
- Deve ser possível buscar mecânicas pelo nome
- Deve ser possivel buscar ordens de serviços, caso queira pelo status, paginado.
- Deve ser possivel buscar o faturamento do mês da mecânica e buscar agendamentos de um dia.
- Não deve ser possível cadastrar dois usuários com o mesmo e-mail.
- Cada veículo deve estar associado a exatamente um usuário, mas um usuário pode ter múltiplos veículos.
- Não deve ser possivel, o pedido de agendamento, conflitar com um agentamento com status pedente
- O sistema verifica a disponibilidade dos técnicos e do espaço.
- Devem ser implementados testes automatizados cobrindo pelo menos 80% do código.
- A senha do usuário precisa estar criptografada
- O usuário deve ser identificado por um JWT (JSON Web Token)
- Typescript
- Fastify
- Postgress(Prisma)
- Vitest
- Zod