generated from MokoConsulting/Template-Joomla
2.2 KiB
2.2 KiB
MokoSuiteRealty
Real estate management for Joomla 6 — listings, showings, offers, commissions, open houses, property search.
Quick Reference
| Field | Value |
|---|---|
| Package | pkg_mokosuiterealty |
| Layer | 2 (requires: Client → CRM) |
| Language | PHP 8.3+ |
| Branch | develop on dev, merge to main (protected) |
| Wiki | MokoSuiteRealty Wiki |
Architecture
Joomla package (pkg_mokosuiterealty) — Layer 2 add-on extending MokoSuiteCRM.
Dependencies
- MokoSuiteClient (Layer 0) — base platform
- MokoSuiteCRM (Layer 1) — contacts, deals, invoicing
Helpers (6)
ListingHelper— filtered search, dashboard stats, price history (transactional)CommissionHelper— split calculations, agent YTD, pending payoutsShowingHelper— scheduling, agent calendar, buyer feedbackOfferHelper— submit, accept (atomic FOR UPDATE), competing rejectionOpenHouseHelper— event scheduling, visitor sign-in, lead capturePropertySearchHelper— Haversine geo proximity, saved searches
Database Tables (9)
listings, listing_photos, showings, offers, commissions, open_houses, open_house_visitors, price_history, saved_searches
Source Directory
source/pkg_mokosuiterealty.xml— package manifestsource/packages/— sub-extensions
Rules
- Never commit
.claude/,.mcp.json,TODO.md,*.min.css/*.min.js - Attribution:
Authored-by: Moko Consulting - Workflow directory:
.mokogitea/ - Wiki: documentation lives in the Gitea wiki, not
docs/files - Standards: MokoStandards
- Changelog:
[Unreleased]only — release system assigns versions - No upstream references: never reference competitor products
Coding Standards
- PHP 8.3+ / Joomla 6 patterns
$this->getDatabase()in models,Factory::getContainer()->get(DatabaseInterface::class)in helpersFactory::getApplication()->getIdentity()for userFOR UPDATEinside transactions for race-condition-prone operationsquoteName()for columns,(int)cast for IDs,quote()for strings