*## User guide
*
🧑💼 System Overview
The Real Estate Management System is a web-based application designed to streamline the buying and selling of properties. It supports two main user roles: Buyers and Dealers. Each role has specific functionalities to support their goals within the platform.
🔐 1. Account Management
1.1 User Registration & Login
For All Users (Buyers & Dealers)
Navigate to the Main page.
Choose your role: Buyer or Dealer.
Enter your credentials, and click Login.
If you do not have account, go to Register as Buyer or Dealer for your respective roles
Fill in your name, email, password, and any additional required info.
Click Create Account.
For login, navigate to the Log In page, enter your credentials, and click Login.
1.2 Update Account Information
Steps:
After logging in, click on your Profile icon or name.
Choose Edit Profile.
Update your information (e.g., name, email, contact number).
Click Save Changes.
🏘️ 2. Property Management (Dealer)
2.1 Post New Property Listings
Only for Dealers
Log in as a Dealer.
Navigate to Dashboard > Add New Property.
Fill in property details:
Title, Location, Price
Description
Photos
Type (Apartment, House, Land, etc.)
Status (Available, Sold, etc.)
Click Post Listing.
2.2 Update Property Status
Only for Dealers
Navigate to Dashboard.
Choose the property you want to update.
Click Edit or Update Status.
Select the new status (e.g., Sold, Pending, Available).
Click Save.
🏡 3. Property Browsing and Interaction (Buyer)
3.1 View Detailed Property Information
Only for Buyers
Log in as a Buyer.
Use the Search Bar or browse listings on the Home Page.
Click on any property to view:
Description
Photos
Price
Dealer Info
Availability Status
3.3 Check Property Status
Only for Buyers
Each property card and detail page displays the Status (e.g., Available, Sold).
Filter properties by Status using the filter toolbar for better browsing.
*## 🏢 Real Estate Management System - System Manual
*
⸻
📑 Table of Contents
1. System Overview
2. User Roles & Access Control
3. Functional Specifications
3.1 User Account Management
3.2 Property Listings (Dealer)
3.3 Property Viewing (Buyer)
3.4 Dealer Dashboard
4. System Architecture Overview
5. API and Technology Stack
6. System Requirements and Development Stack
6.1 Hardware Specifications
6.1.1 Server-Side Requirements
6.1.2 Client-Side Requirements
6.2 Software Development Specifications
7. Security Considerations
8. Maintenance and Future Scalability
⸻
- 🧾 System Overview
The Real Estate Management System is a web-based platform that connects property dealers and buyers. It allows dealers to list properties and update their status, while buyers can view and track properties.
⸻
- 🔐 User Roles & Access Control • Buyer • Register, log in, and update profile • Browse properties • View detailed info and status of listings • Dealer • Register, log in, and update profile • Post and manage property listings • View own listed properties and update their status
⸻
- ⚙️ Functional Specifications
3.1. 👤 User Account Management
• Create Account: Users can register with a role (Buyer/Dealer)
• Login: Secure authentication system
• Update Profile: Editable name, email, password, and contact info
3.2. 🏠 Property Listings (Dealer Only)
• Post New Property: Title, description, images, price, location, and status
• Update Property Status: Dealers can change status to “Available,” “Sold,” etc.
3.3. 🔍 Property Viewing (Buyer Only)
• View Listings: Filter, sort, and view all public property listings
• Check Status: Each listing clearly shows status (Available/Sold)
3.4. 🗂 Dealer Dashboard
• Dealers can view, edit, or remove their own listings
• “My Listings” section for personal property management
⸻
- 🏗 System Architecture Overview • Frontend: React.js (TypeScript) • Backend: Node.js with RESTful APIs • Database: PostgreSQL • Authentication: JWT-based login with role-based access control • CI/CD: GitHub Actions for automatic deployment
⸻
- 🌐 API and Technology Stack • API Architecture: REST • Frontend Framework: React.js with TailwindCSS (or your preferred UI lib) • Backend Framework: Express.js or NestJS • Database: PostgreSQL • CI/CD Pipeline: GitHub Actions
⸻
- 🧰 System Requirements and Development Stack
6.1 Hardware Specifications
6.1.1 Server-Side Requirements
• Processor: Intel Xeon E5 / AMD EPYC 7000 series
• RAM: 16GB minimum (32GB recommended)
• Storage: SSD 512GB / NVMe 1TB
• Network: Minimum 1 Gbps interface
• Operating System: Ubuntu Server 22.04 LTS / Windows Server 2019+
• Database: MySQL 8+ / PostgreSQL 14+
• Cloud Compatibility: AWS, Google Cloud, Azure
• Security: SSL, firewalls, DDoS protection
6.1.2 Client-Side Requirements
• Processor: Intel Core i5 (10th Gen+) / AMD Ryzen 5 3600+
• RAM: 8GB (16GB recommended)
• Storage: SSD 256GB or higher
• Display: 1080p resolution
• Internet Speed: 10 Mbps minimum
• Supported Devices: Desktop, Laptop, Tablet, Mobile
• Browser Compatibility: Latest versions of Chrome, Firefox, Edge
6.2 Software Development Specifications
• Backend: Node.js (Express/NestJS)
• Frontend: React.js + TypeScript(NextJS)
• Database: PostgreSQL
• API Format: REST Documentation
• CI/CD: GitHub Actions
Code Repositories
The project codebase is maintained across the following repositories:
• 🔧 Backend - Node.js(Nest.js): [https://github.com/ShineBo/rems-backend-gp1]
• 🖥 Frontend - React.js(Next.js): [https://github.com/ShineBo/rems-front-end-gp1]
⸻
- 🔒 Security Considerations • Authentication: Secure login with JWT tokens • Authorization: Role-based access control • Encryption: HTTPS (TLS 1.2+), hashed passwords (bcrypt) • Data Validation: Server-side input validation and sanitization
⸻
- 🔄 Maintenance and Future Scalability • Database Backups: Scheduled automatic backups • Planned Features (future scope): • Messaging between buyers and dealers • In-app notifications • Payment integration • Admin dashboard