Learning Management System (LMS)

LMS for training centers and coaching institutes to run courses, batches, and assessments in one place.

LMS for training centers and coaching institutes.

Role
Sole architect & developer

The problem

Coaching institutes were tracking courses, batch schedules, student records, and assessments across spreadsheets and ad hoc tools — a setup that stopped working past a handful of batches.

The approach

Built a Laravel + Vue.js LMS covering course and batch management, student enrolment, content delivery, and assessments, on a MySQL schema designed to scale from a few batches to many without restructuring.

The outcome

Centralized course content, student data, and assessments; scaled from a few batches to many.

Stack

  • Laravel
  • Vue.js
  • MySQL

How it's built

Watch the system move between operational states, and trace a single request step by step through the stack.

LMS Core Architecture

FLOW: INSTRUCTOR PUBLISH
Instructor / Admin DeskBlade + Vue Interactive
Course Builder:Modules • Video Links • Docs
Access Level:RBAC: Instructor Guard
Laravel REST Core & QueueMySQL • Scheduler • Auth
Database:MySQL (Batches & Enrollments)
Async Worker:Queue: Course Notifications
Student SPAVUE.JS
Module:Lesson Reader
State:Live Stream ✓
AssessmentPROGRESS
Submissions:Batch Attendance
Ledger:Standby
The instructor publishes course content. Laravel background queues notify students while the Vue.js Student SPA hydrates lessons immediately.

One Laravel core serves both the instructor desk and the student SPA.

Course Delivery & Evaluation Trace

STEP 1/6
Instructor Workspace • Blade + Vue
instructor structures Module 04: Advanced State; attaches lecture PDF, video stream, & doc assets • 0 ms publish
API Gateway • Laravel RBAC Guard
verifies instructor permissions; validates batch-level enrollments and course visibility scope • ~12 ms
Database Ledger • MySQL Schema
commits lessons, modules, and assignment rubrics; indexes course prerequisites across active student cohorts • ~24 ms
Queue Worker • Notifications Engine
queues reminder jobs; schedules batch-wide email alerts for newly published lessons and upcoming deadlines
Student Dashboard • Vue.js SPA
student opens interactive classroom; marks attendance and renders lecture materials smoothly without full-page reloads • ~40 ms
Assessment Engine • Grading Ledger
assignment uploaded via REST API; instructor assesses submission and updates the progress ledger • graded

← All projects