Backend portfolio project

Production-minded accounting demo built to showcase backend engineering skills.

A realistic business application focused on domain rules, data integrity, authorization, auditability, and pragmatic product execution.

Multi-tenant RBAC Audit trail SQL constraints Tests Docker ready
Ledger Forge dashboard with accounting summary metrics and recent invoices

Not another CRUD tutorial.

Built around the backend decisions reviewers actually look for.

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

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.

Ledger Forge customers table with balances, contact details, and actions
Ledger Forge invoice draft editor with line items and server-calculated totals

Invoices

Domain rules where the product risk is real.

Draft editing, lifecycle transitions, server-authoritative totals, and audit history are handled as business behavior instead of UI state.

Engineering focus

Small surface, serious backend shape.

Domain rules

Invoice totals, status transitions, and mutation guards live server-side.

Authorization

RBAC abilities are checked in context, not inferred from routes alone.

Data modeling

PostgreSQL constraints and Drizzle schemas keep tenant data explicit.

Reliability

Audit trail degradation blocks risky writes while preserving reads.

Testing mindset

Unit, integration, route, and browser suites cover different failure modes.

Product execution

The UI exists to make backend behavior visible and reviewable.

Stack

TypeScript from route to database.

A compact full-stack surface built around typed server behavior, relational data, and inspectable UI flows.

AdonisJS TypeScript PostgreSQL Drizzle ORM React Inertia Tailwind Better-Auth

Review the project

Review the architecture, inspect the code, then explore the live demo.