GymPass style app.
- Deve ser possivel o usuario se cadastrar;
- Deve ser possivel se autenticar;
- Deve ser possivel obter o perfil de um usuario logado;
- Deve ser possivel obter o número de check-ins realizado pelo usuario logado;
- Deve ser possivel o usuario obter seu historico de check-ins;
- Deve ser possivel buscar academias proximas;
- Deve ser possivel o usuario buscar academia pelo nome;
- Deve ser possivel o usuario realizar check-in em uma academia;
- Deve ser possivel validar o check-in de um usuario;
- Deve ser possivel cadastrar uma academia;
- O usuário não deve poder se cadastrar com um email duplicado;
- O usuario não pode fazer 2 check-ins no mesmo dia;
- O usuario não pode fazer check-in se não estiver perto (100m) da academia;
- O check-in só pode ser validado até 20 minutos apos criado;
- O check-in só pode ser validado por administradores;
- A academia só pode ser cadastrada por administradores;
- A senha do usuario precisa estar criptografada;
- Os dados da aplicação precisam estar persistidos em um banco PostgresSQL;
- Todas listas de dados precisam estar paginadas em 20 itens por página;
- O usuário deve ser identificado por um JWT (JSON Web Token);