Docs

README

21.5 Capstone Projects

Overview

Apply everything you've learned in comprehensive real-world projects that combine security, performance, design patterns, and best practices.

Learning Objectives

  • โ€ขBuild complete, production-ready applications
  • โ€ขApply security best practices throughout
  • โ€ขImplement performance optimizations
  • โ€ขUse appropriate design patterns
  • โ€ขHandle errors gracefully
  • โ€ขWrite maintainable, testable code

Capstone Project 1: Task Management System

Description

A full-featured task management application with user authentication, team collaboration, and real-time updates.

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    TASK MANAGER APP                         โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚   AUTH      โ”‚  โ”‚   TASKS     โ”‚  โ”‚    REAL-TIME        โ”‚  โ”‚
โ”‚  โ”‚   MODULE    โ”‚  โ”‚   MODULE    โ”‚  โ”‚    SYNC             โ”‚  โ”‚
โ”‚  โ”‚             โ”‚  โ”‚             โ”‚  โ”‚                     โ”‚  โ”‚
โ”‚  โ”‚  - Login    โ”‚  โ”‚  - Create   โ”‚  โ”‚  - WebSocket        โ”‚  โ”‚
โ”‚  โ”‚  - Register โ”‚  โ”‚  - Update   โ”‚  โ”‚  - Notifications    โ”‚  โ”‚
โ”‚  โ”‚  - JWT      โ”‚  โ”‚  - Delete   โ”‚  โ”‚  - Live updates     โ”‚  โ”‚
โ”‚  โ”‚  - Sessions โ”‚  โ”‚  - Filter   โ”‚  โ”‚  - Presence         โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                                                             โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”โ”‚
โ”‚  โ”‚                    DATA LAYER                           โ”‚โ”‚
โ”‚  โ”‚  - IndexedDB for offline  - API sync  - Caching        โ”‚โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Features to Implement

  1. โ€ข

    Authentication System

    • โ€ขSecure login/register forms
    • โ€ขJWT token management
    • โ€ขSession handling
    • โ€ขPassword validation
  2. โ€ข

    Task Management

    • โ€ขCRUD operations
    • โ€ขDrag-and-drop prioritization
    • โ€ขLabels and categories
    • โ€ขDue date reminders
  3. โ€ข

    Team Collaboration

    • โ€ขUser assignment
    • โ€ขComments
    • โ€ขActivity history
    • โ€ขNotifications
  4. โ€ข

    Data Persistence

    • โ€ขOffline-first with IndexedDB
    • โ€ขSync with backend
    • โ€ขConflict resolution

Capstone Project 2: E-Commerce Dashboard

Description

An admin dashboard for managing products, orders, and analytics with performance optimizations.

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  E-COMMERCE DASHBOARD                              [User โ–ผ]   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                                โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚     METRICS CARDS        โ”‚  โ”‚      SALES CHART           โ”‚  โ”‚
โ”‚  โ”‚  โ”Œโ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”    โ”‚  โ”‚      โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ   โ”‚  โ”‚
โ”‚  โ”‚  โ”‚$42Kโ”‚ โ”‚1.2Kโ”‚ โ”‚89% โ”‚    โ”‚  โ”‚   โ–„โ–„โ–„โ”‚                 โ”‚   โ”‚  โ”‚
โ”‚  โ”‚  โ”‚Rev โ”‚ โ”‚Ord โ”‚ โ”‚Rateโ”‚    โ”‚  โ”‚ โ–„โ–ˆโ–€  โ”‚    Analytics    โ”‚   โ”‚  โ”‚
โ”‚  โ”‚  โ””โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”˜    โ”‚  โ”‚โ–ˆโ–€    โ”‚                 โ”‚   โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                                                                โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚     PRODUCTS TABLE       โ”‚  โ”‚    RECENT ORDERS           โ”‚  โ”‚
โ”‚  โ”‚  Virtual Scrolling       โ”‚  โ”‚    Live Updates            โ”‚  โ”‚
โ”‚  โ”‚  โ€ข Product 1    $99      โ”‚  โ”‚    โ€ข Order #1234  $156     โ”‚  โ”‚
โ”‚  โ”‚  โ€ข Product 2    $149     โ”‚  โ”‚    โ€ข Order #1235  $89      โ”‚  โ”‚
โ”‚  โ”‚  โ€ข Product 3    $79      โ”‚  โ”‚    โ€ข Order #1236  $234     โ”‚  โ”‚
โ”‚  โ”‚  ... 10,000 items        โ”‚  โ”‚                            โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                                                                โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Features to Implement

  1. โ€ข

    Dashboard Components

    • โ€ขMetric cards with animations
    • โ€ขCharts (line, bar, pie)
    • โ€ขReal-time data updates
    • โ€ขDate range selectors
  2. โ€ข

    Product Management

    • โ€ขVirtual scrolling for large lists
    • โ€ขImage lazy loading
    • โ€ขBulk operations
    • โ€ขSearch and filters
  3. โ€ข

    Order Processing

    • โ€ขOrder status workflow
    • โ€ขEmail notifications
    • โ€ขInvoice generation
    • โ€ขRefund handling
  4. โ€ข

    Performance Optimizations

    • โ€ขMemoization
    • โ€ขDebounced search
    • โ€ขLazy-loaded routes
    • โ€ขService worker caching

