This is a full-stack property finder web application, inspired by platforms like Property Finder Saudi Arabia (you can change to any country). It allows users to search, list, and manage properties for sale or rent, with features tailored to different types of users.
| Component | Technology |
|---|---|
| Backend | Django 5.x |
| API Framework | Django REST Framework |
| Auth | JWT (Simple JWT) |
| Database | PostgreSQL (via Docker) |
| Deployment | Docker & Docker Compose |
| Frontend | NextJS |
| HTTP cookies | Http Only Cookies |
https://dbdiagram.io/d/Property-Finder-68df410ed2b621e42210ee1f
- Role-based access control (5 user types)
- Property listings with detailed information (location, price, type, images, etc.)
- Advanced search & filtering (buy, rent, commercial, residential, etc.)
- Secure authentication (JWT with HTTP-only cookies)
- Admin dashboard for managing users and properties
- Modern frontend built with Next.js (React)
- Robust backend built with Django REST Framework (DRF)
The system is powered by a CustomUser model with a role field, which determines user type and permissions.
- Full access to all data
- Manage users and property listings
- Can list multiple properties (apartments, villas, etc.)
- Typically represents a real estate development company
- Can manage property listings
- Can have Agents working under them
- Works under a Broker
- Can list and manage properties on behalf of the broker
- Can search, browse, and inquire about properties
- Can save favorite listings.
- Backend: Django REST Framework (DRF)
- Frontend: Next.js (React, TypeScript-ready)
- Database: PostgreSQL (recommended, but can work with SQLite/MySQL)
- Authentication: JWT (stored in HTTP-only cookies) with refresh token logic
- Deployment-ready with modular, scalable architecture.
The goal of this project is to create a scalable, role-based property listing platform where different user types can interact in a real estate ecosystem โ just like on Property Finder.
Hereโs how different users interact with the platform:
Can directly sign up and start browsing properties.
Must first go to the โJoin Usโ page and submit an application form (with full name, email, job, experience, etc.). The Admin team reviews the request. If approved, the applicant receives a special registration link via email to create an account as a Developer, Broker, or Agent.
Created manually from the backend with full access rights.
Developers, Brokers, and Agents can create property listings (with images, details, and pricing).
Buyers browse listings using filters (buy/rent, price range, location, property type).
Buyers contact Agents or Brokers for more details. Agents respond on behalf of Brokers or Developers.
Admins oversee the entire platform, review role requests, and manage users and properties.
