Skip to content
Back to all projects
Personal Project

E-Learning Platform

A full-stack e-learning platform where students enroll in courses and track their progress, with an admin panel.

Demo & repo links coming soon
Role
Solo developer — full-stack build
Timeline
2025
Status
Completed — personal project
Team
Solo project

Tools

Next.jsNode.jsTypeScriptTailwind CSSMongoDBReact Hook FormShadCN/UIJWT Auth
E-Learning Platform cover image

Overview

Built end to end as a personal project — students browse a course catalog, enroll, and track progress through structured video lessons. A secure admin panel manages courses, students, and enrollment analytics.

The Problem

I wanted to explore what a lean learning platform looks like when one developer owns both the student and admin experiences end to end.

Architecture

Frontend

Next.js App Router pages for the catalog and video player, styled with Tailwind CSS and ShadCN/UI.

API layer

Route handlers exposing REST endpoints for enrollment, progress, and admin CRUD.

Auth

JWT sessions with role claims checked in middleware.

Data

MongoDB collections for courses, lessons, enrollments, and progress.

Key Features & My Role

  • Course browsing, enrollment, and video-based progress tracking
  • Role-based authentication for admin and student access
  • Admin panel for courses, students, and analytics
  • Forms built with React Hook Form and ShadCN/UI

Video Walkthrough

Video walkthrough coming soon

Outcomes & Results

  • Shipped a working student and admin flow from a blank repo.
  • Built hands-on confidence with role-based access control.
  • Created a reference project for auth and progress-tracking patterns.

Reflection

The admin side took longer than the student side — CRUD screens are deceptively time-consuming. Next time I'd reach for a schema-driven admin generator.