Capstone Project 3: Real-Time Chat Application

Description

A secure messaging platform with end-to-end encryption, file sharing, and rich media support.

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  SECURE CHAT                                         ๐Ÿ”’ E2E    โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚               โ”‚                                                 โ”‚
โ”‚  CONTACTS     โ”‚  CONVERSATION                                   โ”‚
โ”‚  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”‚  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€    โ”‚
โ”‚               โ”‚                                                 โ”‚
โ”‚  ๐ŸŸข Alice     โ”‚  Alice:          Hello! How are you?    10:30  โ”‚
โ”‚  ๐ŸŸข Bob       โ”‚  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”‚
โ”‚  ๐Ÿ”ด Charlie   โ”‚                                                 โ”‚
โ”‚  ๐ŸŸก Diana     โ”‚  You:   I'm good! Check this out:       10:31  โ”‚
โ”‚               โ”‚         โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                     โ”‚
โ”‚  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”‚         โ”‚  ๐Ÿ“ท image.jpg   โ”‚                     โ”‚
โ”‚  CHANNELS     โ”‚         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                     โ”‚
โ”‚  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”‚  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”‚
โ”‚               โ”‚                                                 โ”‚
โ”‚  # general    โ”‚  Alice: Nice! ๐Ÿ‘                          10:32 โ”‚
โ”‚  # dev        โ”‚                                                 โ”‚
โ”‚  # random     โ”‚  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  โ”‚
โ”‚               โ”‚                                                 โ”‚
โ”‚               โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚               โ”‚  โ”‚  Type a message...               ๐Ÿ“Ž  ๐Ÿ˜€  โ”‚  โ”‚
โ”‚               โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Features to Implement

  1. โ€ข

    Messaging System

    • โ€ขReal-time message delivery
    • โ€ขMessage status (sent, delivered, read)
    • โ€ขTyping indicators
    • โ€ขMessage reactions
  2. โ€ข

    Security

    • โ€ขEnd-to-end encryption
    • โ€ขKey exchange protocol
    • โ€ขSecure message storage
    • โ€ขSession management
  3. โ€ข

    Media Support

    • โ€ขImage/file upload
    • โ€ขImage preview and gallery
    • โ€ขAudio messages
    • โ€ขLink previews
  4. โ€ข

    User Features

    • โ€ขPresence indicators
    • โ€ขUser profiles
    • โ€ขContact management
    • โ€ขBlock/mute users

Capstone Project 4: Code Playground

Description

An interactive code editor and execution environment similar to CodePen or JSFiddle.

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  CODE PLAYGROUND                          [Save] [Share] [Fork] โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                                 โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚  โ”‚  HTML                โ–พ  โ”‚  โ”‚  PREVIEW                    โ”‚   โ”‚
โ”‚  โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚  โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚   โ”‚
โ”‚  โ”‚ <div id="app">         โ”‚  โ”‚                             โ”‚   โ”‚
โ”‚  โ”‚   <h1>Hello World</h1> โ”‚  โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚   โ”‚
โ”‚  โ”‚ </div>                 โ”‚  โ”‚   โ”‚   Hello World       โ”‚   โ”‚   โ”‚
โ”‚  โ”‚                        โ”‚  โ”‚   โ”‚                     โ”‚   โ”‚   โ”‚
โ”‚  โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค  โ”‚   โ”‚   Counter: 5        โ”‚   โ”‚   โ”‚
โ”‚  โ”‚  CSS                 โ–พ  โ”‚  โ”‚   โ”‚   [+] [-]           โ”‚   โ”‚   โ”‚
โ”‚  โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚  โ”‚   โ”‚                     โ”‚   โ”‚   โ”‚
โ”‚  โ”‚ #app { padding: 20px; }โ”‚  โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚   โ”‚
โ”‚  โ”‚ h1 { color: blue; }    โ”‚  โ”‚                             โ”‚   โ”‚
โ”‚  โ”‚                        โ”‚  โ”‚                             โ”‚   โ”‚
โ”‚  โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค  โ”‚                             โ”‚   โ”‚
โ”‚  โ”‚  JavaScript          โ–พ  โ”‚  โ”‚                             โ”‚   โ”‚
โ”‚  โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚  โ”‚  Console:                   โ”‚   โ”‚
โ”‚  โ”‚ const app = document.. โ”‚  โ”‚  > Counter initialized      โ”‚   โ”‚
โ”‚  โ”‚ let count = 0;         โ”‚  โ”‚  > Button clicked           โ”‚   โ”‚
โ”‚  โ”‚                        โ”‚  โ”‚                             โ”‚   โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ”‚                                                                 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Features to Implement

  1. โ€ข

    Code Editor

    • โ€ขSyntax highlighting
    • โ€ขAuto-completion
    • โ€ขError highlighting
    • โ€ขMultiple file support
  2. โ€ข

    Execution Environment

    • โ€ขSandboxed iframe execution
    • โ€ขConsole capture
    • โ€ขError display
    • โ€ขHot reloading
  3. โ€ข

    Collaboration

    • โ€ขSave and share
    • โ€ขFork projects
    • โ€ขComments
    • โ€ขVersion history
  4. โ€ข

    Security

    • โ€ขSandbox isolation
    • โ€ขXSS prevention
    • โ€ขRate limiting
    • โ€ขInput sanitization

