📊 Sistema académico desarrollado para la materia Laboratorio de Desarrollo de Software (UNPA)
👥 Team:
GRCU Manager es una aplicación web construida con Django 5.2.6 que permite gestionar de forma ordenada los requerimientos y casos de uso de un proyecto de software.
Su propósito principal es ofrecer a equipos de desarrollo una herramienta práctica para documentar, organizar y priorizar la información clave durante la etapa de análisis, manteniendo un historial de cambios y una matriz de trazabilidad completa. El sistema soporta tanto metodologías tradicionales como ágiles, proporcionando herramientas especializadas para cada enfoque.
El proyecto incluye dashboards interactivos con métricas detalladas, sistema de autenticación basado en email, roles diferenciados (Administrador, Líder, Desarrollador, Stakeholder, Visitante), y funcionalidades avanzadas como validación de requerimientos, comentarios en hilos, y exportación de reportes en múltiples formatos.
- ✅ Sistema de Autenticación: Autenticación basada en email con roles diferenciados (Administrador, Líder, Desarrollador, Stakeholder, Visitante)
- ✅ Dashboards Interactivos:
- Dashboard del Líder con métricas completas (requerimientos totales, casos de uso, huérfanos, sin validar, completados, sin completar)
- Dashboard del Desarrollador personalizado por proyectos asignados
- ✅ Registrar y administrar requerimientos y casos de uso de software
- ✅ Asignar prioridades con la técnica MoSCoW (Must, Should, Could, Won't)
- ✅ Mantener historial de cambios y versiones en cada requerimiento
- ✅ Definir dependencias entre requerimientos
- ✅ Agrupar requerimientos mediante categorías o etiquetas
- ✅ Generar una matriz de trazabilidad que vincule requerimientos con casos de uso
- ✅ Validación de requerimientos por líderes y stakeholders
- ✅ Añadir comentarios y discusiones en hilos
- ✅ Adjuntar documentos o enlaces externos
- ✅ Reportes y estadísticas con gráficos de distribución
- ✅ Exportación de datos en CSV, Excel y PDF
- ✅ Panel de administración completo con auditoría de actividades
- ✅ Inspirado en funcionalidades de herramientas profesionales (con un enfoque académico)
Dashboard inicial de Administración
Pantalla de administración de usuarios y Roles
- Python 3.13.9
- PostgreSQL
- Git
-
Clonar el repositorio:
git clone https://github.com/uarg-unpa/grcu-manager.git cd grcu-manager -
Crear entorno virtual:
python -m venv venv source venv/bin/activate # En Windows: venv\Scripts\activate
-
Instalar dependencias:
pip install -r requirements.txt
-
Configurar base de datos:
- Crear una base de datos PostgreSQL
- Configurar las credenciales en
grcu_manager/settings.py
-
Aplicar migraciones:
python manage.py migrate
-
Crear superusuario:
python manage.py createsuperuser
-
Ejecutar servidor:
python manage.py runserver
-
Acceder en el navegador:
http://localhost:8000
- Backend: Django 5.2.6 (Python 3.13.9)
- Base de Datos: PostgreSQL
- Frontend: HTML5, CSS3, Bootstrap 5, JavaScript
- Gráficos: Chart.js
- Autenticación: Sistema personalizado con email
- ORM: Django ORM con relaciones complejas
- Historial: Django Simple History
- Control de versiones: Git + GitHub
- Gestionar usuarios, roles y permisos
- Configurar proyectos y equipos
- Monitorear auditoría de actividades
- Realizar limpieza y reseteo de base de datos
- Acceder al dashboard con métricas completas
- Gestionar integrantes del proyecto
- Asignar metodología (tradicional o ágil)
- Validar requerimientos pendientes
- Monitorear progreso y generar reportes
- Ver proyectos asignados en dashboard personalizado
- Crear y gestionar requerimientos
- Desarrollar casos de uso
- Participar en validaciones y discusiones
- Validar requerimientos asignados
- Participar en discusiones y comentarios
- Revisar progreso del proyecto
- Ingresar al panel de administración
- Crear, editar y eliminar requerimientos y casos de uso
- Asignar prioridades y categorías con MoSCoW
- Visualizar la matriz de trazabilidad
- Comentar, adjuntar documentos y enlaces
- Exportar reportes en CSV, Excel y PDF
- 🔐 Sistema de autenticación con roles (Administrador, Líder, Desarrollador, Stakeholder, Visitante)
- � Dashboards interactivos con métricas detalladas y gráficos
- 🕒 Historial completo de cambios en requerimientos
- � Exportación de matriz de trazabilidad en CSV, Excel y PDF
- 🎨 Interfaz mejorada con Bootstrap 5 y Chart.js
- ✅ Validación de requerimientos por roles
- 💬 Sistema de comentarios y discusiones en hilos
- 📋 Soporte para metodologías tradicionales y ágiles
- 📱 Mejoras en la experiencia móvil
- 🔍 Búsqueda avanzada y filtros
- 📧 Notificaciones por email
- 🔄 Integración con herramientas externas (Jira, GitHub)
- 📊 Análisis predictivo de requerimientos
grcu-manager/
├── accounts/ # Gestión de usuarios y autenticación
├── casos_de_uso/ # Módulo de casos de uso
├── core/ # Configuraciones core y utilidades
├── dashboards/ # Dashboards para líderes y desarrolladores
├── grupos/ # Gestión de grupos
├── permisos/ # Sistema de permisos
├── proyectos/ # Gestión de proyectos
├── requerimientos/ # Gestión de requerimientos
├── roles/ # Definición de roles
├── static/ # Archivos estáticos (CSS, JS, imágenes)
├── templates/ # Plantillas HTML
├── media/ # Archivos multimedia subidos
├── grcu_manager/ # Configuración principal de Django
├── conftest.py # Configuración de pruebas
├── manage.py # Script de gestión de Django
├── pytest.ini # Configuración de pytest
├── requirements.txt # Dependencias del proyecto
└── README.md
Crear un archivo .env en la raíz del proyecto:
DEBUG=True
SECRET_KEY=tu_clave_secreta_aqui
DATABASE_URL=postgresql://usuario:password@localhost:5432/grcu_manager
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_USE_TLS=True
EMAIL_HOST_USER=tu_email@gmail.com
EMAIL_HOST_PASSWORD=tu_passwordEl sistema utiliza PostgreSQL con:
- Relaciones complejas (muchos-a-muchos)
- Historial de versiones con django-simple-history
- Índices optimizados para consultas frecuentes
- Triggers para auditoría automática
- Forkear el repositorio.
- Crear tu rama:
git checkout -b feature/nueva-funcionalidad. - Hacer commit:
git commit -m "Añadir nueva funcionalidad". - Push a la rama:
git push origin feature/nueva-funcionalidad. - Abrir un Pull Request.
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|
| Martina Gagna | Abril Alvarez | Nicolás Butterfield | Cristian Carranza |
Dev Team:
Este proyecto está bajo la licencia MIT.









