A full-stack Real Estate Management System developed as a Database Management Systems (DBMS) Project and Backend Engineering Showcase. The platform enables users to buy, sell, rent, and manage properties while supporting multiple organizational roles including Users, Agents, Offices, and Administrators.
The primary goal of this project was to demonstrate strong understanding of:
- Database Design & Management
- Spring Boot Backend Development
- REST API Design
- Authentication & Authorization
- Role-Based Access Control (RBAC)
- Enterprise Application Architecture
- Design Patterns & Clean Code Principles
- Full-Stack Integration with React
RealEstate is a property marketplace platform where users can:
- Buy properties
- Sell properties
- Rent properties
- List properties
- Manage property transactions
- Track property ownership
- View analytics and performance metrics
The system supports multiple user roles with different access privileges, implemented using Spring Security and JWT Authentication.
This project was designed with a strong focus on database modeling, backend architecture, and secure role-based access control, making it suitable as a DBMS and Backend Engineering portfolio project.
- JWT Authentication
- Access Token & Refresh Token Mechanism
- Spring Security Integration
- Password Encryption using BCrypt
- Role-Based Authorization (RBAC)
- Secure API Access Control
- Protected Routes
- User Profile Management
- Refresh Token Storage & Validation
The platform supports four major roles:
- Browse properties
- Buy properties
- Sell properties
- Rent properties
- Track transactions
- Manage profile
- Manage assigned properties
- Create property listings
- Track performance metrics
- Monitor sales and rentals
- Access agent dashboard
- Manage agents
- Manage office properties
- Monitor office performance
- Track revenue and transactions
- Office dashboard access
- Complete system control
- User management
- Property management
- Office management
- Analytics dashboard
- Revenue monitoring
- System-wide reporting
- Property Creation
- Property Updates
- Property Deletion
- Property Tracking
- Property Ownership Management
- Property Search & Filtering
- Property Status Management
- Buy/Sell/Rent Operations
- Property Image Support
The platform separates:
Actual real estate assets.
Market-facing entries created for properties.
Features include:
- Create Listings
- Update Listings
- Listing Tokens
- Listing Ownership Validation
- Listing Visibility Control
- Listing Access Strategy System
- Property Purchase Transactions
- Property Rental Transactions
- Transaction History
- Revenue Tracking
- Transaction Analytics
- Transaction Access Control
- Role-Specific Transaction Views
The platform provides role-specific dashboards:
- Total Users
- Total Properties
- Total Transactions
- Revenue Analytics
- System Performance
- Listings Performance
- Property Performance
- Revenue Metrics
- Agent Productivity
- Office Revenue
- Office Transactions
- Agent Performance
- Property Statistics
- User Notifications
- System Notifications
- Role-Specific Notifications
- Notification Tracking
Implemented extensively for role-specific access management.
- AdminPropertyStrategy
- AgentPropertyStrategy
- OfficePropertyStrategy
- UserPropertyStrategy
- AdminListingStrategy
- AgentListingStrategy
- OfficeListingStrategy
- UserListingStrategy
- AdminTransactionStrategy
- AgentTransactionStrategy
- OfficeTransactionStrategy
- UserTransactionStrategy
- AdminRevenueStrategy
- AgentRevenueStrategy
- OfficeRevenueStrategy
Used to dynamically select strategies based on user roles.
Examples:
- PropertyStrategyFactory
- ListingStrategyFactory
- TransactionStrategyFactory
- RevenueStrategyFactory
This project was heavily focused on DBMS concepts.
- User
- UserProfile
- Agent
- Office
- Property
- ListingToken
- Transaction
- Notification
- Images
- Performance
- RefreshToken
- EmailOtp
- One-to-One Relationships
- One-to-Many Relationships
- Foreign Key Constraints
- Primary Keys
- Unique Constraints
- Referential Integrity
Database schema designed following normalization principles to minimize redundancy and improve consistency.
Ensures consistency during:
- Property purchases
- Rentals
- Ownership transfers
- Listing updates
Security is implemented using:
- Spring Security
- JWT Authentication
- Custom Authentication Filter
- Custom UserDetailsService
- Refresh Token Management
- Stateless Authentication
AuthFilter
β
βΌ
AuthService
β
βΌ
AuthUtil
β
βΌ
Spring Security Context
Frontend is built using:
- React.js
- JavaScript
- Axios
- React Router
- CSS
- Authentication Pages
- Dashboard Pages
- Property Management UI
- Listing Management UI
- Profile Management
- Transaction Records
- Notifications
- Property Carousel
- Protected Routes
βββββββββββββββββββββββ
β React Frontend β
ββββββββββββ¬βββββββββββ
β
β REST APIs
βΌ
βββββββββββββββββββββββ
β Spring Boot Backend β
β Authentication β
β Properties β
β Listings β
β Transactions β
β Analytics β
ββββββββββββ¬βββββββββββ
β
βΌ
βββββββββββββββββββββββ
β MySQL DB β
βββββββββββββββββββββββ
| Category | Technologies |
|---|---|
| Frontend | React.js, JavaScript, CSS, Axios |
| Backend | Spring Boot, Spring MVC |
| Security | Spring Security, JWT |
| Database | MySQL |
| ORM | Spring Data JPA, Hibernate |
| Build Tool | Maven |
| Authentication | JWT + Refresh Tokens |
| API Style | REST APIs |
| Version Control | Git, GitHub |
src/main/java/com/RealState/Project
βββ Config
βββ Controller
βββ DTO
βββ Entity
βββ Exception
βββ Mapper
βββ Repository
βββ Security
βββ Service
βββ Strategy
β βββ Listing
β βββ Property
β βββ Revenue
β βββ Transaction
βββ Utils
βββ ProjectApplication
- Java 21+
- Maven
- MySQL 8+
- Git
git clone https://github.com/your-username/real-estate-platform.git
cd real-estate-platformUpdate application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/realEstate
spring.datasource.username=root
spring.datasource.password=your_password
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=truemvn spring-boot:runBackend:
http://localhost:8080
cd Frontend
npm install
npm run devFrontend:
http://localhost:5173
This project helped strengthen understanding of:
- Database Design
- ER Modeling
- SQL & Relational Databases
- Spring Boot Development
- REST API Design
- Authentication & Authorization
- Spring Security
- Hibernate & JPA
- Design Patterns
- Layered Architecture
- Full-Stack Application Development
B.Tech Computer Science & Engineering
Indian Institute of Information Technology Guwahati (IIIT Guwahati)
This project was developed as a DBMS and Backend Engineering showcase to demonstrate practical understanding of:
- Database Design
- Spring Boot Development
- Secure Authentication Systems
- Enterprise Backend Architecture
- Role-Based Access Control
- RESTful API Development
The focus of the project was not only to build a real estate platform, but also to apply software engineering principles, database concepts, and scalable backend design practices used in real-world applications.
- Full Stack Real Estate Platform
- DBMS Focused Architecture
- Spring Security + JWT
- Role Based Access Control
- Strategy & Factory Design Patterns
- MySQL + Hibernate
- React Frontend
- Enterprise Style Backend Design
- Portfolio-Level Project