Hina Bungalows Community Portal is a Java Swing desktop application designed to streamline the management of a residential community. It provides dedicated interfaces for both administrators and residents, enabling efficient handling of maintenance payments, utility bill management, complaint tracking, expense breakdowns, and community-wide notifications — all through a modern, user-friendly GUI.
- Dashboard — Central hub for accessing all administrative operations
- User Registration — Register new residents with details such as name, email, house number, and ownership type (owned/rented)
- Payment Records — Track and manage monthly maintenance payment statuses for all houses
- Utility Bill Upload — Upload electricity (KE) bill images along with invoice metadata; bills are stored as BLOBs in the database
- Maintenance Breakdown — Record and view monthly expense breakdowns by category (utilities, guard salary, sweeper salary, repairs, miscellaneous)
- Complaint Management — View and manage resident complaints with status tracking (Pending, Open, Closed)
- Notifications — Post community-wide announcements visible to all residents
- Dashboard — Personalized view showing house information, payment status, and recent notifications
- View Payment Records — Check personal maintenance payment history and outstanding dues
- View Monthly Expenses — Review the community's monthly expense breakdown
- View Utility Bills — Access uploaded electricity bills
- Submit Complaints — File maintenance or community-related complaints
- BCrypt Password Hashing — All user and admin passwords are securely hashed using the OpenBSD-style Blowfish algorithm
- Role-Based Access — Separate login flow for administrators and residents
| Component | Technology |
|---|---|
| Language | Java |
| GUI Framework | Swing with FlatLaf Look-and-Feel |
| Database | MySQL 8.0+ |
| JDBC Driver | MySQL Connector/J (com.mysql.cj) |
| Password Hashing | jBCrypt |
| Build System | Apache Ant (NetBeans IDE project) |
src/
├── hinabungalowsportal/
│ └── HinaBungalowsPortal.java # Application entry point
├── dao/
│ ├── ConnectionProvider.java # JDBC connection manager
│ └── Tables.java # Table initialization utility
├── form/
│ ├── adminView/
│ │ ├── login.java # Dual-role login screen
│ │ ├── registrationPage.java # Resident registration form
│ │ ├── admindashboard.java # Admin main dashboard
│ │ ├── KEBillUpload.java # Electricity bill upload
│ │ ├── payementRecords.java # Payment tracking
│ │ ├── maintenanceBreakdown.java # Expense breakdown view
│ │ ├── addNotification.java # Post notifications
│ │ └── viewComplain.java # Complaint management
│ └── userView/
│ ├── userdashboard.java # Resident dashboard
│ ├── complain.java # Submit complaints
│ ├── viewpayementRecords.java # View payment history
│ ├── viewMonthlyExpense.java # View expense breakdown
│ └── viewKEBill.java # View electricity bills
├── utility/
│ ├── BDutility.java # Image loading & window management
│ ├── UIUtils.java # Theme & UI helpers
│ ├── RoundedPanel.java # Custom rounded-corner panel
│ ├── RoundedLabel.java # Custom rounded-corner label
│ └── images/ # Application assets (logo, backgrounds)
└── org/mindrot/jbcrypt/
└── BCrypt.java # BCrypt password hashing library
The file HBCP.sql contains the complete MySQL database schema and seed data required to run the application. It defines all tables (users, houses, payments, complaints, bills, notifications, and maintenance breakdowns) along with sample records for initial setup.
Import this file into your MySQL server as part of the setup process (see instructions below).
Follow these steps to set up and run the project on your local machine.
- Java Development Kit (JDK) 8 or higher — Download from Oracle or install via your package manager
- Apache NetBeans IDE (recommended) — Download from Apache
- MySQL Server 8.0+ — Download from MySQL
- MySQL Connector/J — Included in the
lib/directory of this project
git clone https://github.com/syedsuhaibhasan/Hina-Bungalows-Community-Portal.git
cd Hina-Bungalows-Community-Portal- Start your MySQL server and log in to the MySQL shell:
mysql -u root -p
- Import the provided SQL file to create the database, tables, and seed data:
Alternatively, you can import it directly from the command line:
source /path/to/Hina-Bungalows-Community-Portal/HBCP.sql;
This will create a database namedmysql -u root -p < HBCP.sqlcommunityportalwith all required tables and initial data.
Open src/dao/ConnectionProvider.java and update the database credentials to match your local MySQL setup:
String url = "jdbc:mysql://localhost:3306/communityportal";
String user = "root"; // your MySQL username
String password = "123456"; // your MySQL password- Open Apache NetBeans IDE
- Go to File → Open Project
- Navigate to and select the cloned
Hina-Bungalows-Community-Portalfolder - NetBeans will recognize it as an Ant-based project
Ensure the following JAR files are present in the lib/ directory and added to the project's classpath:
mysql-connector-j-8.x.x.jar— MySQL JDBC driverflatlaf-x.x.jar— FlatLaf Look-and-Feel library
If any library is missing, right-click the project in NetBeans → Properties → Libraries → Add JAR/Folder and add the required JARs from the lib/ directory.
- Clean and Build: Right-click the project → Clean and Build (or press
Shift + F11) - Run: Right-click the project → Run (or press
F6)
The application will launch with the login screen. Use the seeded admin credentials from the database to log in as an administrator, or register a new resident account.
This project is developed for educational and community management purposes.