Skip to content

aparreno14/APPPizzeria

 
 

Repository files navigation

APPPizzeria (Java Swing)

Desktop application for managing a pizzeria (tables, reservations, orders, products, etc.) implemented in Java with a layered architecture (presentation / business / integration) and JSON persistence.

This repository is a fork of a team project (7 students) developed for Software Engineering II (UCM), 2022–23.

My contribution (portfolio focus)

I was responsible for the Tables & Reservations subsystem, implemented across the three layers:

  • Presentation (Swing UI): ProyectoPizzeria/src/presentacion/mesas/
  • Business logic: ProyectoPizzeria/src/negocio/mesas/
  • Integration / persistence (JSON DAOs): ProyectoPizzeria/src/integracion/mesas/

A key business rule implemented in this subsystem:

  • A table cannot be deleted if it has future reservations.

For a detailed breakdown, see: CONTRIBUTIONS.md.

Architecture (high level)

  • Presentation layer (Swing): UI windows, dialogs, controllers for user interactions.
  • Business layer: domain model + services implementing business rules.
  • Integration layer: persistence via JSON-based DAOs (data access layer).

This structure makes the application modular and allows each subsystem (e.g., reservations) to evolve with minimal impact on others.

Repository structure

  • ProyectoPizzeria/src/presentacion/ — Swing UI and user interaction flow
  • ProyectoPizzeria/src/negocio/ — business model and rules
  • ProyectoPizzeria/src/integracion/ — persistence layer (JSON DAOs)
  • ProyectoPizzeria/src/utils/ — shared utilities
  • ProyectoPizzeria/src/principal/ — entry points / launchers

How to run (IDE)

This is a plain Java project (no Maven/Gradle build file). The most reliable way to run it is:

  1. Open the repository in your IDE (IntelliJ / Eclipse).
  2. Ensure external libraries are available on the classpath (if required by your IDE configuration).
  3. Run the main entry point under ProyectoPizzeria/src/principal/.

If you want a portfolio-grade improvement, the next step would be adding Maven/Gradle plus a CI workflow so the project builds automatically on every push.

Credits

Team project developed by 7 students during the course. This fork is used as a portfolio artifact to document my individual contribution while preserving the original authorship and history.

License

MIT — see LICENSE.

Disclaimer

This project is for educational purposes.

About

Team-built Java Swing pizzeria management app (UCM Software Engineering II, 2022–23) with layered architecture (DAO/Services/MVC). My contribution: Tables & Reservations.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 100.0%