SmartRent is a robust, full-stack Java EE web application designed to simplify the rental process for property owners and tenants in Surat. The platform features a secure, role-based architecture with dedicated dashboards for Admins, Landlords (Sellers), and Tenants (Buyers).
- Role-Based Access Control (RBAC): Distinct dashboards and permissions for Admin, Seller, and Buyer roles.
- Secure Authentication: Custom session-managed login and signup system with automatic redirection.
- Access Guards: Server-side logic to prevent unauthorized URL manipulation between roles.
- Admin Dashboard: High-level overview of total revenue, active users, and system-wide occupancy rates.
- Seller (Landlord) Portal: Manage listings, track monthly rental income, and monitor property statuses (Available, Pending, Rented).
- Buyer (Tenant) Portal: Browse real-time Surat property listings, save favorites, and manage active rental bookings.
- Transaction Engine: Real-time booking system that updates property availability upon rental.
- Advanced Filtering: Browse properties by location, type (Apartment, House, Villa), and price range.
- Inventory Control: Automated status transitions from 'Available' to 'Pending' upon tenant interest.
- Backend: Java (Servlets v4.0)
- Frontend: JSP (JavaServer Pages), CSS3 (Custom Flexbox/Grid UI), FontAwesome
- Database: MySQL (JDBC Connection)
- Server: Apache Tomcat v9.0
- Version Control: Git & GitHub
SmartRent/
├── src/main/java/ # Java Backend
│ └── com/smartrent/
│ ├── controller/ # Servlets (Logic)
│ └── util/ # Database Configuration
├── src/main/webapp/ # Frontend Files
│ ├── WEB-INF/ # Private config & Libraries
│ ├── admin_dashboard.jsp # Admin UI
│ ├── seller_dashboard.jsp # Landlord UI
│ ├── buyer_dashboard.jsp # Tenant UI
│ └── login.jsp # Entry Point
└── pom.xml # Dependency Management
- Clone the Repository:
git clone https://github.com/aragrishah/SmartRent.git
- Database Setup:
- Import the provided SQL script into MySQL Workbench.
- Ensure the
smartrentdatabase is created and populated with the default users.
- Configure Connection:
- Open
src/main/java/com/smartrent/util/DBConnection.java. - Update the database
URL,username, andpasswordto match your local setup.
- Open
- Deploy:
- Import as a Dynamic Web Project in Eclipse.
- Add the MySQL Connector/J jar to
WEB-INF/lib. - Run on Apache Tomcat v9.0.