Luru π°πͺ β Kenya's Digital Succession Copilot. NestJS monolith + React 19 SPA. Readiness scores, family trees, estate inventory, and Kenyan Succession Act (Cap 160) compliance.
# Luru π°πͺ
> Kenya's Digital Succession Copilot β from "kurithi" (Swahili: to inherit)
Luru helps Kenyan families navigate estate planning, succession, and probate with clarity and compliance. Built around the Kenyan Succession Act (Cap 160), it guides users through family registration, estate inventory, and a Readiness Score that shows exactly what's needed to reach court-ready status.
---
## ποΈ Architecture
| Layer | Stack |
|-------|-------|
| **Backend** | NestJS 11 monolith, Prisma 7, PostgreSQL 18 |
| **Frontend** | React 19, Vite 7, Tailwind v3, TanStack Query v5 |
| **Charts** | Recharts, ReactFlow (family tree) |
| **Auth** | JWT + Refresh Tokens, argon2id hashing |
| **Database** | Native PostgreSQL 18 (NOT Docker β SCRAM auth bug on Windows) |
### Why a monolith?
The original codebase had 6 microservices (accounts, family, estate, succession, documents, messaging) with an API gateway, RabbitMQ, and OpenTelemetry. For an MVP, that's overkill. Everything was merged into a single NestJS app β one process, one database, zero ceremony.
---
## π Quick Start
### Prerequisites
- Node.js 24+
- PostgreSQL 18 (native install, not Docker)
- npm
### Backend
```bash
cd mirathi-backend
# Install deps
npm install
# Generate Prisma client
npx prisma generate
# Create database & push schema
npx prisma db push --schema libs/database/prisma/schema.prisma
# Seed demo data (see libs/database/prisma/seed.sql or use the SQL below)
# Option 1: Run the seed SQL via psql
# Option 2: Use npx ts-node libs/database/prisma/seed.ts (requires working pg connection)
# Configure .env
cp .env.example .env
# Edit DATABASE_URL=postgresql://luru:luru@localhost:5432/luru?schema=public
# Build & run
npx nest build
node dist/main.js
```
The backend runs on `
localhost` with Swagger docs at `/docs`.
### Frontend
```bash
cd mirathi-frontend
# Install deps
npm install
# Configure .env
echo "VITE_API_BASE_URL=/api" > .env
# Run dev server
npx vite --host
```
The fr β¦