Technical documentation for the NIPUN Lakshya (NL) application — a digital Foundational Literacy and Numeracy (FLN) measurement platform deployed across government primary schools in Uttar Pradesh.
Built with VitePress. Auto-deployed to GitHub Pages on every push to main.
Prerequisites: Node.js 18+
# Install dependencies
npm install
# Start local dev server with hot reload
npm run dev# Build for production
npm run build
# Preview the production build locally
npm run previewnl-docs/
├── docs/
│ ├── .vitepress/
│ │ └── config.ts # Site config, nav, sidebar
│ ├── guide/ # Section 1 – Executive Overview
│ ├── program-design/ # Section 2 – Program Design & User Architecture
│ ├── assessment-framework/ # Section 3 – Assessment Framework
│ ├── frontend/ # Section 4 – Frontend Architecture
│ ├── backend/ # Section 5 – Backend Architecture
│ ├── data-architecture/ # Section 6 – Data Architecture & Governance
│ ├── api/ # Section 7 – API Architecture
│ ├── cycle-management/ # Section 8 – Assessment Cycle Management
│ ├── bulk-scripts/ # Section 9 – Bulk Scripts & Utilities
│ ├── integrations/ # Section 10 – External Integrations
│ ├── infrastructure/ # Section 11 – Infrastructure & Deployment
│ ├── system-dependencies/ # Section 12 – System Dependencies
│ ├── repository/ # Section 13 – Repository Structure
│ ├── limitations/ # Section 14 – Known Limitations
│ ├── appendices/ # Section 15 – Appendices
│ └── index.md # Homepage
├── .github/workflows/
│ └── deploy.yml # GitHub Actions – auto deploy to GitHub Pages
└── package.json
Each section is a markdown file inside the relevant folder under docs/. Edit the file directly — the dev server hot-reloads on save.
To add a new page:
- Create a
.mdfile in the appropriate folder - Add it to the sidebar in
docs/.vitepress/config.ts
The site auto-deploys to GitHub Pages on every push to main via .github/workflows/deploy.yml.
One-time setup required: Go to the repo → Settings → Pages → Source → set to GitHub Actions
Live URL: https://mission-prerna.github.io/nl-docs/
To use a custom domain, add it under Settings → Pages → Custom domain, and create a docs/public/CNAME file containing your domain name.