Educore: Cloud-Native Educational Management System

An enterprise-grade, scalable ERP tailored for modern educational institutions.

#nextjs#django#erp#system-design#docker#shadcn#material-ui
Frontend
Next.js
React
Tailwind CSS
Backend
Django
PostgreSQL
DevOps
Docker

Educore is a highly scalable, multi-tenant educational management system built to eliminate administrative bottlenecks. It features isolated environments for Officials, Teachers, and Students, alongside a custom-built hierarchical file management system and an ACID-compliant assignment grading pipeline.

Timeline
April 2025 - Sept 2025
Team Size
3
Categories
WEB, DBMS, FULLSTACK

Project Overview

The Problem

  • Fragmented management tools causing high administrative overhead
  • Lack of unified file and resource sharing platforms inside existing ERPs

Key Features

  • Role-Based Access Control (RBAC) across isolated dashboards
  • Custom Drive System with parallel multi-file uploads and bulk actions
  • Scalable Assignment and Grading workflow with real-time feedback

Novelty

  • Google Drive-like native hierarchical file explorer integrated natively
  • Fail-safe concurrent file handling and ACID-compliant transactional flows

Learning Outcome

  • Architecting scalable cloud-native microservices
  • Designing complex relational database schemas for nested directories

Detailed Features

Select a feature to learn more.

Distinct, highly secure portals for Teachers, Students, and Officials utilizing JWT authentication to guarantee complete data isolation and targeted analytics.

Decoupled server ecosystem for scalable deployments

Microservices-Inspired Modular Backend

The backend infrastructure is structurally divided into independent modules (such as Authentication, Drive, and Assignments) utilizing Django's application architecture. By containerizing the entire ecosystem via Docker, the system is primed for predictable deployments and isolated dependency management. This architectural decoupling ensures that a crash in one module—such as Assignments—does not bring down the entire platform, maximizing overall system uptime.

Notice Board Module

Notice Board Module

Robust security pipeline preventing unauthorized access

Zero-Trust Token-Based Authentication

A comprehensive security pipeline is enforced by generating short-lived JSON Web Tokens (JWT) upon OTP verification. To mitigate token hijacking, refresh tokens are automatically rotated and blacklisted upon user logout via custom Django authentication backends. The short lifespan of the access tokens ensures that even if intercepted, the vulnerability window remains minimal, maintaining a strict zero-trust environment.

Authenticated Teacher Profile

Authenticated Teacher Profile

Strict data boundaries across multiple user types

Database-Level Role Isolation (RBAC)

Role-Based Access Control (RBAC) is implemented using discrete PostgreSQL database models for different user types (Students, Teachers, Officials). These boundaries are enforced via custom Django middleware that intercepts the request lifecycle, validating the user's explicit permissions before the view logic is even executed. This guarantees that cross-role data leaks are structurally impossible.

Proprietary Drive system handling deep directory structures

Self-Referential Hierarchical Storage

A proprietary Drive subsystem was engineered by designing self-referential PostgreSQL schemas. This specialized relational design allows folders to act as parents to other folders recursively, facilitating a Google Drive-like experience directly within the educational platform. The API accommodates infinitely deep folder hierarchies and seamlessly processes fast, parallel chunked uploads piped directly from the Next.js frontend.

Root Directory View

Root Directory View

Minimizing server overhead during file sharing

Storage Deduplication via Metadata Aliasing

Storage capacity overhead is drastically minimized through an advanced deduplication strategy. This is achieved by physically decoupling immutable binary files from their virtual representations. When a study material is distributed to hundreds of students, the system uses pointers (metadata) to reference the same underlying binary blob, preventing the server's storage from exponentially ballooning.

File Preview & Interactions

File Preview & Interactions

Preserving historical integrity for nested directories

Algorithmic State Recovery (System Trash)

A recursive logic system intercepts nested folder deletions, safely migrating them to a protected System Trash bin. By algorithmically caching the 'original_parent' foreign key prior to the move, recursive tree traversal algorithms seamlessly handle multi-level deletions. This ensures the database remains perfectly synchronized without creating orphaned records, allowing precise restorations with a single click.

Bulk Move Operations

Bulk Move Operations

Reliable transaction blocks for assignment grading and submission

Assignment and Submission Feature

The assignment upload and submission system streamlines the assignment process much like Google Classroom. The submission pipeline is engineered to withstand heavy, concurrent traffic spikes occurring right before deadlines. By leveraging PostgreSQL's ACID-compliant atomic transaction blocks natively within Django, multi-step database writes either completely succeed or completely fail. This effectively prevents race conditions, partial data writes, and dropped records during simultaneous student submissions.

