Skip to content

Add comprehensive C++ learning platform with curriculum and content#1

Merged
shankarpandala merged 9 commits intomainfrom
claude/cpp-learning-app-setup-8Rp5x
Mar 13, 2026
Merged

Add comprehensive C++ learning platform with curriculum and content#1
shankarpandala merged 9 commits intomainfrom
claude/cpp-learning-app-setup-8Rp5x

Conversation

@shankarpandala
Copy link
Owner

Summary

This PR introduces LearnCpp, a complete interactive C++ learning platform built with React, Vite, and Tailwind CSS. The platform provides a structured curriculum covering 10 C++ subjects from fundamentals to advanced topics, with interactive content, progress tracking, and visualization components.

Key Changes

Curriculum & Content Structure

  • Curriculum Registry (src/subjects/index.js): Comprehensive 10-subject curriculum with 693 lines defining all subjects, chapters, and sections with metadata (difficulty, estimated time, prerequisites, descriptions)
  • Content Pages: Full lesson content for 6 sections across C++ Fundamentals:
    • Getting Started: Hello World, Compilation Process, Program Structure
    • Variables & Types: Basic Data Types, Variables & Constants, Type Conversions
    • Each section includes definitions, code examples, exercises, and best practices

Pages & Navigation

  • HomePage: Hero section with floating C++ symbols, learning path visualization, and subject cards with progress indicators
  • SubjectPage: Subject overview with chapter cards and progress tracking
  • ChapterPage: Chapter details with section listings and completion status
  • SectionPage: Full lesson content with breadcrumbs, difficulty badges, reading time, and prev/next navigation
  • ProgressPage: Overall learning progress dashboard with completed sections, bookmarks, and statistics
  • SearchPage: Full-text search across all curriculum content with type filtering

Layout Components

  • Navbar: Navigation with theme toggle, search, and subject dropdown menu
  • Sidebar: Collapsible navigation tree showing all subjects, chapters, and sections with completion indicators
  • Breadcrumbs: Context navigation showing current location in curriculum
  • Footer: Site footer with links and information

Content Components

  • CppCode: Syntax-highlighted C++ code blocks with lightweight tokenizer supporting keywords, strings, comments, and preprocessor directives
  • OutputBlock: Terminal-style output display
  • DefinitionBlock: Concept definition callouts
  • SyntaxBlock: C++ syntax pattern documentation
  • NoteBlock: Informational notes with multiple types (info, tip, warning, etc.)
  • BestPracticeBlock: Best practice recommendations
  • ExerciseBlock: Interactive exercises with hints and solutions
  • WarningBlock: Warning callouts for common pitfalls
  • CompilerNoteBlock: Compiler-specific notes (GCC, Clang, MSVC)
  • ReferenceList: Curated references with type labels (ISO Standard, cppreference, textbooks, etc.)

Visualization Components

  • MemoryLayout: Interactive stack/heap memory visualization
  • CallStack: Function call stack frame visualization
  • PointerDiagram: Pointer and reference relationship diagrams

State Management & Hooks

  • useAppStore (Zustand): Persistent state for theme, completed sections, and bookmarks
  • useProgress: Hook for marking sections complete and checking completion status
  • useTheme: Hook for theme management with localStorage persistence

Build & Deployment

  • Vite Configuration: PWA support with manifest, auto-update registration, and GitHub Pages deployment
  • GitHub Actions: CI/CD workflow for building and deploying to GitHub Pages
  • Tailwind CSS 4: Styling with custom theme configuration and dark mode support

Notable Implementation Details

  • Curriculum Metadata: Each section includes buildsOn references to establish prerequisite relationships and learning paths
  • Progress Tracking: Persistent completion tracking using Zustand with localStorage
  • Responsive Design: Mobile-first approach with Tailwind CSS, optimized for all screen sizes
  • Dark Mode: Full dark mode support with theme toggle and persistence
  • Code Syntax Highlighting: Custom lightweight tokenizer for C++ syntax without external dependencies
  • Lazy Loading: React lazy loading for pages to optimize initial bundle size
  • Accessibility: Semantic HTML, ARIA labels, focus-visible states, and keyboard navigation support
  • Animation: Framer Motion for smooth transitions and interactive elements
  • Search Indexing: Dynamic search index built from curriculum structure with type-aware filtering

Files Added

  • Complete curriculum definition and helper functions
  • 6 full lesson content pages with interactive examples
  • 5 main application pages (Home, Subject, Chapter, Section, Progress, Search)
  • Layout components

https://claude.ai/code/session_018oMzhvAAvJRMK5das2JSRg

claude added 9 commits March 12, 2026 17:43
Sets up the core project scaffolding mirroring the math4ai architecture:
- package.json with React 19, Vite 7, Tailwind CSS 4, Zustand, Framer Motion, PWA
- Vite config with code splitting, PWA support, GitHub Pages base path
- App shell with HashRouter, lazy-loaded routes, sidebar layout
- Zustand store for theme, progress tracking, and bookmarks
- useTheme and useProgress hooks
- Global CSS with OKLCH 10-subject color palette and prose styles

https://claude.ai/code/session_018oMzhvAAvJRMK5das2JSRg
…s, 110 sections)

- 4 XML prompt templates for content generation (curriculum, chapter content,
  visualization specs, reference collection)
- Complete curriculum in subjects/index.js with helper functions
- Subjects: Fundamentals, Control Flow, Functions, OOP, Memory, STL,
  Templates, Modern C++, Concurrency, Advanced Topics

https://claude.ai/code/session_018oMzhvAAvJRMK5das2JSRg
- Navbar with LearnCpp branding, subject quick-nav, theme toggle, search, social links
- Sidebar with expandable subject/chapter tree, section completion tracking
- Footer with project info and built-with links
- Breadcrumbs for hierarchical navigation

https://claude.ai/code/session_018oMzhvAAvJRMK5das2JSRg
CppCode (syntax highlighter), OutputBlock, DefinitionBlock, SyntaxBlock,
BestPracticeBlock, ExampleBlock, ExerciseBlock, NoteBlock, WarningBlock,
CompilerNoteBlock, ReferenceList, and SectionLayout.

https://claude.ai/code/session_018oMzhvAAvJRMK5das2JSRg
MemoryLayout (stack/heap), PointerDiagram, and CallStack with
Framer Motion animations and interactive hover/click states.

https://claude.ai/code/session_018oMzhvAAvJRMK5das2JSRg
HomePage (hero, learning path, subject grid), SubjectPage,
ChapterPage, SectionPage (with CONTENT_REGISTRY), ProgressPage,
and SearchPage with debounced search.

https://claude.ai/code/session_018oMzhvAAvJRMK5das2JSRg
Chapters covered:
- Getting Started: Hello World, Compilation Process, Program Structure
- Variables & Types: Basic Types, Variables & Constants, Type Conversions

Each section includes definitions, syntax blocks, code examples with
output, warnings, best practices, exercises, and references.

https://claude.ai/code/session_018oMzhvAAvJRMK5das2JSRg
Deploy to GitHub Pages on push to main or feature branch.
Uses Node 20 with npm ci, vite build, and peaceiris/actions-gh-pages.

https://claude.ai/code/session_018oMzhvAAvJRMK5das2JSRg
@chatgpt-codex-connector
Copy link

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@shankarpandala shankarpandala merged commit 83542f2 into main Mar 13, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants