A modern, full-stack Real Estate Property Management System built with Laravel 12 (Backend) and React 19 + TypeScript (Frontend). This platform enables property agents to manage listings, users to browse and inquire about properties, and administrators to oversee the entire ecosystem with AI-powered insights.
- Property Management: Create, update, and manage property listings with images
- Enquiry Management: Handle customer inquiries and track communication
- AI-Powered Tools: Get price suggestions and generate property descriptions
- Analytics Dashboard: Track property views, inquiries, and performance metrics
- Profile Management: Professional agent profiles with company information
- Property Browsing: Search, filter, and discover properties
- Advanced Search: Filter by location, price, type, bedrooms, and more
- Wishlist Management: Save favorite properties for later
- Enquiry System: Contact agents directly through the platform
- User Dashboard: Track inquiries and saved properties
- User Management: Manage agents and user accounts
- Property Oversight: Review and manage all property listings
- Location Management: Add and manage property locations
- AI Analytics: Market insights and trend analysis
- System Analytics: Comprehensive platform usage statistics
- Price Suggestions: AI-powered property pricing recommendations
- Description Generation: Automatic property description creation
- Market Insights: Real-time market trend analysis
- Analytics Dashboard: Data-driven decision making tools
- Framework: Laravel 12
- Language: PHP 8.2+
- Database: SQLite (configurable to MySQL/PostgreSQL)
- Authentication: Laravel Sanctum
- API: RESTful with API versioning (/api/v1)
- Rate Limiting: Built-in rate limiting middleware
- Validation: Form Requests and custom validators
- Framework: React 19 with TypeScript
- Build Tool: Vite
- Styling: Tailwind CSS with custom design system
- State Management: React Context + TanStack Query
- Routing: React Router v7 with role-based protection
- Forms: React Hook Form + Zod validation
- UI Components: Headless UI + Heroicons
- Animations: GSAP, Framer Motion, Lenis.js
- Charts: Recharts, Chart.js
- HTTP Client: Axios with interceptors
- Code Quality: ESLint + Prettier
- Type Safety: Strict TypeScript configuration
- Testing: PHPUnit (Backend), Jest (Frontend planned)
- CI/CD: GitHub Actions workflow
- Version Control: Git with conventional commits
MyProperty/
├── backend/ # Laravel API Backend
│ ├── app/
│ │ ├── Http/Controllers/ # API Controllers
│ │ ├── Models/ # Eloquent Models
│ │ └── Middleware/ # Custom Middleware
│ ├── database/
│ │ ├── migrations/ # Database Migrations
│ │ └── seeders/ # Database Seeders
│ ├── routes/
│ │ └── api/
│ │ └── v1.php # API v1 Routes
│ ├── .env.example # Environment Variables Template
│ └── composer.json # PHP Dependencies
├── frontend/ # React TypeScript Frontend
│ ├── src/
│ │ ├── components/ # Reusable Components
│ │ ├── contexts/ # React Contexts
│ │ ├── pages/ # Page Components
│ │ ├── layouts/ # Layout Components
│ │ ├── lib/ # Utilities & API Service
│ │ └── types/ # TypeScript Type Definitions
│ ├── public/ # Static Assets
│ ├── .env.example # Environment Variables Template
│ └── package.json # Node.js Dependencies
├── .github/ # GitHub Configuration
│ └── workflows/
│ └── ci.yml # CI/CD Pipeline
├── docs/ # Documentation
│ ├── API_DOCUMENTATION.md
│ ├── ARCHITECTURE.md
│ ├── FRONTEND_SETUP.md
│ └── BACKEND_SETUP.md
├── README.md # This file
├── LICENSE # MIT License
└── CONTRIBUTING.md # Contribution Guidelines
- Node.js 20+ and npm
- PHP 8.2+ and Composer
- Git
git clone https://github.com/your-username/myproperty.git
cd mypropertycd backend
composer install
cp .env.example .env
php artisan key:generate
php artisan migrate
php artisan db:seed
php artisan serveThe API will be available at http://localhost:8000
cd frontend
npm install
cp .env.example .env
npm run devThe frontend will be available at http://localhost:5173
- Frontend: http://localhost:5173
- API Documentation: http://localhost:8000/api/info
- Default Admin: admin@example.com / password
- Default Agent: agent@example.com / password
- Default User: user@example.com / password
For detailed step-by-step instructions, please refer to:
APP_NAME=MyProperty
APP_ENV=local
APP_KEY=base64:...
APP_DEBUG=true
APP_URL=http://localhost:8000
DB_CONNECTION=sqlite
DB_DATABASE=database/database.sqlite
Sanctum
SANCTUM_STATEFUL_DOMAINS=localhostVITE_API_URL=http://localhost:8000/api/v1
VITE_APP_NAME=MyProperty
VITE_ENABLE_AI_FEATURES=true
VITE_ENABLE_DARK_MODE=true- Browse properties
- Search and filter listings
- Save properties to wishlist
- Submit property inquiries
- View personal dashboard
- All User permissions
- Create and manage properties
- Upload property images
- Respond to inquiries
- View agent analytics
- Access AI tools for pricing and descriptions
- All Agent permissions
- Manage users and agents
- Manage locations
- View platform analytics
- Access AI market insights
- System administration
The platform includes several AI-powered features:
- Price Suggestion: Get AI-recommended pricing for properties based on market data
- Description Generation: Automatically generate compelling property descriptions
- Market Insights: Analyze market trends and property performance
- Analytics Dashboard: Data-driven insights for better decision making
For detailed information, see AI Features Documentation.
(Add screenshots or demo video links here)
cd backend
php artisan testcd frontend
npm run testThe API follows RESTful conventions with versioning:
POST /api/v1/register- User registrationPOST /api/v1/login- User loginPOST /api/v1/logout- User logout
GET /api/v1/properties- List properties with filtersGET /api/v1/properties/{slug}- Get property detailsPOST /api/v1/agent/properties- Create property (Agent)PUT /api/v1/agent/properties/{id}- Update property (Agent)
POST /api/v1/enquiries- Submit enquiryGET /api/v1/user/enquiries- Get user enquiriesGET /api/v1/agent/enquiries- Get agent enquiries
For complete API documentation, see API Documentation.
main- Production-ready codedevelop- Integration branchfeature/*- New featuresfix/*- Bug fixeshotfix/*- Critical fixes
Follow conventional commits:
feat:- New featuresfix:- Bug fixesdocs:- Documentation changesstyle:- Code style changesrefactor:- Code refactoringtest:- Test additionschore:- Maintenance tasks
- Create feature branch from
develop - Make changes with proper commits
- Test your changes
- Submit PR to
developbranch - Code review and merge
We welcome contributions! Please read our Contributing Guidelines before submitting pull requests.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Laravel - The PHP Framework for Web Artisans
- React - A JavaScript library for building user interfaces
- Tailwind CSS - A utility-first CSS framework
- Vite - Next Generation Frontend Tooling
If you have any questions or need help:
- Create an Issue
- Check our Documentation
- Join our Discord (if available)
⭐ If this project helped you, please give it a star!


