Customers
Tenant-scoped records with simple, inspectable workflows.
The customer area keeps routine operations flat while still respecting workspace boundaries, authorization checks, and deletion rules once invoices reference a contact.
Backend portfolio project
A realistic business application focused on domain rules, data integrity, authorization, auditability, and pragmatic product execution.
Not another CRUD tutorial.
Ledger Forge models tenant boundaries, RBAC, invoice lifecycle rules, audit trail failure modes, and database constraints in a compact product surface that is easy to inspect.
Customers
The customer area keeps routine operations flat while still respecting workspace boundaries, authorization checks, and deletion rules once invoices reference a contact.
Invoices
Draft editing, lifecycle transitions, server-authoritative totals, and audit history are handled as business behavior instead of UI state.
Engineering focus
Invoice totals, status transitions, and mutation guards live server-side.
RBAC abilities are checked in context, not inferred from routes alone.
PostgreSQL constraints and Drizzle schemas keep tenant data explicit.
Audit trail degradation blocks risky writes while preserving reads.
Unit, integration, route, and browser suites cover different failure modes.
The UI exists to make backend behavior visible and reviewable.
Stack
A compact full-stack surface built around typed server behavior, relational data, and inspectable UI flows.
Review the project