A full-stack, modular, and scalable Real Estate Management System designed to streamline property leasing, tenant management, payments, and maintenance tracking. Built using Node.js for the backend, a custom JavaScript/HTML/CSS frontend, and a structured MySQL database architecture in 3rd Normal Form.
- User Authentication & Role-Based Access Control
- Property Listings Management
- Lease Agreement Management
- Payment Tracking & Invoicing
- Maintenance Request Workflow
- Notification System
- Backend: Node.js, Express.js, JWT
- Frontend: HTML, CSS, JavaScript
- Database: MySQL with Procedures
- Tools: GitHub
- Node.js (v16+)
- MySQL Server
- npm
git clone https://github.com/AryanAg2701/RealEstateManagementSystem.git cd RealEstateManagementSystem
- Import the schema and procedures:
mysql -u root -p < database/schema.sql mysql -u root -p < database/procedures/property_procedures.sql mysql -u root -p < database/procedures/lease_procedures.sql mysql -u root -p < database/procedures/payment_procedures.sql mysql -u root -p < database/procedures/maintenance_procedures.sql
- Update your MySQL credentials in
backend/.env:
cd backend npm install node app.js
Server runs on: http://localhost:5001
Open frontend/public/index.html in your browser. All logic is managed through the scripts/ folder.
Screenshots are available in the Images(for reference)/ folder to guide you through the UI/UX.
auth.js— Login, JWT verificationproperty.js— Add/update/remove/list propertiestenant.js— Tenant profile handlinglease.js— Lease contract creation and expiration trackingpayment.js— Transaction history, duesmaintenance.js— Issue reporting and resolutionnotification.js- Manages sending Notification of various triggers and events