School Management System
A web app for managing school operations and student data.
Project Overview
School Management System — Full-Stack Web Application
This project is a complete school management platform that I designed and developed entirely by myself. It is built to support the academic, administrative, and operational workflows of educational institutions by digitizing manual processes, streamlining communication, and centralizing data access for students, teachers, and administrators.
Project Purpose
The main goal of this system is to reduce administrative overhead and enable a transparent, real-time academic management experience. With user-specific dashboards, automated report generation, secure file management, and integrated attendance and grading systems, it provides all the tools necessary to operate a modern school efficiently.
Main Features
- Student Management: Add, update, and delete student profiles, including personal and academic details, class assignments, and profile pictures.
- Teacher Management: Manage faculty records with qualifications, subject assignments, and profile images. Teachers have access to student lists, exams, and attendance based on permissions.
- Subject Management: Create and assign subjects to specific classes. Supports bulk import via Excel sheets.
- Exam and Marks Management: Schedule exams, input and edit marks, calculate GPA and grades, and generate marksheets automatically as printable PDFs.
- Notice Board: Post and publish notices to specific user groups. Admins can upload attachments which are hosted securely on Google Drive with preview and download links.
- Event and Gallery Management: Admins can create events and manage media uploads. Students can also upload event-related images which require admin approval before publication.
- Attendance System: Daily or subject-wise attendance tracking with filters by class, subject, or date. Includes student promotion logic based on attendance and academic performance.
- Authentication and Authorization: Role-based access control using secure JWT authentication. Admins and teachers have different access scopes throughout the platform.
- PDF Generation: Marksheet and report generation with server-side rendering using Puppeteer.
- Google Drive Integration: All uploaded PDF and notice files are stored in a specified Drive folder using a secure service account with download and preview links stored in the database.
Tech Stack
- Frontend: React, Vite, Tailwind CSS, Zustand, Framer Motion, Shadcn UI
- Backend: Node.js with Express
- Database: PostgreSQL managed with Prisma ORM
- Authentication: JWT-based authentication with protected routes and role-based logic
- File Handling: Multer for file uploads; Google Drive API for cloud storage
- 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
The architecture follows a modular, RESTful API design pattern. It supports scalable deployment, integrates external services like Google Drive, and includes client-server separation with secure authentication. It also uses Prisma’s type-safe data modeling for clean and efficient database operations.
What I Learned
- Built a full-stack application from scratch with production-level features
- Learned how to integrate external APIs like Google Drive for real-time file hosting
- 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, and asynchronous processes
Technologies Used
Gallery
































