Ir ao contido principal

Trainium

Trainium é unha aplicación nativa de Android destinada á xestión integral dun ximnasio. Permite aos usuarios rexistrarse, reservar maquinaria, supervisar o seu progreso físico mediante o rexistro de peso e seguir os plans de nutrición. Conta cun sistema de subscrición Premium que amplía as funcionalidades dispoñibles, así como unha función de administrador con acceso á xestión do catálogo de maquinaria, reservas activas e moderación de pratos nutricionais.

Características principais​

A aplicación implementa as seguintes funcionalidades na súa versión final:

  • Autenticación de usuario mediante ID e contrasinal, con recuperación de credenciais por correo electrónico
  • Rexistro de novos usuarios con validación de campos (nome, DNI, correo electrónico, teléfono)
  • Sesión persistente entre arranques usando SharedPreferences cunha duración configurable de 7 días
  • Reserva de maquinaria con selección de data e franxa horaria, con detección de solapamentos e límite de 1 hora por reserva
  • Sistema de mantemento de maquinaria con cancelación automática das reservas afectadas
  • Notificacións automáticas de recordatorio de reserva anticipada configurables (10, 15, 30, 60 ou 120 minutos)
  • Exportar reservas ao calendario do dispositivo
  • Seguimento do peso con gráfico de evolución temporal
  • Catálogo de pratos nutricionais con sistema de suxestións por parte do usuario e moderación por parte do administrador
  • Subscrición Premium con tres tipos de prezos (mensual, semestral e anual) e rexistro de pago, con indicador de días restantes
  • Edición de perfil coa foto do usuario almacenada en Base64
  • Soporte de temas claros e escuros con persistencia de preferencias a través de DataStore
  • Compatible con varios idiomas con detección automática de idioma do sistema e selector manual (12 idiomas dispoñibles)
  • Pantalla de presentación animada con reprodución de vídeo introdutorio
  • Carga con pantallas de esqueleto durante as consultas da API

Pila de tecnoloxía​

CapaTecnoloxía
LinguaKotlin
IUJetpack Compose + Material 3
NavegaciónNavegación Compose 2.7.7
Backend principalSupabase (PostgreSQL) vía SDK oficial
Backend alternativoFirebase Data Connect (GraphQL)
AutenticaciónAuth Firebase (declarado)
Persistencia localPreferencias de Jetpack DataStore + SharedPreferences
InternacionalizaciónSistema de cadeas propio en Compose (i18n)
NotificaciónsAlarmManager + NotificationCompat
Sistema de construciónGradle (Kotlin DSL)
IDEAndroidStudio

Estrutura da documentación​

A instalación e a configuración cobren os requisitos do contorno de desenvolvemento, a clonación do repositorio e a configuración das credenciais de Supabase e Firebase necesarias para construír o proxecto.

Arquitectura describe a estrutura do módulo, o gráfico de navegación, a capa do repositorio e as decisións de deseño adoptadas.

Database documenta o esquema da táboa Supabase, as relacións de entidades e o esquema GraphQL de Firebase Data Connect.

Pantallas describe cada pantalla da aplicación, as súas responsabilidades e os fluxos de navegación.

Funcionalidades detalla a implementación de cada bloque funcional principal.

API e servizos ​​explica a integración con Supabase, Firebase Auth e Firebase Data Connect.

Deseño documenta o sistema de deseño, a paleta de cores, a tipografía e os compoñentes reutilizables da IU.

Implementación indica os pasos para xerar un APK de depuración ou liberación.

Referencia recolle o inventario de modelos de datos, constantes e clases de utilidade.