A comprehensive and integrated platform for browsing, booking, and managing properties, with robust features for both tenants and property administrators.
- 🏠 Property Management System
- 📸 Screenshots
- 📚 Table of Contents
- 🚀 Project Overview
- ⚙️ Requirements
- 🛠 Installation & Setup
- 👥 System Roles
- 🗄 Database Structure
- 🔗 Interfaces & Routes
- 📚 API Documentation
- 🧾 Sample Responses
- 🔑 Sample Credentials
- 📞 Support & Contributions
- 🏆 Acknowledgments
The Property Management System is a full-stack Laravel application designed to:
✅ Allow user registration and authentication
🏠 Enable property browsing with detailed information
📅 Let users book properties and track booking status
📊 Provide admin dashboard for property and user management
🔐 Enforce role-based access control for admins, employees, and clients
| Component | Version |
|---|---|
| PHP | ≥ 8.2 |
| Composer | Latest |
| Laravel | 12.x |
| Database | MySQL |
| Node.js | Latest (v18+) |
git clone https://github.com/Ebla-a/property-management.git
cd property-managementcomposer install # PHP dependencies
npm install # JS dependenciescp .env.example .env
php artisan key:generatephp artisan migrate --seedphp artisan serve # Start Laravel dev server
npm run dev # Compile frontend assets with Vite| Role | Permissions | Dashboard Route |
|---|---|---|
| Admin | Full system access | /admin |
| Employee | Manage bookings & properties | /employee |
| Client | View properties, make bookings | /dashboard |
id, name, email, password, role, created_at, updated_at
id, title, description, price, location, images, status, created_at
id, user_id, property_id, booking_date, status, notes, created_at
id, user_id, property_id, booking_id, rating, comment, created_at
| Page | Route | Description |
|---|---|---|
| Admin Dashboard | /admin |
Full system management |
| Employee Panel | /employee |
Manage properties and bookings |
| Property Browsing | /properties |
Public property interface |
| Login Page | /login |
Login for all roles |
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/register |
Register a new user |
| POST | /api/login |
User login |
| POST | /api/logout |
Logout (with token) |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/properties |
List all properties (paginated) |
| GET | /api/properties/{id} |
Fetch property details |
| POST | /api/properties |
Create new property (admin only) |
| PUT | /api/properties/{id} |
Update property (admin only) |
| DELETE | /api/properties/{id} |
Delete property (admin only) |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/bookings |
List bookings (role-based filtering) |
| POST | /api/bookings |
Create new booking (client) |
| GET | /api/bookings/{id} |
Get booking details |
| PUT | /api/bookings/{id}/status |
Update status (employee/admin) |
| DELETE | /api/bookings/{id} |
Cancel booking (employee/client/admin) |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/properties/{id}/reviews |
Get all reviews for a property |
| POST | /api/reviews |
Submit a review (client) |
{
"data": {
"id": 3,
"title": "Hintz Rue Apartment",
"type": null,
"city": "Malloryside",
"neighborhood": null,
"address": "59578 Nakia Path Suite 684\nLake Destin, IL 55277",
"rooms": 1,
"area": null,
"price": "521.00",
"status": "hidden",
"is_furnished": false,
"description": null,
"main_image": null,
"amenities": [],
"created_at": "2026-01-11 20:29:21"
}
} "data": [
{
"id": 46,
"status": "pending",
"scheduled_at": "2026-02-14 15:30",
"notes": null,
"property": {
"id": 2,
"title": "Katharina Glens Apartment",
"city": "South Maurine"
},
"customer": null,
"employee": null
},
]Email: admin@example.com
Password: password123
Email: employee@property.com
Password: 12345678
If you find bugs, need help, or would like to contribute:
- Open an issue on the GitHub repo
- Fork and submit a pull request
- Contact the team for feedback or collaboration
Focal X Agency
For their commitment to student growth and learning opportunities.
Mr. Hashim Othman
- Technical guidance
- Concept clarification
- Inspirational mentorship
Mr. Ayham Ibrahim
- Support throughout development
Supervisors
Ms Nourhan almohammed & Ms Muna alrays Technical support and daily follow-up
Focal X Team
For building and supporting this educational journey
ceo and founder Alaa Darwish
| Role | Name |
|---|---|
| Lead Developer | Ebla zyab ali |
| Assistant Developer | Hasan Dayoub |
| full stack | Wajd Heshme |
| Backend Developer | Amin Ali |
| Database Specialist | Enas Alhmoy |
| Backend Developer | Abdullah Shuraitah |
Thank you to all educators, mentors, and contributors who made this project a reality.
