Pular para o conteúdo principal

Treinamento

Trainium é um aplicativo Android nativo voltado para a gestão integral de uma academia. Permite ao usuário cadastrar-se, reservar máquinas, monitorar seu progresso físico por meio do registro de peso e seguir planos nutricionais. Possui sistema de assinatura Premium que amplia as funcionalidades disponíveis, além de função de administrador com acesso à gestão do catálogo de máquinas, reservas ativas e moderação de pratos nutricionais.

Principais recursos​

A aplicação implementa as seguintes funcionalidades na sua versão final:

  • Autenticação de usuário através de ID e senha, com recuperação de credenciais por e-mail
  • Cadastro de novos usuários com validação de campos (nome, RG, email, telefone)
  • Sessão persistente entre inicializações usando SharedPreferences com duração configurável de 7 dias
  • Reserva de máquinas com seleção de data e horário, com detecção de sobreposições e limite de 1 hora por reserva
  • Sistema de manutenção de máquinas com cancelamento automático de reservas afetadas
  • Notificações push de lembrete de reserva antecipada configuráveis (10, 15, 30, 60 ou 120 minutos)
  • Exportar reservas para o calendário do dispositivo
  • Acompanhamento de peso com gráfico de evolução temporal
  • Catálogo de pratos nutritivos com sistema de sugestões do usuário e moderação do administrador
  • Assinatura premium com três modalidades de preços (mensal, semestral e anual) e registro de pagamento, com indicador de dias restantes
  • Edição de perfil com foto do usuário armazenada em Base64
  • Suporte a temas claros e escuros com persistência de preferência via DataStore
  • Suporte multilíngue com detecção automática de idioma do sistema e seletor manual (12 idiomas disponíveis)
  • Tela inicial animada com reprodução de vídeo introdutório
  • Carregar telas de esqueleto durante consultas de API

Pilha de tecnologia​

CamadaTecnologia
IdiomaKotlin
IUJetpack Compose + Material 3
NavegaçãoNavegação Compose 2.7.7
Back-end principalSupabase (PostgreSQL) via SDK oficial
Back-end alternativoConexão de dados do Firebase (GraphQL)
AutenticaçãoFirebase Auth (declarado)
Persistência localPreferências do Jetpack DataStore + Preferências Compartilhadas
InternacionalizaçãoSistema de strings próprio no Compose (i18n)
NotificaçõesAlarmManager + NotificationCompat
Sistema de construçãoGradle (KotlinDSL)
IDEAndroidStudio

Estrutura da documentação​

Instalação e configuração cobrem os requisitos do ambiente de desenvolvimento, clonagem do repositório e configuração das credenciais Supabase e Firebase necessárias para construir o projeto.

Arquitetura descreve a estrutura do módulo, o gráfico de navegação, a camada de repositório e as decisões de design adotadas.

Banco de dados documenta o esquema da tabela Supabase, os relacionamentos entre entidades e o esquema GraphQL do Firebase Data Connect.

Telas descreve cada tela do aplicativo, suas responsabilidades e fluxos de navegação.

Funcionalidades detalha a implementação de cada bloco funcional principal.

API e serviços explica a integração com Supabase, Firebase Auth e Firebase Data Connect.

Design documenta o sistema de design, a paleta de cores, a tipografia e os componentes de UI reutilizáveis.

Implantação indica as etapas para gerar um APK de depuração ou lançamento.

Referência coleta o inventário de modelos de dados, constantes e classes de utilitários.