En el ámbito de las unidades formativas de Programación Web – Lado Servidor – y Lado Cliente, se propone el diseño de una aplicación web asp.net para un sistema de información para un Colegio.
Dicha aplicación deberá hacer uso de:
ASP.NET Core con arquitectura MVC (Model-View-Controller) con autenticación;
Patrón de repositorio;
Entity Framework Core para crear y administrar la base de datos en SQL Server;
Repositorio en github.
Implementación de todos los CRUD;
Sistema de autenticación completo (iniciar/cerrar sesión, registro de nuevo usuario, recuperación de contraseña por correo electrónico, etc.);
Creación de Roles con al menos 4 tipos de usuarios (administrador de toda la plataforma, empleado, estudiante y usuario anónimo);
Uso de al menos dos controles de terceros que no deben repetirse entre los alumnos (syncfusion, por ejemplo);
La aplicación debe ser funcional y estar en línea cuando se pruebe y se presente;
La aplicación no puede bajo ninguna circunstancia estallar ni mostrar pantallas de error de desarrollo, y debe crear todas las vistas para gestionar errores y conflictos graves.
Sistema frontal original adaptado al proyecto.
Implementación de un módulo de Estudiantes donde se insertarán y manipularán todos sus datos.
Implementación de un módulo de Clase y sus materias.
Implementación de un módulo de Notas.
Implementación del módulo de Consulta para estudiantes, clases y calificaciones.
El administrador del sistema sólo gestiona a otros usuarios, creándoles cuentas para que posteriormente puedan acceder a la plataforma. También pondrá a disposición cursos y materias.
Tenga en cuenta que durante el proceso de creación de la cuenta, cualquier usuario creado en el punto anterior recibirá primero un correo electrónico donde deberá cambiar su contraseña.
También debe existir un usuario empleado, quien creará el curso y elegirá las respectivas materias disponibles. Este tipo de usuario también será responsable de ingresar a los estudiantes y todas las calificaciones.
Finalmente, estarán los estudiantes, que además de poder cambiar su perfil, podrán consultar sus calificaciones y estado (aprobado/reprobado) en una determinada materia.
Los usuarios anónimos sólo pueden consultar los cursos, clases disponibles, así como las materias que los componen.
Funcionalidad | Administración | Empleado | Alumno | Anónimo |
---|---|---|---|---|
Acceso | incógnita | incógnita | incógnita | |
Crear cuentas y agregar otros usuarios | incógnita | |||
Curso CRUD | incógnita | |||
CRUD de disciplinas / ufcd's | incógnita | incógnita | ||
CRUD de alumnos y notas | incógnita | |||
Modificar perfil | incógnita | incógnita | incógnita | |
recuperar contraseña | incógnita | incógnita | incógnita | |
Consultar notas | incógnita | |||
Consulta tus notas | incógnita | |||
Ver cursos y materias disponibles | incógnita |
Todo usuario, a excepción de los usuarios anónimos, debe tener la posibilidad de tener una foto de perfil.
Para los estudiantes, esta foto es obligatoria y es diferente a la foto de perfil que también puedan tener.
Al autenticarse, el administrador debe ser dirigido inmediatamente a un tablero donde deben aparecer las alertas lanzadas por los empleados reportando posibles problemas con la plataforma como, por ejemplo, faltar a un curso o materia requerida para ello.
Todos los estudiantes también tendrán un campo de faltas por materia que, al fijar un porcentaje por parte del administrador, les permite obtener el estatus de excluidos por faltas en esa misma materia.
Debe respetarse el no eliminar y actualizar en cascada, requiriendo comunicación entre los distintos usuarios.
También se debe crear y publicar una API web que envíe a todos los estudiantes de una clase solicitada.
Aplicación de todas las funcionalidades mínimas descritas anteriormente: 15 valores
Compromisos semanales (todos los lunes, durante el período de entrenamiento, a partir del 19/06) – 2 puntos
Funciones adicionales: 3 valores
Se descontará 1 importe por cada día posterior a la fecha límite de entrega.
Fecha límite de entrega – 15/09/2023
La presentación se programará más tarde.