A Java-based console application that simulates a Paying Guest (PG) Rental Management System. The project demonstrates Object-Oriented Programming (OOP) concepts by managing PG accommodations, tenants, room bookings, payments, and customer feedback through an interactive command-line interface.
Managing a Paying Guest accommodation manually can be time-consuming and error-prone. This project provides a simple console-based solution that allows administrators to create PGs, manage tenants, allocate rooms, process bookings, record payments, and collect tenant feedback.
The application is completely developed in Core Java without using any database or graphical user interface, making it an excellent demonstration of Java fundamentals and OOP principles.
- Add new PG accommodations
- Store PG name and address
- Manage owner information
- Add multiple rooms to each PG
- Add rooms with rent details
- Single and Sharing room support
- Track room occupancy
- Display available rooms for booking
- Register new tenants
- Store contact information
- Search tenants by name
- Assign and vacate rooms
- Create room bookings
- Generate unique booking IDs
- Record booking date
- Calculate remaining rent after advance payment
- Record tenant payments
- Store payment history
- Display payment receipts
- Collect ratings (1–5)
- Store tenant feedback
- Display all submitted feedback
- Java
- Object-Oriented Programming (OOP)
- Java Collections Framework
- Command Line Interface (CLI)
PGRentSystem/
│
├── PGRentSystem.java
├── PG.java
├── Owner.java
├── Room.java
├── Tenant.java
├── Booking.java
├── Payment.java
├── Feedback.java
└── README.md
The project is designed using separate classes for different entities:
| Class | Responsibility |
|---|---|
| PG | Manages PG information and rooms |
| Owner | Stores owner details |
| Room | Stores room details and occupancy status |
| Tenant | Stores tenant information and room assignment |
| Booking | Handles room booking operations |
| Payment | Records tenant payments |
| Feedback | Stores tenant ratings and comments |
| PGRentSystem | Main application and menu system |
******* Welcome To APNA PG.COM ********
1. Add PG
2. Add Tenant
3. Book Room
4. Make Payment
5. Vacate Room
6. Display All Bookings
7. Search Tenant by Name
8. View Feedback
9. Exit
- Add a PG along with owner information.
- Add rooms for the PG.
- Register tenants.
- Book available rooms.
- Collect advance payments.
- Make additional payments.
- Vacate rooms when tenants leave.
- Record tenant ratings and feedback.
git clone https://github.com/yourusername/PGRentSystem.gitjavac *.javajava PGRentSystem- Object-Oriented Programming
- Classes & Objects
- Encapsulation
- Constructors
- Collections (ArrayList)
- Object Relationships
- Exception-safe User Input
- Menu-driven Programming
- Modular Design
- MySQL Database Integration
- Java Swing / JavaFX GUI
- Login & Authentication
- File-Based Data Storage
- Report Generation
- Search & Filter Enhancements
- Monthly Rent Tracking
- Admin Dashboard
Shubham
B.Tech Computer Science Student
This project is intended for educational purposes and to demonstrate Java programming and Object-Oriented Design principles.