¡Bienvenidos al proyecto de gestión de datos de la Fórmula 1 2024!
Aplicación Java para consultar pilotos, equipos y resultados usando POO.
- Modelado de entidades:
- Clases:
Equipo,Piloto,Circuito,Carreracon herencia y encapsulación.
- Clases:
- Datos oficiales 2024:
- Datos inicialmente cargados desde APIs oficiales y almacenados en JSON
- Sistema de datos precargados para consulta rápida y offline
- Consultas dinámicas:
- Tabla de posiciones del Mundial de Pilotos y Constructores
- Resultados por carrera (posición de salida y llegada)
- Detalles completos de pilotos/equipos
- Documentación completa:
- Diagramas UML + explicación de métodos/atributos en español
- Java Development Kit (JDK): Versión 21
- Maven: Para gestión de dependencias
- Principios POO:
- Herencia (ej:
Piloto extends Persona) - Encapsulación (atributos privados con getters/setters)
- Polimorfismo (sobrescritura de métodos)
- Herencia (ej:
src/
├── main/java/
│ ├── model/ → Clases POJO (Equipo.java, Piloto.java)
│ ├── api/ → Cliente API histórico (usado inicialmente)
│ ├── data/ → Persistencia y datos precargados
│ └── ui/ → Interfaz consola (MainUI.java)
├── test/java/ → Tests unitarios
data/ → Archivos JSON con datos oficiales
docs/ → Documentación
├── uml/ → Diagramas UML
└── screenshots/ → Capturas de consultas
- Clonar el repositorio:
git clone https://github.com/FreddyB200/proyecto-F1-POO.git cd proyecto-F1-POO - Compilar con Maven:
mvn clean install
- Ejecutar:
java -jar target/proyecto-F1-POO.jar
- Mostrar lista de pilotos
- Ver clasificación de pilotos
- Ver clasificación de constructores
- Ver calendario de carreras
- Ver estadísticas detalladas de piloto
- Ver resultados por carrera
- Ver próxima carrera
- Ver información de equipo
- Salir
Cada opción proporciona información detallada y actualizada de la temporada 2024.
El proyecto se desarrolló en tres fases principales:
-
Fase Inicial - Carga de Datos:
- Integración con APIs de F1 (Ergast y OpenF1)
- Recopilación y validación de datos oficiales
- Almacenamiento en formato JSON
-
Fase Actual - Sistema Offline:
- Datos precargados para acceso rápido
- Sin dependencia de APIs externas
- Optimizado para consultas locales
-
Mantenimiento:
- Documentación detallada del proceso
- Sistema preparado para actualizaciones manuales
- Preservación de la arquitectura original
Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE.md para más detalles.
- Freddy Bautista - Desarrollo de APIs y conexiones externas
- Javier Esquivel - Modelado de datos y persistencia
- Sebastian Viloria - Interfaz de usuario y documentación
Este proyecto es parte del curso de Programación Orientada a Objetos.
- Datos oficiales: Formula1.com
- Documentación completa en
/docs