Sistema de gestión para restaurantes con CI/CD completo.
- ✅ Gestión de Menú: Agregar y remover items con precios
- ✅ Procesamiento de Órdenes: Tracking de ventas e ingresos
- ✅ Sistema de Reservas: Gestión de reservas de clientes
- ✅ Estadísticas: Reportes de operación del restaurante
restaurant-manager/
├── src/
│ ├── main/java/
│ │ └── com/restaurant/manager/
│ │ ├── Restaurant.java # Clase principal
│ │ └── Main.java # Punto de entrada
│ └── test/java/
│ └── com/restaurant/manager/
│ ├── RestaurantTest.java # Tests unitarios
│ └── RestaurantIntegrationTest.java # Tests de integración
├── .github/workflows/
│ └── ci-cd-pipeline.yml # Pipeline completo
├── pom.xml # Configuración Maven
└── README.md
El proyecto incluye:
- 13 tests unitarios con JUnit 5
- 4 tests de integración para flujos completos
- 60%+ cobertura de código con JaCoCo
- Análisis de calidad con Checkstyle
- Security scanning automático
# Ejecutar tests unitarios
mvn test
# Ejecutar tests de integración
mvn verify
# Generar reporte de cobertura
mvn test jacoco:reportEl pipeline automatizado incluye:
- 🔨 Build: Compilación del proyecto
- 🧪 Unit Tests: Tests unitarios con coverage
- 🔗 Integration Tests: Tests de integración
- 📋 Code Quality: Análisis con Checkstyle
- 🔒 Security Scan: Escaneo de vulnerabilidades
- 📦 Artifact: Generación de JAR versionado
- 🚀 Deploy: Deploy automático a staging
- 💨️ Smoke Tests: Verificación post-deployment
| Job | Status |
|---|---|
| Build | ❌ No se pudo mostrar la imagen vinculada. Puede que no se haya movido, cambiado de nombre o eliminado el archivo. Comprueba que el vínculo señale al archivo y ubicaciones correctas. |
| Tests | ✅ Passing |
| Quality | ✅ Passing |
| Security | ✅ No vulnerabilities |
- Java JDK 17+
- Maven 3.9+
- Git
# Clonar repositorio
git clone [https://github.com/Javierajo2006/restaurant-manager2.git](https://github.com/Javierajo2006/restaurant-manager2.git)
cd restaurant-manager
# Compilar
mvn clean compile
# Ejecutar tests
mvn test
# Generar JAR
mvn package
# Ejecutar aplicación
java -jar target/restaurant-manager-1.0.0.jar- Líneas de código: ~300
- Cobertura de tests: 60%+
- Tests totales: 17
- Tiempo de build: ~2 minutos
- Deployment frequency: Cada push a main
- ✅ Dependency scanning automático
- ✅ Security alerts habilitados
- ✅ Branch protection en main
- ✅ Required reviews para PRs
La aplicación está completamente containerizada con Docker.
# Levantar la aplicación completa (backend + PostgreSQL)
docker-compose up -d
# Ver logs
docker-compose logs -f
# Detener
docker-compose down
Ver DOCKER.md para documentación completa de Docker.
Imágenes
• Docker Hub: tu-usuario/restaurant-manager:latest
• Tamaño: ~250MB (optimizada con multi-stage)
• Base: OpenJDK 17 JRE Slim
---
## Limpiar al Terminar la Clase
```bash
# Detener todos los servicios
docker-compose down
# Ver qué consumen espacio
docker system df
# Limpiar contenedores detenidos
docker container prune -f
# Limpiar imágenes sin usar
docker image prune -f
# (Opcional) Limpiar todo
docker system prune -a --volumes- Maintainer: Javier Jaimes
- Developers:
- Miguel Acuña
- Samuel Manrique
- Camila Beltran
- Diego Negro
- ✨ Release inicial
- ✅ Sistema de menú
- ✅ Procesamiento de órdenes
- ✅ Sistema de reservas
- ✅ Pipeline CI/CD completo
Este proyecto es parte del material educativo del curso de Fundamentos de Ingeniería de Software.
Construido con ❤️ y mucho ☕ por el equipo de Miguel Acuña, Samuel Manrique, Camila Beltran, Diego Negro y Javier Jaimes.