Este proyecto es una aplicación de lista de tareas con funcionalidades avanzadas como autenticación de usuarios, filtrado de tareas y análisis de productividad. Fue desarrollado utilizando metodología ágil (Scrum) y gestionado en GitHub mediante milestones, issues y pull requests.
El objetivo de este repositorio es proporcionar una guía práctica sobre cómo diseñar un proyecto de desarrollo de software siguiendo buenas prácticas de gestión y colaboración en GitHub.
- Aplicar metodologías ágiles en el desarrollo de software.
- Diseñar una arquitectura modular basada en MVC (Modelo-Vista-Controlador).
- Implementar una aplicación con backend en Spring Boot y frontend en React.
- Gestionar tareas y colaboraciones en GitHub Projects.
- Aplicar CI/CD con GitHub Actions y Docker.
- Java con Spring Boot
- MySQL para persistencia de datos
- API REST para la comunicación con el frontend
- Javascript con Node.Js
- CSS para el diseño
- GitHub Actions para integración continua
- Docker para contenedorización
- Jenkins para despliegue automatizado
/
├── backend/ # Código fuente del backend (Spring Boot)
├── frontend/ # Código fuente del frontend (React)
├── docker-compose.yml # Configuración para despliegue con Docker
└── README.md # Descripción del proyecto
Este proyecto se gestionó usando Scrum con herramientas de GitHub:
Cada sprint duró 1 semana y se organizó con milestones en GitHub.
Sprint | Objetivo |
---|---|
Sprint 1 | Configuración del entorno y autenticación de usuarios |
Sprint 2 | CRUD de tareas y su integración con el frontend |
Sprint 3 | Filtrado y marcado de tareas como completadas |
Sprint 4 | Análisis de datos y visualización de productividad |
Sprint 5 | Pruebas unitarias y de integración |
Sprint 6 | Documentación y despliegue en producción |
Para organizar las tareas, se usaron labels en los issues de GitHub:
- 📌 Análisis y Diseño
- 🛠 Implementación Backend
- 🎨 Implementación Frontend
- ✅ Pruebas Unitarias
- 🔗 Pruebas de Integración
- 📊 Análisis de Datos
- 🚀 Despliegue y Documentación
El tablero Kanban se utilizó para organizar tareas en las siguientes columnas:
- Backlog: Tareas pendientes
- Ready: Tareas definidas
- In Progress: Tareas en desarrollo
- Review: Pull requests en revisión
- Done: Tareas completadas
- Juan Pablo Arias - Scrum Master 🏆
- Steven Robles - Backend Developer 🔧
- Paula Andrea Romero - Frontend Developer 🎨
- Samuel Lamilla - Database Developer 🗄️
📌 Puedes hacer clic en cada nombre para visitar su perfil de GitHub.
Principios de Desarrollo de Software
📍 Pontificia Universidad Javeriana
👨🏫 Docente: Santiago Arismendi - Senior Developer