- Deve ser possível se cadastrar;
- Deve ser possível se autenticar;
- Deve ser possível cadastrar uma empresa;
- Deve ser possível cadastrar membros para uma empresa;
- Deve ser possível cadastrar motoristas;
- Deve ser possível se autenticar como motorista;
- Deve ser possível obter informações de um frete como motorista;
- Deve ser possível cadastrar dados bancários de um motorista;
- Deve ser possível adicionar motoristas a uma empresa;
- Deve ser possível cadastrar veículos;
- Deve ser possível cadastrar região de atendimento de uma empresa;
- Deve ser possível cadastrar as cidades atendidas de uma empresa;
- Deve ser possível cadastrar um frete;
- Deve ser possível obter informações de um frete específico;
- Deve ser possível obter todos os fretes de uma empresa;
- Não deve ser possível cadastrar usuário com e-mail duplicado;
- Não deve ser possível cadastrar uma empresa com um CNPJ duplicado;
- Não deve ser possível cadastrar membros com e-mail duplicado;
- Não deve ser possível cadastrar empresas com roles diferente de ADMIN;
- Não deve ser possível cadastrar motoristas e veículos com roles diferente de ADMIN ou OPERATIONAL;
- Não deve ser possível cadastrar dados bancários de um motorista com roles diferente de ADMIN ou FINANCIAL;
- Não deve ser possível cadastrar veículos com a mesma placa;
- Não deve ser possível cadastrar fretes com roles diferente de ADMIN ou OPERACIONAL;
- A senha do usuário precisa estar criptografada;
- Os dados da aplicação precisam estar persistidos em um banco PostgreSQL;
- O usuário deve ser identificado por um JWT (JSON Web Token);