Enunciado del proyecto - MiguelMolina16/proyecto_grupos_estudio GitHub Wiki

Horacio es un estudiante universitario que acostumbra reunirse con sus compañeros para estudiar, preparar exámenes y realizar trabajos en grupo. Con el paso del tiempo, ha participado en diferentes grupos de estudio y en muchas reuniones, por lo que cada vez le resulta más difícil recordar quiénes pertenecen a cada grupo, cuándo se han reunido y quiénes han asistido a las diferentes sesiones.

Para solucionar este problema, Horacio quiere contar con un sistema que le permita organizar sus grupos de estudio y llevar un registro de las reuniones y de la asistencia de sus integrantes. La idea es que el sistema pueda ser utilizado principalmente por los estudiantes que participan en los grupos y que también pueda ser consultado por un docente que acompañe o supervise las actividades realizadas.

Horacio quiere tener un listado de grupos de estudio para guardar por cada uno su nombre, una descripción y los integrantes que lo conforman. La idea es que el sistema le permita crear nuevos grupos en cualquier momento, agregar o retirar integrantes y modificar la información del grupo cuando sea necesario. También debe poder eliminar un grupo cuando ya no se encuentre activo.

Cuando Horacio elige un grupo de la lista, debe poder ver su información, los integrantes que pertenecen a él y las reuniones que se han realizado. Para cada reunión, Horacio necesita almacenar la fecha, la hora, el lugar o modalidad en la que se realizó y una descripción de las actividades que se llevaron a cabo. La idea es que pueda crear nuevas reuniones para un grupo y, en caso de ser necesario, modificar o eliminar la información de una reunión.

Durante una reunión, Horacio necesita registrar cuáles de los integrantes participaron. Para cada asistencia se debe almacenar el estudiante que asistió, la reunión correspondiente y la información necesaria para conocer cuándo fue registrada. Un mismo estudiante no debe poder registrar asistencia más de una vez para una misma reunión.

A Horacio también le interesa conocer la participación de los integrantes a lo largo del tiempo. Por esta razón, le gustaría que el sistema mantuviera estadísticas de asistencia para los estudiantes de cada grupo. De esta manera, cada vez que se registre una nueva asistencia, las estadísticas puedan actualizarse automáticamente y Horacio pueda consultar cuántas reuniones ha asistido un estudiante y qué porcentaje de las reuniones de un grupo ha atendido.

En algunos casos, un docente puede estar interesado en conocer cómo está funcionando un grupo de estudio. Por esto, el sistema debe permitir consultar la información de los grupos, sus reuniones y las estadísticas de asistencia de sus integrantes, de manera que pueda conocer el nivel de participación de los estudiantes.

Horacio y sus compañeros pueden participar en varios grupos y reuniones, por lo que quieren poder encontrar la información que necesitan sin tener que revisar todos los registros. Para esto, el sistema debe permitir realizar las siguientes búsquedas:

Buscar grupos de estudio utilizando una parte del nombre. Buscar estudiantes utilizando una parte del nombre. Buscar reuniones de un grupo utilizando una fecha o un rango de fechas. Buscar las reuniones a las que ha asistido un estudiante. Consultar el historial de asistencia de un estudiante. Consultar las estadísticas de asistencia de los integrantes de un grupo.