A collection of two Java desktop GUI projects built with Swing:
The original archive did not contain a reliable course name, so this repository uses a descriptive portfolio title instead of guessing the course.
A reservation-management application with separate employee and guest workflows.
Key features:
- reservation CRUD operations
- guest reservation lookup by ID
- check-out date updates
- remaining-time calculation
- validated dates and amounts
- persistent local storage
A desktop inventory manager with a searchable item table.
Key features:
- add, edit, and delete inventory items
- dynamic search over the real inventory list
- unique serial numbers
- quantity and price validation
- persistent local storage
- default sample inventory on first launch
The uploaded prototype compiled, but several behaviors were incomplete or fragile.
The GitHub-ready edition:
- fixes the Inventory Add Item action so items actually enter the inventory
- removes hard-coded search as the source of truth
- adds inventory update/delete functionality
- makes both applications persist their data
- replaces string-based hotel reservations with a typed
Reservationmodel - makes Guest View work with a selected reservation ID instead of always using the first reservation
- validates check-in/check-out dates, amounts, quantities, and required fields
- removes the uploaded personal sample reservation from the public repository
- separates domain/storage logic from Swing UI code
- adds automated model/storage tests
- adds GitHub Actions
- removes
STATUS.txt, IDE metadata, generated.classfiles, and other non-source artifacts
- Java 17 or newer
Check your Java version:
java -version
javac -versionSee each project README for individual commands:
On Linux/macOS/Git Bash:
bash scripts/test.shThe test script compiles both applications with Java 17 and runs storage/domain regression tests.
Java-Swing-Desktop-Applications/
├── hotel-booking-system/
│ ├── src/main/java/com/portfolio/hotel/
│ ├── src/test/java/com/portfolio/hotel/
│ └── README.md
├── inventory-management-system/
│ ├── src/main/java/com/portfolio/inventory/
│ ├── src/test/java/com/portfolio/inventory/
│ └── README.md
├── scripts/
│ └── test.sh
├── .github/workflows/
│ └── build.yml
├── .gitignore
├── .gitattributes
└── README.md
- Java
- Swing GUI development
- object-oriented programming
- file persistence
- data validation
- collections
- table models
- local application state
- automated regression testing