/api-solid

Primary LanguageJavaScript

App

GymPass style app.

RFs (Requisitos funcionais)

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

RNs (Regras de negocios)

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

RNFs (Regras não-funcionais)

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