FutbolAI es una aplicación web orientada al mundo del fútbol que combina contenido informativo, gestión de usuarios y funciones apoyadas por inteligencia artificial. El proyecto está dividido en dos partes:
FrontEnd: interfaz web construida con React y Vite.Backend: API construida con Node.js y Express, conectada a MySQL.
La plataforma incluye módulos como noticias, partidos, tabla de posiciones, centro social, tablero de mensajes y un oráculo con funciones de predicción y consulta.
- Visualización de noticias de fútbol.
- Consulta de partidos y equipos.
- Tabla de posiciones.
- Inicio de sesión y registro de usuarios.
- Centro social con seguimiento entre usuarios.
- Tablero global de mensajes.
- Administración de usuarios, equipos, partidos y noticias.
- Carga y descarga de archivos desde el servidor.
- Módulo "Oráculo" con integración de IA.
06_FutbolAI/
|-- FrontEnd/
| |-- src/
| |-- public/
| |-- package.json
|
|-- Backend/
| |-- controllers/
| |-- routes/
| |-- BaseD/
| |-- public/
| |-- server.js
| |-- .env
| |-- package.json
|
|-- README.md
- React
- Vite
- Node.js
- Express
- MySQL
- Axios
- TensorFlow.js
Antes de ejecutar el proyecto, asegúrate de tener instalado:
- Node.js
- npm
- MySQL Server o XAMPP con MySQL/MariaDB
Para ver FutbolAI funcionando localmente debes iniciar el backend y el frontend por separado.
Abre una terminal en la carpeta FrontEnd y ejecuta:
cd "\06_FutbolAI\FrontEnd"
npm installAbre otra terminal en la carpeta Backend y ejecuta:
cd "\06_FutbolAI\Backend"
npm installDebes tener MySQL activo antes de iniciar el backend.
Si usas XAMPP:
- Abre XAMPP Control Panel.
- Inicia el módulo
MySQL.
Si usas MySQL Server:
- Verifica que el servicio de MySQL esté ejecutándose.
Desde la carpeta Backend ejecuta:
node server.jsEl backend corre en:
http://localhost:3001
Durante el arranque, el servidor:
- inicializa la base de datos,
- crea las tablas si no existen,
- inserta datos base,
- intenta cargar equipos desde una API externa,
- genera partidos por defecto.
Desde la carpeta FrontEnd ejecuta:
npm run devVite mostrará una URL en consola, normalmente:
http://localhost:5173
Abre esa URL en tu navegador para visualizar la página.
La conexión a MySQL se configura en el archivo:
Backend/.env
Las variables que usa el backend son:
DB_HOST=localhost
DB_PORT=3306
DB_USER=tu_usuario
DB_PASSWORD=tu_contrasena
DB_NAME=futbol_aiSi en tu MySQL trabajas con root, configura el .env con tus datos reales. Por ejemplo:
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=
DB_NAME=futbol_aiEsto funciona si tu usuario root no tiene contraseña o si escribes la contraseña correcta.
El archivo Backend/BaseD/init.sql contiene instrucciones para crear la base de datos y también un usuario dedicado. Si prefieres usar un usuario exclusivo para FutbolAI, puedes cambiar el .env a ese usuario después de crearlo en MySQL.
Ejemplo:
DB_HOST=localhost
DB_PORT=3306
DB_USER=un_usr
DB_PASSWORD=una_clave
DB_NAME=futbol_aiCuando ejecutas node server.js, el backend lanza el script de inicialización definido en Backend/BaseD/initDB.js.
Ese script:
- crea la base de datos
futbol_aisi no existe, - ejecuta el contenido de
Backend/BaseD/init.sql, - crea las tablas principales,
- inserta datos iniciales de usuarios, noticias, seguidores y mensajes.
Esto significa que no necesitas crear manualmente todas las tablas si la conexión a MySQL está bien configurada.
El backend utiliza servicios externos para algunas funciones:
- API de fútbol para cargar equipos.
- servicio de correo para recuperación de contraseña.
- servicio de IA para el módulo del oráculo.
Estas integraciones se configuran también desde el archivo .env.
Importante:
- No compartas públicamente claves API, contraseñas ni credenciales de correo.
- Si el proyecto se va a subir a GitHub, es recomendable excluir o limpiar el archivo
.env.
Revisa:
- que MySQL esté encendido,
- que el puerto
3306sea correcto, - que el usuario y contraseña del
.envcoincidan con tu instalación.
Revisa:
- que el backend esté corriendo en
http://localhost:3001, - que no haya errores en la terminal del backend,
- que la base de datos haya iniciado correctamente.
Revisa:
- que Node.js esté instalado,
- que
npmfuncione desde la terminal, - que estés ejecutando el comando dentro de la carpeta correcta.
Cada vez que quieras trabajar en el proyecto:
- Inicia MySQL.
- Ejecuta
node server.jsenBackend. - Ejecuta
npm run devenFrontEnd. - Abre
http://localhost:5173en el navegador.
- El frontend consume el backend usando la URL
http://localhost:3001. - Si el backend no está activo, varias vistas del frontend no mostrarán información.
- Algunas funciones dependen de internet y de claves configuradas en el
.env.
Proyecto colaborativo desarrollado en la asignatura Programación en la Web
Universidad Industrial de Santander (UIS).
Integrantes del equipo:
- Sofia Victoria Vega Suarez (@codebysofiav)
- Ivan Augusto Camargo (@popcorner893)
- Nicolás Linares Rojas
- Andres David Garcia Hernandez