Assignment Grading Pipeline

Assignment Grading Pipeline

Dynamic file retrieval outside the public web root

Secure Private Media Serving

Unlike standard web servers that serve static media openly, this platform protects sensitive institutional documents by storing all physical files in private directories inaccessible to the public web root. These documents are served dynamically via Django's FileResponse wrapper, which intercepts media requests at the framework level and requires a valid, role-verified session before streaming the binary data to the client.

Secure parsing of formatted complex content

Dynamic Rich-Text Data Serialization

Complex formatted content, such as administrative notices and event descriptions, is parsed and sanitized dynamically. By integrating a custom React rich-text editor on the frontend, formatted DOM elements are sanitized against Cross-Site Scripting (XSS) attacks. Furthermore, robust CSRF protection, strict CORS policies, and secure script uploading features are enforced to prevent malicious payloads, and serialized into structural strings, allowing rich text to be securely persisted within Django database fields.

Instant visual feedback preventing layout shifts

Optimistic UI State Synchronization

The Next.js frontend interface is optimized for immediate responsiveness across all data mutations. By utilizing optimistic UI state management in React, the application predicts the server's success response and updates the screen instantly, rolling back only if an error occurs. This masks network latency from the user, significantly reducing jarring layout shifts and perceived loading delays.

Cryptographically secure onboarding mechanisms

Automated ID Card Generation & Verification

To streamline administrative onboarding, an automated ID card generation system was developed. Utilizing backend rendering pipelines, the system dynamically generates printable ID cards embedded with cryptographically secure QR codes. These codes can be instantly scanned and validated via a dedicated verification endpoint, completely eliminating manual forgery checks and expediting campus access.

Automatic ID Card Generation

Automatic ID Card Generation

ID Card Verification Flow

ID Card Verification Flow

Seamless bulk record processing for administrators

High-Efficiency Data Export & Import

To accommodate legacy institutional data and complex reporting requirements, robust data import and export pipelines were engineered. By utilizing background processing and optimized serialization libraries, administrators can seamlessly ingest thousands of student records via CSV/Excel files, or extract relational datasets for external auditing, drastically reducing manual data-entry bottlenecks.

Centralized hub for academic resources

Study Material Upload & Distribution

A dedicated module allows educators to securely upload, categorize, and distribute study materials among students. Leveraging the underlying custom Drive system, the platform supports bulk uploads, automatic file indexing, and robust access controls. This ensures that students receive instant, secure access to essential resources, lecture notes, and reference materials in a perfectly structured digital repository, minimizing the friction of physical document sharing.

Real-time institutional announcements

Notice Board System

A centralized digital notice board ensures that all students, teachers, and staff stay updated with the latest campus news, upcoming events, and urgent announcements. Notifications are intelligently categorized by priority and department, and broadcasted instantly to relevant user groups. By bypassing traditional email blasts, it creates an engaging, high-visibility communication channel right within the user's secure portal.

Personalized task tracking (Implementation Phase)

Integrated TODO List for Each User

Currently in the implementation phase, an integrated TODO list is being designed to provide every user with a dynamic, personalized productivity dashboard. It will automatically aggregate pending tasks, upcoming assignment deadlines, and scheduled administrative duties. Utilizing real-time database triggers, the system will dynamically sync task statuses, significantly enhancing time management and ensuring that critical academic deadlines are never missed.

Course group and semester management

Smart Semester & Department Tracking

A consistent, smart tracking system organizes users logically by mapping complex relationships across specific course groups, departments, and active semesters. This intelligent hierarchical grouping automatically curates the user's environment—ensuring that assignments, institutional notices, and relevant study materials are routed exclusively to the correct audience. By automating cohort progression, the system drastically reduces manual administration and prevents cross-department data clutter.

Gallery image
Gallery image
Gallery image
Gallery image
Gallery image
Gallery image
Gallery image

[!NOTE] Academic Project Disclaimer
This project is strictly educational in nature, developed as part of university coursework. It is not affiliated with, nor does it resemble, any commercial or proprietary software. All features, architecture, and designs were developed independently for learning and demonstration purposes.

Team

A
Agnija Pal
MCA, Techno Main Saltlake
Systems Engineer at TCS
Project Role
System Design, Backend, Database
S
Shaunak Sarkar
MCA, Techno Main Saltlake
Systems Engineer at TCS
Project Role
Frontend, UI-UX
P
Parthib Koley
MCA, Techno Main Saltlake
Systems Engineer at TCS
Project Role
Backend, Testing