School Management System — Full-Stack Web Application
A complete school management platform built to digitize and streamline core school operations, currently live in production for a real institution at lbphs.gov.bd. It supports academic, administrative, and communication workflows for students, teachers, and administrators end-to-end.
Project Purpose
The goal is to minimize manual paperwork, enable transparent record tracking, and provide real-time management of academic and administrative processes — from a student's first admission form to their final report card.
Main Features
- Student Management: Add, update, and manage student profiles, academic info, and images.
- Teacher Management: Manage faculty profiles, subject assignments, and permissions.
- Subject & Exam Management: Create/import subjects, schedule exams, input/edit marks, calculate GPA/grades.
- Automated Result Engine: Generate class-wide merit lists and auto-promote students by computing final merit, next-year roll, and next-year section.
- Marksheet & Reports: Auto-generate PDF marksheets, downloadable/printable report cards and routines via server-side Puppeteer rendering.
- Online Admission System: Public admission forms with merit/waiting-list processing and grade-specific registration flows for Class 6, Class 8, and SSC.
- SMS Alerts: Automatic, templated attendance notifications to parents, with delivery status and cost tracking from the dashboard.
- Attendance & Promotion: Record attendance, filter by class/date, analyze trends, promote students based on performance.
- Notice Board: Post notices with PDF attachments, preview/download files, simple notice management.
- Gallery & Event Management: Create events, upload media, approve/publish student submissions.
- Alumni Management: Transition graduated students to alumni records to preserve institutional history.
- Authentication & Security: JWT login, role-based access control, file validation, route protection.
- Bulk Import: Excel-based bulk student and subject import.
- Google Sheets Integration: Sync academic data for staff who prefer working in spreadsheets.
Tech Stack
- Frontend: React, Vite, Tailwind CSS, Zustand, Framer Motion, Shadcn UI
- Backend: Node.js with Express
- Database: PostgreSQL managed with Prisma ORM
- Background Jobs: Bull + Redis for asynchronous SMS dispatch and image processing
- Authentication: JWT-based authentication with protected routes and role-based logic
- File Handling: Multer for file uploads; AWS S3 / Cloudflare R2 for storage with Cloudinary for image optimization
- PDF Reports: Puppeteer for server-side PDF rendering and formatting
- Excel Handling: xlsx library for importing bulk data such as subjects and students
System Architecture
Modular RESTful API, scalable deployment, external service integration, client-server separation, secure authentication, type-safe data modeling.
What I Learned
- Built a full-stack application from scratch with production-level features, now serving a real school
- Designed an automated promotion/merit engine that has to be correct — there's no room for error in student results
- Implemented complex role-based access controls for secure feature isolation
- Created dynamic and printable PDF reports using headless browsers
- Optimized database schemas for performance and clarity using Prisma ORM
- Handled real-world problems such as bulk data import, file validation, SMS delivery tracking, and asynchronous processes