Skip to content

samypipe470/restaurant-manager-docker

Repository files navigation

🍴 Restaurant Manager

CI/CD Pipeline Java Maven Coverage License

Sistema de gestión para restaurantes con CI/CD completo.

🚀 Features

  • 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

🏗️ Arquitectura

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

🧪 Testing

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:report

🔄 CI/CD Pipeline

El pipeline automatizado incluye:

  1. 🔨 Build: Compilación del proyecto
  2. 🧪 Unit Tests: Tests unitarios con coverage
  3. 🔗 Integration Tests: Tests de integración
  4. 📋 Code Quality: Análisis con Checkstyle
  5. 🔒 Security Scan: Escaneo de vulnerabilidades
  6. 📦 Artifact: Generación de JAR versionado
  7. 🚀 Deploy: Deploy automático a staging
  8. 💨️ Smoke Tests: Verificación post-deployment

Estado del Pipeline

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

🚀 Cómo Ejecutar

Prerequisitos

  • Java JDK 17+
  • Maven 3.9+
  • Git

Instalación

# 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

📊 Métricas del Proyecto

  • Líneas de código: ~300
  • Cobertura de tests: 60%+
  • Tests totales: 17
  • Tiempo de build: ~2 minutos
  • Deployment frequency: Cada push a main

🔐 Seguridad

  • ✅ Dependency scanning automático
  • ✅ Security alerts habilitados
  • ✅ Branch protection en main
  • ✅ Required reviews para PRs

🐳 Docker

La aplicación está completamente containerizada con Docker.

Quick Start 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

👥 Equipo

  • Maintainer: Javier Jaimes
  • Developers:
    • Miguel Acuña
    • Samuel Manrique
    • Camila Beltran
    • Diego Negro

📝 Changelog

v1.0.0 (2025-11-04)

  • ✨ Release inicial
  • ✅ Sistema de menú
  • ✅ Procesamiento de órdenes
  • ✅ Sistema de reservas
  • ✅ Pipeline CI/CD completo

📄 Licencia

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors