Dgnagrik: Analysis Portal
A comprehensive educational analytics platform built to centralize and visualize school data across Karnataka, supporting government officials in data-driven decision-making. Features a multi-level reporting system State, Block, and School Level with interactive dashboards, charts, and filterable table-based reports covering school performance and teacher information. Includes report export and download functionality, enabling administrators to monitor trends, compare regional statistics, and streamline educational planning and policy decisions.
Author: Prince Malani | Technologies: JavaScript, Node.js, MongoDB, Express
Project Overview & Architecture
# Digital Nagarik Program
## Project Brief
The Digital Nagarik Program platform is a full-stack web application built to manage, monitor, and streamline educator data, training records, and analytics across multiple regions. It replaces fragmented, manual administrative processes with a single system that gives program administrators real-time visibility into teacher participation, training progress, and engagement, along with the tools to import data in bulk and generate polished reports on demand.
The platform brings together an analytics dashboard, a searchable teacher directory, a bulk data-import pipeline, and an automated reporting suite, all secured behind role-based authentication, into one cohesive administrative tool for running a large, multi-region teacher training program.
## Problem Statement
Running a teacher training program across multiple regions generates a constant stream of data — who's participating, what training they've completed, how engaged they are — that's difficult to manage without dedicated infrastructure. Without a central system, that information tends to live scattered across spreadsheets and manual records, making it hard for administrators to get an accurate, up-to-date picture of the program at any given moment, let alone compare progress across regions.
Bringing new teachers into the program at scale is its own challenge: entering hundreds of records by hand is slow and error-prone, and administrators need a fast, reliable way to bulk-load teacher data instead. On top of that, programs like this regularly need to produce reports and summaries — for reviews, funders, or oversight — and generating those manually from raw data eats up time that would be better spent running the actual program.
## Solution Architecture
At the center of the platform is a teacher directory that stores each participant's data, training records, and region, with real-time search, filtering, and pagination so administrators can quickly find and manage any teacher in the program. Sitting alongside it is an analytics dashboard that turns that same data into real-time visual metrics — total participating teachers, region-wise distribution, training progress, and engagement — giving administrators a live view of how the program is performing.
New teachers can be brought into the system individually or in bulk: administrators can upload an Excel or CSV spreadsheet, and the platform validates and seeds the records directly into the teacher database, rather than requiring manual entry. Whenever administrators need to share results, the platform can generate polished PDF and image reports and export them on demand, turning the underlying data and dashboard views into ready-to-share documents.
Access to all of this is protected by a secure, role-based login system, with password recovery and protected routes ensuring only authorized administrators can view or modify program data.
## Technical Execution
- Built the platform as a full-stack web application, with a modern, responsive React-based frontend and a Node.js backend
- Used a document-based database to store and query teacher records, training data, and regional information efficiently
- Engineered a bulk-ingestion pipeline that parses uploaded Excel/CSV spreadsheets asynchronously, validates each record, and writes them into the database with minimal delay, turning hundreds of manual entries into a single upload
- Built a real-time analytics dashboard that computes and visualizes teacher counts, regional distribution, training progress, and engagement metrics directly from the underlying data
- Implemented client-side report generation, rendering dashboard views and data tables directly into styled, downloadable PDF and image reports from the browser
- Built secure, token-based authentication with password recovery and protected routes, so program data stays accessible only to authorized administrators
- Designed the interface to work equally well for administrators on desktop and on mobile, given how program data often needs to be checked on the go
## Results & Impact
- Replaced manual, spreadsheet-based tracking with a real-time dashboard covering teacher participation, regional distribution, training progress, and engagement
- Turned bulk teacher onboarding into a single spreadsheet upload, removing the need to manually enter records one at a time
- Gave administrators on-demand PDF and image reports generated directly from live program data, cutting out manual report-building
- Secured the whole platform behind role-based, token-based authentication with built-in password recovery
Together, these pieces turn a multi-region teacher training program — previously tracked by hand — into something administrators can monitor, search, and report on from a single dashboard, with new teachers onboarded in bulk rather than one at a time.
## Key Learnings
- Making bulk data import asynchronous and validated at the point of ingestion meant large spreadsheet uploads didn't slow down or corrupt the rest of the system, even as the teacher database grew
- Generating reports directly in the browser, from the same views administrators already use, kept the reporting workflow simple, with no need for a separate reporting service or manual export step
- Designing the analytics dashboard around the same underlying data model as the teacher directory kept the two in sync automatically, rather than needing a separate process to keep metrics up to date
- Building the interface to work well on both desktop and mobile from the start made the platform usable for administrators who need to check on the program without being at a desk