FormulAPP1 es una aplicación Android desarrollada con Kotlin y Jetpack Compose que permite consultar información detallada sobre la Formula 1: clasificaciones de pilotos y constructores, circuitos, eventos y más. Está diseñada para los aficionados de la F1 que buscan una herramienta completa, visual y personalizable.
- Consulta de clasificaciones actualizadas de pilotos y escuderías.
- Fichas detalladas de pilotos, escuderías y circuitos.
- Selección de piloto y escudería favoritos.
- Personalización de idioma (español, euskera, inglés) y tema (oscuro/claro).
- Visualización de mapas con Google Maps o MapLibre (según build).
- Recarga manual de datos mediante pull-to-refresh o menú.
- Sistema de navegación por pestañas
La app está basada en la arquitectura MVVM + Clean Architecture, estructurada por capas bien separadas (UI, Dominio, Datos, Inyección, etc.):
FormulAPP1/
├── common/
├── data/
│ ├── local/
│ ├── remote/
│ ├── mappers/
│ ├── repository/
│ └── usecases/
├── di/
├── domain/
│ ├── models/
│ ├── repository/
│ └── usecases/
└── ui/
Cada capa incluye responsabilidades bien definidas, con uso extensivo de casos de uso, mapeadores, DAOs y ViewModels específicos.
- Kotlin y Jetpack Compose: Desarrollo declarativo y moderno.
- Room: Persistencia local de datos.
- Retrofit: Llamadas a API REST.
- Dagger Hilt: Inyección de dependencias.
- Coil: Carga eficiente de imágenes.
- Google Maps / MapLibre: Renderizado de mapas.
- DataStore & SharedPreferences: Almacenamiento de preferencias.
- Multilenguaje: Soporte para tres idiomas: español, inglés y euskera.
- Gradle Flavors: Compatibilidad con Google Maps y OpenStreetMap.
- Arquitectura limpia y modular.
- Notificaciones programadas (con
NotificationHelper). - Gestión de favoritos sincronizada con persistencia local.
- Dark mode: Soporte de temas claros y oscuros.
- Vincular los resultados de carrera con cada evento concreto.
- Mejorar el look & feel (fuentes, estética general).
- Modularizar el proyecto con múltiples módulos Gradle.
- Explorar más opciones avanzadas en configuración de Gradle.
- Clona el repositorio:
git clone https://github.com/anderpri-dev/FormulAPP1-Android.git
- Abre el proyecto en Android Studio.
- Asegúrate de tener configurado un emulador o dispositivo físico con Android 12+.
- Compila y ejecuta.
Requiere conexión a internet para cargar los datos desde la API.
Ander Prieto
Máster en Informática Móvil – Universidad Pontificia de Salamanca
Este proyecto es de carácter académico. Algunos recursos visuales o de datos pueden estar sujetos a derechos de autor de terceros (ej. Formula 1).