How shihabxnoob/learn-kotlin-bangla works
Kotlin বাংলা is a Bengali-language Kotlin learning platform. Learners enter through the roadmap, choose a module, and open lessons containing explanations, Kotlin examples, and illustrative output; the curriculum progresses from fundamentals and control flow through functions, null safety, collections, object-oriented and functional Kotlin, to advanced topics. A separate theme layer offers Kitty/Winter styling and persistent ambience settings. The README documents these capabilities, while sampled source confirms routing, theme persistence, and parts of the lesson and module views; unsampled page wiring is represented only where supported by the documented structure.
Main entry points: App.tsx App Router · ThemeContext.tsx Theme State · LessonPage.tsx Lesson Reader · ThemeIcons.tsx Adaptive Icons
Components 16
Learning Journey
- App Router
src/App.tsx - Roadmap Home
src/pages/HomePage.tsx - Module Browser
src/pages/ModulePage.tsx - Lesson Reader
src/pages/LessonPage.tsx
Curriculum Content
- Module Metadata
src/data/modules.ts - Lesson Content
src/data/lessonContents.ts
Learning UI
- Roadmap Cards
src/components/Roadmap.tsx - Code Presentation
src/components/CodeBlock.tsx - Global Navigation
src/components/Navbar.tsx
Theme System
- Theme State
src/context/ThemeContext.tsx - Theme Controls
src/components/ThemeSwitcher.tsx - Adaptive Icons
src/components/ThemeIcons.tsx - Kitty Vectors
src/components/KittyIcons.tsx - Winter Vectors
src/components/WinterIcons.tsx
Other components
- Learner
- Browser Storage
Connections 17
- Learner → App Router: opens
- App Router → Roadmap Home: routes home
- App Router → Module Browser: routes module
- App Router → Lesson Reader: routes lesson
- Roadmap Home → Roadmap Cards: renders cards
- Roadmap Cards → Module Metadata: reads curriculum
- Module Browser → Module Metadata: looks up module
- Lesson Reader → Lesson Content: reads lesson
- Lesson Reader → Code Presentation: presents examples
- App Router → Global Navigation: renders navigation
- Theme Controls → Theme State: updates settings
- Theme State → Browser Storage: persists settings
- Theme State → Kitty Vectors: loads accents
- Theme State → Winter Vectors: loads accents
- Theme State → Adaptive Icons: provides theme
- Adaptive Icons → Kitty Vectors: selects Kitty icons
- Adaptive Icons → Winter Vectors: selects Winter icons