🎓 The Problem Space
Managing a coding cohort is chaotic. Students are submitting code via email, instructors are tracking grades in spreadsheets, and resources are scattered across Drive folders.
Sky Coding LMS centralizes this ecosystem. It's built to create a structured path from "Day 1" to "Hired".
🏗️ System Architecture
1. Role-Based Access Control (RBAC)
The platform serves three distinct user personas, managed via middleware protection:
- Students: Consume content, submit assignments, view grades.
- Instructors: Create courses, grade submissions, view cohort analytics.
- Admins: Manage billing, users, and platform settings.
2. Database Schema (Relational)
Using Prisma Key relationships is crucial for data integrity:
Courseone-to-manyModuleone-to-manyLesson.Userfive-to-manySubmission.Submissionone-to-oneGrade.
3. Progress Tracking Engine
Progress isn't just a boolean. We calculate it dynamically:
- Video Watching: Tracks watch time vs duration.
- Assignments: Must be marked "Approved" by an instructor.
- Quizzes: Auto-graded multiple choice questions unlock the next module.
✨ Key UX Features
- The "Focus Mode" Player: A distraction-free video interface with specific code snippets and resources tabulated below the video.
- Code Review Interface: Instructors can see a diff of the student's submission and leave inline comments (GitHub style).
- Gamification: Streaks and badging for consistent daily learning.
🚀 Roadmap
- Live Coding Environments: Integrating Monaco Editor for in-browser execution.
- Real-time Chat: WebSocket integration for cohort discussions.
- AI Tutors: RAG-based bot trained on the course transcripts to answer questions.