πŸ“„
Part 1 article
Schema Design for a Legal Practice Management System

Matters, proceedings, parties, hearings, work_logs, and billing_entries β€” with team_id isolation on every table, soft deletes everywhere, and audit trails built…

β†’
πŸ“„
Part 2 article
Role-Based Access Control for Legal Teams

Five roles (super_admin, admin, lawyer, staff, client), team isolation at the repository layer, feature gating via a capability matrix, and the 404-not-403 rule…

β†’
πŸ“„
Part 3 article
Time Clock and Work Log System

Start/stop timer with server-side drift correction, work log approval workflow (draft β†’ pending_review β†’ approved β†’ applied), and the deduplication check that p…

β†’
πŸ“„
Part 4 article
Per-Matter / Per-Case / Per-Lawyer Billing Rate Hierarchy

5-level rate resolution: proceeding+lawyer β†’ proceeding β†’ matter+lawyer β†’ matter β†’ user default. First-non-null cascade with date-range effective configs.

β†’
πŸ“„
Part 5 article
Invoice and Payment System

Billing entry β†’ invoice pipeline with discount types (percentage, fixed, write-off), retainer deduction logic, and PDF generation.

β†’
πŸ“„
Part 6 article
Structured Logging for Legal SaaS

JSONL structured logging with correlation IDs, the production allowlist that keeps PII out of app logs, rolling rotation, and the separation between audit logs …

β†’
πŸ“„
Part 7 article
Workspace UI β€” Notes, Tasks, Reminders

Unified workspace for legal teams: all item types in one view, assignment workflow with team validation, cron-driven reminder dispatch, and voice note linkage f…

β†’
← All Series