Back to Case Studies
Completed

StudentTracker

EdTech Dashboard2024

Overview

A comprehensive student performance monitoring database. Compiles term metrics, attendance tracking, and exports detailed report sheets dynamically.

The Problem

Educators spend massive hours manually compiling grades sheets from multiple spreadsheets, creating grading drift and reporting lag.

Research Method

Optimized relational indexing structures on student enrollment identifiers to prevent slow queries on massive historical datasets.

Architecture

Vue.js dashboard communicating with Express APIs, managed with Prisma Client layer talking to a transactional MySQL container instance.

Security & Auth

Cookie session-based authentication layered behind secure password crypt salting hashes.

Performance Stats

Database query time: <10ms on indexed filters. Excel sheet export generation: <800ms.

Database Design

TABLE Students (id VARCHAR(36) PRIMARY KEY, name VARCHAR(100), enrollment_no VARCHAR(20) UNIQUE); TABLE Grades (id INT AUTO_INCREMENT PRIMARY KEY, student_id VARCHAR(36), subject VARCHAR(50), marks INT);

API Routing Map

  • GET /api/v1/students - Fetches paginated students registry
  • POST /api/v1/grades/import - Import grade matrices from spreadsheets

Code Pipeline

// Queries metrics using Prisma Client
const grades = await prisma.grades.findMany({
  where: { studentId },
  orderBy: { subject: 'asc' }
});

Infrastructure & Deploy

PM2 runtime wrapper managing process nodes on Ubuntu Linux VPS running NGINX.

Future Roadmap

  • Support PDF automated emailing triggers to registered parent endpoints
  • Add student analytics graphs tracing progress metrics benchmarks