A Turborepo monorepo demonstrating DCI interoperability flows between the Social Protection MIS (SP‑MIS) and Employment Services System (ESS), built with Next.js 13+, TypeScript, and shadcn/ui.
- Node.js 20+
- pnpm 10 or newer
Clone the repository and install dependencies:
pnpm installStart all apps in development mode from the project root:
pnpm devThis will run both Next.js applications concurrently:
- SP‑MIS → http://localhost:3000
- ESS → http://localhost:3001
apps/
ess/ # Employment Services System (ESS)
sp-mis/ # Social Protection MIS (SP-MIS)
packages/
ui/ # Shared shadcn/ui component library
eslint-config/
typescript-config/
types/ # Shared types
Each app uses the Next.js App Router (app/ directory) and shares the same design system through the @workspace/ui package.
This template is based on the official shadcn/ui setup, pre‑configured for monorepos.
From the repository root, run:
pnpm dlx shadcn@latest add button -c apps/essThis will place the UI component inside the shared package:
packages/ui/src/components/
Tailwind is already configured across the monorepo:
- Each Next.js app imports its theme via
globals.css. tailwind.config.tsis set up to read styles from theuipackage.
Use any shared component in your apps by importing from the ui package:
import { Button } from "@workspace/ui/components/button";Demonstrates a Social Protection → Employment referral with lawful consent, automated eligibility, and case feedback.
Demonstrates an Employment → Social Protection referral, verification, and enrollment with real‑time status synchronization.
| Command | Description |
|---|---|
pnpm install |
Install dependencies for all apps and packages |
pnpm dev |
Run all applications in development mode |
-
Install dependencies
pnpm install
-
Start both Next.js apps
pnpm dev
-
Visit:
- SP‑MIS → http://localhost:3000
- ESS → http://localhost:3001