From f5db3b711afd42a044223722b214b5a8bb784204 Mon Sep 17 00:00:00 2001 From: ltisocco Date: Tue, 21 Apr 2026 11:27:33 -0300 Subject: [PATCH 1/4] Draft de propuesta inicial --- proposal.md | 74 ++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 59 insertions(+), 15 deletions(-) diff --git a/proposal.md b/proposal.md index 20c0a5b5ee..3607cc7515 100644 --- a/proposal.md +++ b/proposal.md @@ -1,7 +1,10 @@ -# Propuesta TP DSW +# Propuesta TP DSW 2026 - COM 305 - GesThor ## Grupo ### Integrantes +* 43187 - Tisocco, Lucas Maximiliano +* legajo - Apellido(s), Nombre(s) +* legajo - Apellido(s), Nombre(s) * legajo - Apellido(s), Nombre(s) ### Repositorios @@ -11,33 +14,74 @@ ## Tema ### Descripción -*2 a 6 líneas describiendo el negocio (menos es más)* +Sistema de gestión de recursos humanos orientado al control de horas laborales. Permite a empleados registrar sus horas trabajadas asociadas a proyectos de clientes, mientras que el área de RRHH administra empleados, clientes y proyectos, verifica la carga horaria y gestiona la asignación de personal a cada proyecto. ### Modelo -![imagen del modelo]() -*Nota*: incluir un link con la imagen de un modelo, puede ser modelo de dominio, diagrama de clases, DER. Si lo prefieren pueden utilizar diagramas con [Mermaid](https://mermaid.js.org) en lugar de imágenes. +```mermaid +erDiagram + EMPLEADO { + int id PK + string dni + string nomyape + date fecha_nac + string categoria + string num_tel + string rol + string user + string pass + } + CLIENTE { + int id_cliente PK + string razon_social + string cuit + string tel + string mail + } + PROYECTO { + int id_proyecto PK + string nombre_proyecto + int proyecto_horas + date fecha_ini_proy + date fecha_fin_proy + } + REGISTRO_HORAS { + int id_registro PK + string desc_tareas + float cant_horas_trab + date fecha + } + ASIGNACION { + int id_asignacion PK + date fecha_ini + date fecha_fin + } + + EMPLEADO ||--o{ ASIGNACION : "participa en" + PROYECTO ||--o{ ASIGNACION : "tiene asignados" + CLIENTE ||--o{ PROYECTO : "contrata" + EMPLEADO ||--o{ REGISTRO_HORAS : "registra" + PROYECTO ||--o{ REGISTRO_HORAS : "recibe horas de" +``` ## Alcance Funcional ### Alcance Mínimo -*Nota*: el siguiente es un ejemplo para un grupo de 3 integrantes para un sistema de hotel. El - Regularidad: |Req|Detalle| |:-|:-| -|CRUD simple|1. CRUD Tipo Habitacion
2. CRUD Servicio
3. CRUD Localidad| -|CRUD dependiente|1. CRUD Habitación {depende de} CRUD Tipo Habitacion
2. CRUD Cliente {depende de} CRUD Localidad| -|Listado
+
detalle| 1. Listado de habitaciones filtrado por tipo de habitación, muestra nro y tipo de habitación => detalle CRUD Habitacion
2. Listado de reservas filtrado por rango de fecha, muestra nro de habitación, fecha inicio y fin estadía, estado y nombre del cliente => detalle muestra datos completos de la reserva y del cliente| -|CUU/Epic|1. Reservar una habitación para la estadía
2. Realizar el check-in de una reserva| +| CRUD simple | 1. CRUD Empleado 2. CRUD Cliente 3. CRUD Categoría de Empleado | +| CRUD dependiente | 1. CRUD Proyecto {depende de} CRUD Cliente 2. CRUD Asignación {depende de} CRUD Empleado y CRUD Proyecto 3. CRUD Registro de Horas {depende de} CRUD Empleado y CRUD Proyecto | +| Listado + detalle | 1. Listado de proyectos filtrado por cliente, muestra nombre del proyecto, fechas y horas estimadas => detalle muestra datos completos del proyecto, cliente y empleados asignados 2. Listado de registros de horas filtrado por empleado y rango de fecha, muestra nombre del empleado, proyecto, fecha y horas cargadas => detalle muestra descripción completa de la tarea | +| CUU/Epic | 1. Registrar horas trabajadas en un proyecto (Empleado) 2. Asignar empleado a un proyecto (Admin RRHH) 3. Verificar y aprobar carga horaria de un empleado (Admin RRHH) 4. Consultar resumen de horas por proyecto (Admin RRHH) | Adicionales para Aprobación |Req|Detalle| |:-|:-| -|CRUD |1. CRUD Tipo Habitacion
2. CRUD Servicio
3. CRUD Localidad
4. CRUD Provincia
5. CRUD Habitación
6. CRUD Empleado
7. CRUD Cliente| -|CUU/Epic|1. Reservar una habitación para la estadía
2. Realizar el check-in de una reserva
3. Realizar el check-out y facturación de estadía y servicios| +| CRUD | 1. CRUD Empleado 2. CRUD Cliente 3. CRUD Categoría de Empleado 4. CRUD Proyecto 5. CRUD Asignación 6. CRUD Registro de Horas | +| CUU/Epic | 1. Registrar horas trabajadas en un proyecto (Empleado) 2. Asignar empleado a un proyecto (Admin RRHH) 3. Verificar y aprobar carga horaria de un empleado (Admin RRHH) 4. Consultar resumen de horas por proyecto (Admin RRHH) 5. Login con autenticación propia y control de acceso por rol (Admin / Empleado) | ### Alcance Adicional Voluntario @@ -46,7 +90,7 @@ Adicionales para Aprobación |Req|Detalle| |:-|:-| -|Listados |1. Estadía del día filtrado por fecha muestra, cliente, habitaciones y estado
2. Reservas filtradas por cliente muestra datos del cliente y de cada reserve fechas, estado cantidad de habitaciones y huespedes| -|CUU/Epic|1. Consumir servicios
2. Cancelación de reserva| -|Otros|1. Envío de recordatorio de reserva por email| +| Listados | 1. Dashboard de horas por proyecto filtrado por mes, muestra empleados, horas cargadas y porcentaje de avance sobre el estimado 2. Historial de asignaciones de un empleado, muestra proyectos en los que participó con fechas y horas totales registradas | +| CUU/Epic | 1. Notificación por email al empleado cuando es asignado a un proyecto 2. Exportar reporte de horas de un proyecto en formato CSV | +| Otros | 1. Contador de horas diarias disponibles por empleado con alerta visual al superar el límite | From afa3c18b5fb5da995bb8012e67834dcb432f9673 Mon Sep 17 00:00:00 2001 From: ltisocco Date: Tue, 21 Apr 2026 11:41:19 -0300 Subject: [PATCH 2/4] Fix initial proposal draft --- proposal.md | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/proposal.md b/proposal.md index 3607cc7515..ed1dfbeddc 100644 --- a/proposal.md +++ b/proposal.md @@ -10,7 +10,6 @@ ### Repositorios * [frontend app](http://hyperlinkToGihubOrGitlab) * [backend app](http://hyperlinkToGihubOrGitlab) -*Nota*: si utiliza un monorepo indicar un solo link con fullstack app. ## Tema ### Descripción @@ -71,26 +70,24 @@ erDiagram Regularidad: |Req|Detalle| |:-|:-| -| CRUD simple | 1. CRUD Empleado 2. CRUD Cliente 3. CRUD Categoría de Empleado | -| CRUD dependiente | 1. CRUD Proyecto {depende de} CRUD Cliente 2. CRUD Asignación {depende de} CRUD Empleado y CRUD Proyecto 3. CRUD Registro de Horas {depende de} CRUD Empleado y CRUD Proyecto | -| Listado + detalle | 1. Listado de proyectos filtrado por cliente, muestra nombre del proyecto, fechas y horas estimadas => detalle muestra datos completos del proyecto, cliente y empleados asignados 2. Listado de registros de horas filtrado por empleado y rango de fecha, muestra nombre del empleado, proyecto, fecha y horas cargadas => detalle muestra descripción completa de la tarea | -| CUU/Epic | 1. Registrar horas trabajadas en un proyecto (Empleado) 2. Asignar empleado a un proyecto (Admin RRHH) 3. Verificar y aprobar carga horaria de un empleado (Admin RRHH) 4. Consultar resumen de horas por proyecto (Admin RRHH) | +| CRUD simple | 1. CRUD Empleado
2. CRUD Cliente
3. CRUD Categoría de Empleado | +| CRUD dependiente | 1. CRUD Proyecto {depende de} CRUD Cliente
2. CRUD Asignación {depende de} CRUD Empleado y CRUD Proyecto
3. CRUD Registro de Horas {depende de} CRUD Empleado y CRUD Proyecto | +| Listado
+
detalle | 1. Listado de proyectos filtrado por cliente, muestra nombre del proyecto, fechas y horas estimadas => detalle muestra datos completos del proyecto, cliente y empleados asignados
2. Listado de registros de horas filtrado por empleado y rango de fecha, muestra nombre del empleado, proyecto, fecha y horas cargadas => detalle muestra descripción completa de la tarea | +| CUU/Epic | 1. Registrar horas trabajadas en un proyecto (Empleado)
2. Asignar empleado a un proyecto (Admin RRHH)
3. Verificar y aprobar carga horaria de un empleado (Admin RRHH)
4. Consultar resumen de horas por proyecto (Admin RRHH) | Adicionales para Aprobación |Req|Detalle| |:-|:-| -| CRUD | 1. CRUD Empleado 2. CRUD Cliente 3. CRUD Categoría de Empleado 4. CRUD Proyecto 5. CRUD Asignación 6. CRUD Registro de Horas | -| CUU/Epic | 1. Registrar horas trabajadas en un proyecto (Empleado) 2. Asignar empleado a un proyecto (Admin RRHH) 3. Verificar y aprobar carga horaria de un empleado (Admin RRHH) 4. Consultar resumen de horas por proyecto (Admin RRHH) 5. Login con autenticación propia y control de acceso por rol (Admin / Empleado) | +| CRUD | 1. CRUD Empleado
2. CRUD Cliente
3. CRUD Categoría de Empleado
4. CRUD Proyecto
5. CRUD Asignación
6. CRUD Registro de Horas | +| CUU/Epic | 1. Registrar horas trabajadas en un proyecto (Empleado)
2. Asignar empleado a un proyecto (Admin RRHH)
3. Verificar y aprobar carga horaria de un empleado (Admin RRHH)
4. Consultar resumen de horas por proyecto (Admin RRHH)
5. Login con autenticación propia y control de acceso por rol (Admin / Empleado) | ### Alcance Adicional Voluntario -*Nota*: El Alcance Adicional Voluntario es opcional, pero ayuda a que la funcionalidad del sistema esté completa y será considerado en la nota en función de su complejidad y esfuerzo. - |Req|Detalle| |:-|:-| -| Listados | 1. Dashboard de horas por proyecto filtrado por mes, muestra empleados, horas cargadas y porcentaje de avance sobre el estimado 2. Historial de asignaciones de un empleado, muestra proyectos en los que participó con fechas y horas totales registradas | -| CUU/Epic | 1. Notificación por email al empleado cuando es asignado a un proyecto 2. Exportar reporte de horas de un proyecto en formato CSV | +| Listados | 1. Dashboard de horas por proyecto filtrado por mes, muestra empleados, horas cargadas y porcentaje de avance sobre el estimado
2. Historial de asignaciones de un empleado, muestra proyectos en los que participó con fechas y horas totales registradas | +| CUU/Epic | 1. Notificación por email al empleado cuando es asignado a un proyecto
2. Exportar reporte de horas de un proyecto en formato CSV | | Otros | 1. Contador de horas diarias disponibles por empleado con alerta visual al superar el límite | From d9569ef7106b00c1a30f3531f85e3d3371adf5f1 Mon Sep 17 00:00:00 2001 From: ltisocco Date: Mon, 4 May 2026 19:44:09 -0300 Subject: [PATCH 3/4] fix proposal --- proposal.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/proposal.md b/proposal.md index ed1dfbeddc..20b2144e63 100644 --- a/proposal.md +++ b/proposal.md @@ -3,9 +3,9 @@ ## Grupo ### Integrantes * 43187 - Tisocco, Lucas Maximiliano -* legajo - Apellido(s), Nombre(s) -* legajo - Apellido(s), Nombre(s) -* legajo - Apellido(s), Nombre(s) +* 51315 - Pontelli, Juan Martin +* 42786 - Cuesta, Juan Ignacio +* 41421 - Romero, Emmanuel Nicolas ### Repositorios * [frontend app](http://hyperlinkToGihubOrGitlab) @@ -13,7 +13,7 @@ ## Tema ### Descripción -Sistema de gestión de recursos humanos orientado al control de horas laborales. Permite a empleados registrar sus horas trabajadas asociadas a proyectos de clientes, mientras que el área de RRHH administra empleados, clientes y proyectos, verifica la carga horaria y gestiona la asignación de personal a cada proyecto. +Sistema de gestión de recursos humanos orientado al control de horas laborales en entornos de consultoría y servicios profesionales. El sistema contempla dos perfiles de usuario: administrador (RRHH) y empleado, cada uno con credenciales de acceso propias y funcionalidades diferenciadas según su rol. Los empleados registran sus horas laborales diarias asociadas a proyectos de clientes, mientras que el administrador supervisa y valida dichas cargas horarias, monitorea el estado de avance de los proyectos y gestiona la asignación de personal. El sistema incluye además un contador de horas diarias disponibles por empleado, facilitando el seguimiento de la capacidad operativa del equipo. ### Modelo @@ -87,7 +87,7 @@ Adicionales para Aprobación |Req|Detalle| |:-|:-| -| Listados | 1. Dashboard de horas por proyecto filtrado por mes, muestra empleados, horas cargadas y porcentaje de avance sobre el estimado
2. Historial de asignaciones de un empleado, muestra proyectos en los que participó con fechas y horas totales registradas | -| CUU/Epic | 1. Notificación por email al empleado cuando es asignado a un proyecto
2. Exportar reporte de horas de un proyecto en formato CSV | +| Listados | 1. Dashboard de horas por proyecto filtrado por mes, muestra empleados, horas cargadas y porcentaje de avance sobre el estimado
2. Historial de asignaciones de un empleado, muestra proyectos en los que participó con fechas y horas totales registradas
3. Notificacion por email al empleado confirmando aprobacion de horas laborales | +| CUU/Epic | 1. Notificación por email al empleado cuando es asignado a un proyecto
2. Exportar reporte de horas de un proyecto en formato CSV
4. Notificacion por correo para reestablecer la contraseña| | Otros | 1. Contador de horas diarias disponibles por empleado con alerta visual al superar el límite | From 0d26c1e7d96417e86e652fd3f3d9089d4ff5812e Mon Sep 17 00:00:00 2001 From: Lucas Tisocco <63265985+lucastisocco@users.noreply.github.com> Date: Mon, 4 May 2026 19:46:31 -0300 Subject: [PATCH 4/4] Update model image proposal.md --- proposal.md | 46 +--------------------------------------------- 1 file changed, 1 insertion(+), 45 deletions(-) diff --git a/proposal.md b/proposal.md index 20b2144e63..31d8fb1acf 100644 --- a/proposal.md +++ b/proposal.md @@ -17,51 +17,7 @@ Sistema de gestión de recursos humanos orientado al control de horas laborales ### Modelo -```mermaid -erDiagram - EMPLEADO { - int id PK - string dni - string nomyape - date fecha_nac - string categoria - string num_tel - string rol - string user - string pass - } - CLIENTE { - int id_cliente PK - string razon_social - string cuit - string tel - string mail - } - PROYECTO { - int id_proyecto PK - string nombre_proyecto - int proyecto_horas - date fecha_ini_proy - date fecha_fin_proy - } - REGISTRO_HORAS { - int id_registro PK - string desc_tareas - float cant_horas_trab - date fecha - } - ASIGNACION { - int id_asignacion PK - date fecha_ini - date fecha_fin - } - - EMPLEADO ||--o{ ASIGNACION : "participa en" - PROYECTO ||--o{ ASIGNACION : "tiene asignados" - CLIENTE ||--o{ PROYECTO : "contrata" - EMPLEADO ||--o{ REGISTRO_HORAS : "registra" - PROYECTO ||--o{ REGISTRO_HORAS : "recibe horas de" -``` +image ## Alcance Funcional