Files
jmiller f4c7227729 feat: scaffold MokoSuiteTaxi Joomla 6 package
System plugin with 6 helpers (Taxi, Dispatch, Fare, Vehicle, Ride, Zone),
8 SQL tables (vehicles, drivers, zones, fares, rides, ratings, dispatch, shifts),
admin component with 6 views, webservices plugin with 7 API routes,
16 config settings, 21 ACL permissions, and documentation.
2026-06-26 19:20:24 -05:00

33 lines
1.2 KiB
Markdown

# MokoSuiteTaxi
Ride-hailing, dispatch, fleet management, fare zones, and driver scheduling for Joomla 6.
## Quick Reference
| Field | Value |
|---|---|
| **Package** | `pkg_mokosuitetaxi` |
| **Layer** | 2 (requires: Client, CRM) |
| **Language** | PHP 8.3+ |
| **Branch** | develop on `dev`, merge to `main` (protected) |
| **Wiki** | [MokoSuiteTaxi Wiki](https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteTaxi/wiki) |
## Architecture
Joomla **package** -- Layer 2 add-on. CRM contacts as riders/drivers, zone-based dispatch with surge pricing.
## Rules
- **Never commit** `.claude/`, `.mcp.json`, `TODO.md`, `*.min.css`/`*.min.js`
- **Attribution**: `Authored-by: Moko Consulting`
- **Workflow directory**: `.mokogitea/`
- **Standards**: [MokoStandards](https://git.mokoconsulting.tech/MokoConsulting/MokoCLI/wiki)
- **Changelog**: `[Unreleased]` only -- release system assigns versions
## Coding Standards
- PHP 8.3+ / Joomla 6 patterns
- `$this->getDatabase()` in models, `Factory::getContainer()->get(DatabaseInterface::class)` in helpers
- `Factory::getApplication()->getIdentity()` for user
- FOR UPDATE locking on ride acceptance/dispatch to prevent race conditions