How abdulbosidcoder/mylearncenter works
MyLearnCenter is a Telegram Mini App and bot for guided Data Science lessons. Students enter through Telegram, browse published topics and ordered lessons, study content and visualizations, then take quizzes; passing unlocks later lessons and triggers progress notifications. Teachers and administrators edit and publish content, and can turn uploaded materials into AI-generated lesson drafts or request text rewrites. The graph reflects documented material-generation capabilities, though their implementation was not sampled; their exact API/UI paths are supported by the tree and README.
Main entry points: main.py FastAPI Host · db.py Application Database · App.tsx Mini App Router · api.ts API Client
Components 21
Mini App
- Mini App Router
frontend/src/App.tsx - Lesson And Quiz UI
frontend/src/pages/LessonPage.tsx - Material Pages
frontend/src/pages/MaterialsPage.tsx - Admin Page
frontend/src/pages/AdminPage.tsx - Visualization Renderer
frontend/src/widgets/index.tsx - API Client
frontend/src/api.ts
Learning API
- FastAPI Host
backend/app/main.py - Topics And Lessons
backend/app/api/content.py - Quiz And Unlocking
backend/app/api/quiz.py
AI Content
- Material Processing
backend/app/api/materials.py - Lesson AI Agent
backend/app/agent.py
Identity And Bot
- Telegram Auth
backend/app/telegram_auth.py - User Management
backend/app/api/users.py - Telegram Bot
backend/app/bot/__main__.py - Notifications
backend/app/notify.py
Persistence And Progress
- Application Database
backend/app/db.py - Domain Models
backend/app/models.py - Progress Rules
backend/app/progress.py
Other components
- Telegram User
- Anthropic API
- Telegram Platform
Connections 31
- Telegram User → Mini App Router: opens
- Mini App Router → API Client: loads user
- Mini App Router → Lesson And Quiz UI: routes to
- Mini App Router → Material Pages: routes to
- Mini App Router → Admin Page: routes to
- Lesson And Quiz UI → API Client: requests lessons and quizzes
- Material Pages → API Client: manages materials
- Admin Page → API Client: manages content and users
- Lesson And Quiz UI → Visualization Renderer: renders visualizations
- API Client → FastAPI Host: calls API
- FastAPI Host → Telegram Auth: validates initData
- FastAPI Host → Topics And Lessons: dispatches content routes
- FastAPI Host → Quiz And Unlocking: dispatches quiz routes
- FastAPI Host → Material Processing: dispatches material routes
- FastAPI Host → User Management: dispatches user routes
- Topics And Lessons → Application Database: reads and writes content
- Topics And Lessons → Progress Rules: checks lesson states
- Topics And Lessons → Lesson AI Agent: requests card rewrite
- Quiz And Unlocking → Application Database: stores attempts
- Quiz And Unlocking → Progress Rules: checks and updates progress
- Quiz And Unlocking → Notifications: announces pass
- Material Processing → Application Database: stores material jobs
- Material Processing → Lesson AI Agent: generates lesson drafts
- Lesson AI Agent → Anthropic API: requests generation
- User Management → Application Database: reads and writes users
- Telegram Bot → Application Database: registers users
- Telegram Bot → Progress Rules: gets progress reports
- Telegram Bot → Telegram Platform: polls and replies
- Notifications → Telegram Platform: sends messages
- Telegram Auth → Telegram Platform: checks signed launch data
- Application Database → Domain Models: persists domain records