Project Architecture Patterns

Module Pattern

Project Structure:
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
src/
โ”œโ”€โ”€ modules/
โ”‚   โ”œโ”€โ”€ auth/
โ”‚   โ”‚   โ”œโ”€โ”€ authService.js
โ”‚   โ”‚   โ”œโ”€โ”€ authStore.js
โ”‚   โ”‚   โ””โ”€โ”€ authUI.js
โ”‚   โ”œโ”€โ”€ tasks/
โ”‚   โ”‚   โ”œโ”€โ”€ taskService.js
โ”‚   โ”‚   โ”œโ”€โ”€ taskStore.js
โ”‚   โ”‚   โ””โ”€โ”€ taskUI.js
โ”‚   โ””โ”€โ”€ shared/
โ”‚       โ”œโ”€โ”€ api.js
โ”‚       โ”œโ”€โ”€ storage.js
โ”‚       โ””โ”€โ”€ events.js
โ”œโ”€โ”€ utils/
โ”‚   โ”œโ”€โ”€ validators.js
โ”‚   โ”œโ”€โ”€ formatters.js
โ”‚   โ””โ”€โ”€ helpers.js
โ”œโ”€โ”€ app.js
โ””โ”€โ”€ index.html

Event-Driven Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     Events      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚   Module A  โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ถโ”‚  Event Bus  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                       โ”‚
              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
              โ”‚                        โ”‚                        โ”‚
              โ–ผ                        โ–ผ                        โ–ผ
       โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
       โ”‚   Module B  โ”‚          โ”‚   Module C  โ”‚          โ”‚   Module D  โ”‚
       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Security Checklist

Input Validation

  • โ€ข Validate all user inputs
  • โ€ข Sanitize HTML content
  • โ€ข Use parameterized queries
  • โ€ข Validate file uploads

Authentication

  • โ€ข Secure password storage
  • โ€ข JWT with proper expiration
  • โ€ข HTTPS everywhere
  • โ€ข Session management

Data Protection

  • โ€ข Encrypt sensitive data
  • โ€ข Secure storage
  • โ€ข No secrets in code
  • โ€ข Proper error handling

XSS Prevention

  • โ€ข Output encoding
  • โ€ข Content Security Policy
  • โ€ข DOM manipulation safety
  • โ€ข Trusted types

Performance Checklist

Loading Performance

  • โ€ข Code splitting
  • โ€ข Lazy loading
  • โ€ข Image optimization
  • โ€ข Resource hints

Runtime Performance

  • โ€ข Virtual scrolling
  • โ€ข Debounce/throttle
  • โ€ข Memoization
  • โ€ข Web Workers

Caching

  • โ€ข Service workers
  • โ€ข Local storage strategy
  • โ€ข HTTP caching
  • โ€ข Memory management

Testing Requirements

Unit Tests

  • โ€ขTest all utility functions
  • โ€ขTest validators
  • โ€ขTest state management
  • โ€ขMock external dependencies

Integration Tests

  • โ€ขTest module interactions
  • โ€ขTest API integrations
  • โ€ขTest data flow
  • โ€ขTest error scenarios

E2E Tests

  • โ€ขTest user workflows
  • โ€ขTest authentication flow
  • โ€ขTest critical paths
  • โ€ขTest edge cases

Evaluation Criteria

CriteriaWeightDescription
Functionality30%All features work correctly
Code Quality25%Clean, maintainable, well-organized
Security20%Follows security best practices
Performance15%Optimized, fast, efficient
Testing10%Good test coverage

Resources

README - JavaScript Tutorial | DeepML