# SDM Backend Documentation Index

> **Last updated:** June 2026 — keep this index in sync when adding or renaming docs.

This folder is the **source of truth** for backend behavior, admin APIs, data model rules, and how AI/human contributors should maintain documentation.

---

## Document Map

| File | Topic |
|---|---|
| [01-project-overview.md](./01-project-overview.md) | Stack, repo layout, API prefixes, env vars, npm scripts |
| [02-authentication-and-roles.md](./02-authentication-and-roles.md) | JWT, roles, OTP policy, authorization rules |
| [03-registration-system.md](./03-registration-system.md) | Registration flow, model, admin edits, delete/archive |
| [04-cashflow-and-transactions.md](./04-cashflow-and-transactions.md) | Payments, cashflow, transactions |
| [05-notifications.md](./05-notifications.md) | In-app notifications |
| [06-database-and-prisma.md](./06-database-and-prisma.md) | Schema, migrations, Prisma workflow |
| [07-nimit-sevak-and-receipt-service.md](./07-nimit-sevak-and-receipt-service.md) | Nimit Sevak + receipt microservice |
| [08-karyakarta-data.md](./08-karyakarta-data.md) | Karyakarta data table CRUD |
| [09-development-guide.md](./09-development-guide.md) | Local setup, debugging, frontend pointers |
| [10-ai-documentation-guide.md](./10-ai-documentation-guide.md) | **Mandatory rules for AI agents** — when and how to update these docs |

---

## Related Frontend Docs

| File | Topic |
|---|---|
| `sdm-frontend/AI_FRONTEND_RULES.md` | UI/table/responsive rules for new frontend work |

When a feature spans backend + frontend, update **both** the relevant backend doc here and `AI_FRONTEND_RULES.md` (or add a short cross-link in the feature doc).

---

## Quick Pointers (current version)

- **Admin registration edit modal** (SUPER_ADMIN + ACCOUNT_ADMIN): see [03-registration-system.md § Admin Registration Editing](./03-registration-system.md#admin-registration-editing-super_admin--account_admin)
- **Role authorization expansion**: `SUPER_ADMIN` in a route also grants `DB_ADMIN`; `ACCOUNT_ADMIN` must be listed explicitly per route — see [02-authentication-and-roles.md](./02-authentication-and-roles.md)
- **Registration list UI**: `sdm-frontend/src/components/registrations-display.tsx` + `registrations-data-table.tsx`
