- MyURJC
- Aplicación para el personal docente, administrativo y estudiantil de la Universidad Rey Juan Carlos que sirve para acceder a los servicios ofertados por esta.
- Situarse en el directorio raíz de este repositorio.
- Tener Docker abierto.
- Ejecutar:
docker build -t <tuUsuario>/reurjc -f ./Docker/App/Dockerfile .
- Ejecutar:
docker push <tuUsuario>/reurjc
- Ejecutar:
docker build -t <tuUsuario>/mymoodle -f ./Docker/Moodle/Dockerfile .
- Ejecutar:
docker push <tuUsuario>/mymoodle
Nota: Si ejecutas la app desde tu propia imagen, no podrás acceder a la funcionalidad de notificaciones push.
- Ejecutar Docker.
- Situarse en el directorio raíz del repositorio y ejecutar:
cd Docker/App
- Ejecutar:
docker-compose -p myurjc up -d
Si deseas ejecutar la app en Android:
- Asegurarse de tener instalado Android Studio.
- Situarse en el directorio Frontend de este repositorio:
cd Frontend/
- Ejecutar:
npx cap sync
- Ejecutar:
npx cap copy android
- Ejecutar:
npx cap run android
Si deseas acceder al aula virtual:
- Ejecutar localhost, se te redirigirá automáticamente.
- Llevar a cabo los pasos de configuración cuando se entra por primera vez.
- Ir a Site Administration > Server > Web Services > Manage protocols.
- Activar todos los protocolos y guardar cambios.
Nota: La correspondencia entre cursos y usuarios entre la app y el aula virtual es su ID.
Una vez inicializada la App, acceder al siguiente enlace
A continuación, se detallan los usuarios que se crean por defecto y sus roles correspondientes:
Nombre | Apellido | Segundo Apellido | DNI | Contraseña (sin cifrar) | Roles | |
---|---|---|---|---|---|---|
John | Doe | Smith | 12345678A | [email protected] | 123 | USER |
Jane | Doe | Smith | 87654321B | [email protected] | 123 | USER |
Lolazo | Doe | Smith | 87654321B | [email protected] | 123 | TEACHER |
Lolazo123 | Doe | Smith | 87654321B | [email protected] | 123 | ADMIN |
El diagrama se puede encontrar haciendo clic aquí.
- User: Esta clase representa a los usuarios de la aplicación y contiene toda su información relevante, como los tokens de los dispositivos sincronizados, sus datos personales y su rol dentro de la universidad.
- Subject: Esta clase representa las asignaturas de la universidad. Utiliza tablas intermedias para aportar información relevante como las convocatorias, los usuarios que pertenecen a las asignaturas, el horario y las notas de las diferentes tareas.
- Convocatory: Representa las convocatorias de los exámenes finales de las asignaturas.
- Schedule: El horario en el que se imparte una asignatura.
- Attendance: Entidad utilizada para crear los eventos de asistencia. También emplea tablas intermedias para registrar los usuarios que han asistido y la asignatura a la que pertenece el evento.
- Notification: Entidad encargada de almacenar los datos relevantes de las notificaciones recibidas.
- Event: Entidad que representa eventos temporales, como la votación de delegados o la postulación de delegados. Esta entidad permite flexibilidad para crear otros eventos temporales.
- Vote: Entidad que representa un voto emitido por un alumno hacia otro alumno.
- SportReservation: Entidad que almacena las reservas realizadas por los usuarios para utilizar alguna pista deportiva de la universidad.
- Festive: Entidad que representa los días no laborables de la universidad, diseñada para representar un día o una secuencia de días.
- News: Entidad que representa las noticias de la universidad.
- Anónimo
- Estudiante
- Personal docente
- Personal administrativo
-
Anónimo:
- Ver las noticias.
- Ver el calendario académico.
-
Estudiante:
- Todos los permisos de Anónimo.
- Ver sus calificaciones finales.
- Ver su carnet de estudiante.
- Ver su horario académico.
- Ver la información de los exámenes finales.
- Ver sus alertas.
- Reservar pistas deportivas.
- Postularse como delegado.
- Votar a un delegado.
- Registrar asistencia.
-
Personal docente:
- Todos los permisos de Anónimo.
- Todos los permisos de Estudiante menos:
- Ver sus calificaciones finales.
- Ver la información de exámenes finales.
- Ver sus alertas.
- Postularse y votar delegados.
- Registrar asistencia.
- Crear asistencias.
-
Personal administrativo:
- Todos los permisos de Anónimo.
- Ver las reservas activas.
- Ver el historial y los resultados de los eventos de votación de delegados.
El diagrama representa la secuencia de pantallas disponibles, teniendo en cuenta los permisos de los usuarios. Las flechas verdes indican pantallas disponibles únicamente para los estudiantes, las grises para todos los usuarios (incluyendo anónimos), las moradas para cualquier usuario perteneciente a alumnos o profesores y las rojas para los administradores. La pantalla de logueo aparece al intentar acceder a funcionalidades restringidas sin estar logueado o al pulsar sobre el botón login al acceder a la app.
El diagrama se puede encontrar haciendo clic aquí.
- Pantalla "Servicios": Permite a los usuarios acceder a los distintos servicios de la URJC:
- Pantalla "Reserva de cancha": Permite al usuario reservar pistas deportivas seleccionando el tipo de pista, fecha y hora. Solo se permiten reservas con al menos 24 horas de antelación. Si un horario ya está reservado, no aparece en la lista. Si el usuario tiene una reserva activa, esta se muestra junto con la opción de cancelarla. Al cancelar, el horario se libera para otros usuarios:
- Pantalla "Votar delegados": Permite votar a los candidatos en el proceso de elección. Solo está disponible cuando el evento está activo:
- Pantalla "Postularse como delegado": Permite a los usuarios postularse como delegados. Solo está disponible cuando el evento está activo:
- Pantalla "Gestión de asistencias": Los profesores pueden crear nuevas asistencias, generando un código válido durante 5 minutos. También pueden consultar las últimas 10 asistencias creadas. Los alumnos, por su parte, solo pueden introducir códigos. Si el código es correcto y se introduce a tiempo, se muestra una notificación de éxito. En caso contrario, se muestra un error:
- Pantalla "Eventos": En esta pantalla los administradores pueden consultar el historial de eventos y los resultados de las votaciones:
- Pantalla "Historial de reserva de pistas": En esta pantalla los administradores pueden consultar las reservas activas de todos los usuarios:
- Pantalla "Alertas": Muestra al usuario en tiempo real los cambios realizados por los profesores en el aula virtual sobre sus notas:
- Pantalla "Noticias": Permite al usuario leer las noticias de la universidad:
- Pantalla "Tiempos": Incluye funcionalidades relacionadas con los tiempos de la universidad:
- Pantalla "Calendario": Muestra el calendario académico con colores que indican días lectivos, fines de semana y días no lectivos:
- Pantalla "Exámenes finales": Muestra información sobre los exámenes finales de cada asignatura:
- Pantalla "Horario semanal": Muestra el horario semanal con información sobre las asignaturas del usuario:
- Pantalla "Perfil": Permite consultar las calificaciones finales y acceder al carnet de estudiante. Al seleccionar el carnet, se activa el NFC para compartir datos con dispositivos compatibles:
- Pantalla "Calificaciones finales": Muestra las calificaciones obtenidas en cada asignatura, desglosadas por tareas:
- Usuarios Anónimos: Click aquí
- Usuarios Estudiantes: Click aquí
- Usuarios Profesores: Click aquí
- Usuarios Administrador: Click aquí
- Funcionalidades móvil: Click aquí