El proyecto tiene como objetivo abordar los problemas de comunicación y la pérdida de información que comúnmente se encuentran al coordinar trabajos académicos, como los Trabajos de Fin de Grado (TFG), a través del correo electrónico. Para resolver esto, se desarrolló una aplicación web que centraliza la gestión de proyectos académicos, ofreciendo funciones como asignación de roles, creación y gestión de TFG, asignación de estudiantes, subida de archivos, chat, videollamadas, gestión de tareas y generación de informes.
La plataforma está diseñada para optimizar la colaboración entre profesores y estudiantes, proporcionando una interfaz intuitiva y aprovechando tecnologías modernas para garantizar eficiencia, escalabilidad y adaptabilidad futura. Esencialmente, sirve como una solución integral para centralizar la información y simplificar la coordinación de proyectos académicos.
Este documento detalla los pasos necesarios para la instalación, configuración y ejecución de la plataforma web diseñada para la coordinación de trabajos académicos. Incluye información técnica relevante sobre los requisitos del sistema, configuración de archivos y otros aspectos clave del despliegue.
- Node.js: Versión recomendada 20.11.0. Puede descargarse desde Node.js.
- Git: Versión recomendada 2.39.1. Puede descargarse desde Git.
- Maven: Versión recomendada 3.9.7. Puede descargarse desde Apache Maven.
- MySQL Community Server: Versión recomendada 8.4.0. Puede descargarse desde MySQL.
- Configurar la base de datos MySQL e introducir la contraseña para el usuario "root".
- Actualizar NPM:
npm install npm -g
- Instalar dependencias del front-end:
cd TFG-CoordinacionTrabajosAcademicos/trabajos-academicos/frontend npm install
- Compilar el back-end:
cd TFG-CoordinacionTrabajosAcademicos/trabajos-academicos/back-end ./mvnw install -DskipTests
-
Base de datos: Asegurarse de que la base de datos MySQL está preparada y en ejecución (ya sea en local o en remoto) y los ficheros de configuración tengan los datos necesarios.
-
Front-end:
cd TFG-CoordinacionTrabajosAcademicos/trabajos-academicos/frontend npm start
Cuando aparezca el mensaje
VITE v4.5.3 ready
, abrir la URL proporcionada en el navegador. -
Back-end:
cd TFG-CoordinacionTrabajosAcademicos/trabajos-academicos/backend/target java -jar trabajos-academicos-0.0.1-SNAPSHOT.jar
La aplicación estará disponible cuando aparezca el mensaje:
Tomcat initialized with port 8080 (http)
. -
Navegador: Dirigirse con un navegador con soporte para WebRTC, como Mozilla Firefox o Google Chrome, a la dirección:
http://localhost:3000
Para detener el sistema, interrumpir los procesos en las terminales correspondientes.
Debe de crearse un archivo .env
en TFG-CoordinacionTrabajosAcademicos/trabajos-academicos/frontend
, y debe de contener las siguientes configuraciones:
VITE_PATH=http://localhost:3000
VITE_API=http://localhost:8080/api
VITE_FIREBASE_API_KEY=your_firebase_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain
VITE_FIREBASE_DATABASE_URL=your_firebase_database_url
VITE_FIREBASE_PROJECT_ID=your_firebase_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket
VITE_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id
VITE_FIREBASE_APP_ID=your_firebase_app_id
VITE_FIREBASE_MEASUREMENT_ID=your_firebase_measurement_id
VITE_ZEGOCLOUD_APP_ID=your_zegocloud_app_id
VITE_ZEGOCLOUD_SECRET_KEY=your_zegocloud_secret_key
El archivo application.properties
en TFG-CoordinacionTrabajosAcademicos/trabajos-academicos/backend/src/main/resources
incluye configuraciones como:
- Base de datos MySQL: Detalles de conexión.
- Hibernate: Configuraciones para ORM.
- Gmail SMTP: Credenciales para el servidor de correo.
- JWT: Clave para tokens de autenticación.
- CORS: Configuraciones para compartir recursos entre orígenes cruzados.
- HTTPS: Configuración para producción.
Es importante tener en cuenta que, aunque la aplicación se ejecuta en local, es necesario disponer de conexión a internet, ya que se utiliza un servidor remoto para almacenar y recuperar ficheros y/o datos, además de otro para poder comunicarnos mediante llamadas.