CODING LEARNING

dicodingschool

dicodingschool is an CODING LEARNING inspired by modern educational websites, designed to help users learn programming through courses, lessons, quizzes, and hands-on coding directly in the browser.

Key Performance Metrics

EditorMonaco
AuthJWT + Cookies
LearningCourses + Quizzes
AccessRBAC
dicodingschool

Project Breakdown

The Problem

Most beginner coding platforms either lack structured progression or do not give learners a practical environment to write and test code while learning.

The Solution

Built a full-stack learning platform that combines guided lessons, quizzes, and a Monaco-powered coding workspace inside one cohesive product.

Technical Challenge

Balancing secure authentication, role-based content management, and a smooth in-browser coding experience without breaking the learning flow.

Business Impact

Delivered a W3Schools-inspired learning experience with interactive practice, admin-driven content management, and a clearer path from beginner lessons to hands-on coding.

Key Platform Features

Secure JWT authentication with HTTP-only cookies
Integrated Monaco code editor for in-browser coding practice
Structured courses, lessons, and quizzes
User dashboard with learning progress tracking
Admin panel for managing courses, lessons, and quizzes
Role-based access control for student and admin workflows

System Architecture

Frontend Architecture

Next.js and React power the learning UI, dashboard flows, and lesson pages with responsive Tailwind CSS styling and TypeScript safety.

Backend Infrastructure

Server-side application logic handles authentication, protected learning flows, quiz operations, and admin management with secure JWT sessions.

Data Storage & Layer

MongoDB stores users, courses, lessons, quiz progress, and admin-managed content in a flexible document model.

Deployment & CI/CD

Production deployment is optimized for a full-stack Next.js application with secure cookie handling and browser-based editor performance.