Real Estate CMS Documentation
This documentation describes the Laravel application in this repository as a multi-site real estate CMS that powers three related web properties. It is based on the current codebase and references real files and modules. When behavior is inferred or appears partially implemented, the docs call it out explicitly.
Supported Sites / Brands (Observed) - Minto Homes (mintocom) - corporate and for-sale communities - Minto Apartments (mintoapartments) - rentals - Minto Apartment REIT (mintoapartmentreit) - investor relations and REIT content
3-Level Content Hierarchy (Observed + Mapped)
- National (site / brand): websites table and App\Models\Websites
- Regional (market / city / category): CategoriesCities, MGPages, NewsPages
- Community (project / property): Locations, PPages, Series, Units
Tech Stack Summary (Observed)
- Backend: Laravel (routes in routes/, controllers in app/Http/Controllers/)
- Frontend: Blade views under resources/views/, assets built with Laravel Mix (webpack.mix.js)
- Content storage: Dictionary table + DictionarizedModel pattern (app/Models/Dictionary.php, app/Models/DictionarizedModel.php)
- Media storage: S3 integration via App\Models\Legacy\S3MediaManager
- Permissions: Spatie Permission models (app/Models/Roles.php, app/Models/Permissions.php)
Where to Start
- Architecture: overview.md and architecture.md
- Content model: business-model/ and data/
- Backend: backend/
- Frontend: frontend/
- End-to-end flows: flows/
Quick Local Setup (from README.md)
1. Install Node.js 14.16.x, Composer 2+, PHP 8.1.12+, MySQL 5.6+.
1. Add local hosts entries: 127.0.0.1 loc.minto.com, 127.0.0.1 loc.mintoapartments.com, 127.0.0.1 loc.mintoapartmentreit.com.
1. composer install
1. npm install
1. npm run dev
1. Copy .env.example to .env, set DB credentials.
1. php artisan migrate:fresh --seed
1. php artisan key:generate
1. php artisan serve
Run Docs Locally
1. From integrations/mkdocs, run mkdocs serve --dev-addr 127.0.0.1:8003.