Skip to content

Repository files navigation

Mini LMS Logo

🎓 Mini LMS: Full-Stack University Portal

A sophisticated, role-based Learning Management System designed for modern education.


Build Status Node.js React SQL Server Socket.io

Bridging the gap between students, instructors, and assistants through a unified, glassmorphism-inspired digital environment.


🖼️ Interface Showcase

Dashboard Courses
Command Center (Dashboard) Module Portfolio
Details Messages
Deep Course Analytics Real-Time Communication

🏛️ System Architecture

Our architecture is designed for High Availability and Scalability. Below is a high-level overview of the data flow and role-based interaction:

graph TD
    User((User)) -->|Auth/JWT| API[Express API Gateway]
    API -->|Validation| Controllers{Logic Controllers}
    Controllers -->|Queries| SQL[(MS SQL Server)]
    Controllers -->|Events| Socket[Socket.io Server]
    Socket -->|Instant Notify| User
    
    subgraph Frontend
        React[React Client] -->|Vite/HMR| User
    end
Loading

💎 Core Experiences

  • 👨‍🎓 Personal Academic Journey: Every student receives a tailored dashboard to track progress, upcoming deadlines, and academic achievements.
  • 👨‍🏫 Master Course Governance: Instructors wield comprehensive tools for syllabus design, assistant oversight, and global student management.
  • ⚡ Real-Time Synergy: Integrated WebSockets ensure that messages, grades, and notifications reach users in milliseconds—no refresh required.
  • 🌓 Adaptive Aesthetics: A custom-crafted design system with full support for stunning Dark and Light modes, optimized for any environment.

🛡️ Technical Hardening

  • Advanced Security: Implemented JWT-based stateless authentication, Helmet security headers, and global rate limiting to mitigate DDoS threats.
  • Data Integrity: Robust SQL schema with complex cascades and referential integrity ensuring zero data loss during course restructures.
  • Performance: Vite-powered frontend with code-splitting and asset optimization for sub-second load times.

📂 Project Navigation

📂 Repository Blueprint (Click to Expand)
Module Responsibility Stack
LMS_Backend Data Persistence, Auth, Real-time Events Node.js, SQL Server, Socket.io
mini-lms-frontend Interactive UI, State Management, Routing React, Context API, Vanilla CSS
assets Brand Identity & Visual Documentation High-Res Screenshots, Logos

Important

For a line-by-line breakdown of every script in the project, consult our STRUCTURE.md.


🚀 Deployment Guide

1. Preparation

Ensure your environment satisfies the following:

  • Node.js v16+
  • MS SQL Server (SQLEXPRESS or Developer)

2. Ignition

# Clone the Vision
git clone https://github.com/omarwageih/Mini-LMS.git

# Ignite Backend
cd LMS_Backend
npm install && npm start

# Launch Frontend
cd ../mini-lms-frontend
npm install && npm run dev

🗺️ Project Roadmap

  • Phase 1: Core Authentication & Role Management
  • Phase 2: Course & Syllabus CRUD Operations
  • Phase 3: Real-time Messaging & Notifications
  • [/] Phase 4: Advanced Grading Analytics & Performance Reports
  • Phase 5: Mobile Companion App (PWA)


CSE 301 Database Project
Crafted with precision for the MUST University community. Built by ❤️.

About

Mini Learning Management System for CSE301 Database Course using SQL, backend integration, and frontend implementation.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages