client engagement · live in production
Royal Land PMS
A production Django system that runs a real-estate client's entire sales lifecycle — plots, installment plans, payment tracking, and the audit trail underneath all of it.
- Full sales lifecycle, modeled end to end: Projects → Units → Customers → Bookings → Installment Plans → Installments → Payments → Expenses.
- Append-only audit logging on every financial record — this system handles real client money, so nothing gets silently overwritten.
- Automated challan generation with WeasyPrint, replacing a manual paperwork step the client's staff used to do by hand.
- Soft-deletes and scheduled overdue detection across financial records, so late payments surface on their own instead of living in someone's spreadsheet.
the interesting decision
Why cron, not Celery. V1 catches overdue installments with scheduled management commands, not a task queue.
Celery was deliberately deferred — a single-firm system with a few hundred installments a month doesn't need the operational overhead of a broker yet. That's a V2 problem, once there's a real reason for it.
try it yourself
admin
password admin123
Seeded with sample data on a separate deployment from the client's live system — safe to explore, click around, and reset. No real customer data lives here.
system overview — domain flow