EventPass - Rommel Romero
←Volver a proyectos
Full-stackBackend + aplicación móvil2026

EventPass

Sistema full-stack de gestión de eventos con backend Spring Boot, panel de administración, API REST y aplicación móvil Android para descubrir eventos y registrar asistentes.

Problema

Gestionar un catálogo de eventos requiere coordinar información sobre eventos, categorías, ubicaciones y asistentes. Además, mientras los administradores necesitan herramientas para gestionar y analizar esta información, los usuarios necesitan una forma sencilla de descubrir eventos y registrarse.

Solución

  • Spring Boot + Kotlin para desarrollar el backend y exponer una API REST para gestionar eventos, categorías, ubicaciones y asistentes.
  • Thymeleaf para construir el panel de administración con operaciones CRUD, métricas y estadísticas sobre los eventos.
  • Jetpack Compose + Ktor Client para desarrollar la aplicación Android y consumir la API REST desde el cliente móvil.
  • MySQL + Docker para gestionar la persistencia de los datos y disponer de un entorno de base de datos reproducible durante el desarrollo.

Funcionalidades

  • CRUD de eventos, categorías, ubicaciones y asistentes.
  • Dashboard de administración con métricas y estadísticas.
  • Consulta de próximos eventos y eventos más populares.
  • Filtrado de eventos por diferentes criterios.
  • Consulta del detalle de cada evento.
  • Registro de asistentes desde la aplicación móvil.
  • API REST para comunicación entre el backend y la aplicación Android.
  • Persistencia de datos mediante MySQL.
  • Entorno de base de datos dockerizado.

Decisiones Técnicas

La aplicación separa el backend, el panel de administración y el cliente móvil, utilizando una API REST como punto de comunicación entre las diferentes partes del sistema. Spring Boot gestiona la lógica del servidor y expone los endpoints consumidos por la aplicación Android mediante Ktor Client.

El panel de administración se desarrolla con Thymeleaf, permitiendo gestionar las principales entidades del sistema y mostrar información agregada sobre los eventos sin necesidad de crear una aplicación frontend independiente para la administración.

Además, la base de datos utiliza un modelo relacional en MySQL para representar eventos, categorías, ubicaciones y asistentes, mientras que Docker permite disponer de un entorno de base de datos reproducible durante el desarrollo.

Interfaz

Vista del proyecto