Courses & Lessons System
The learning engine is designed around modular, micro-learning concepts. It breaks down complex knowledge into interactive lessons and slide-by-slide experiences with quizzes and practical checkpoints.Data Hierarchy
1. Learning Paths (learning_paths)
- Broad educational domains (e.g., Web3 Development, Financial Literacy, AI Engineering).
- Can be marked as
isPremiumor standard.
2. Courses (courses)
- Specific subject units with defined difficulty levels (
BEGINNER,INTERMEDIATE,ADVANCED). - Contains metadata:
estimatedCompletionMinutes,skillsGained,prerequisites,targetAudience, andcertificateEligible. - Linked to on-chain course registry (
onChainCourseId) for verifiable credentials.
3. Lessons (lessons)
- Discrete, 5-15 minute learning modules.
- Tracks
xpRewardandgemRewardearned upon first completion.
4. Lesson Slides (lesson_slides)
- Slide types:
THEORY,CODE_EXAMPLE,QUESTION,RECAP,MEDIA. - Rich formatting with localized translations.
User Progress & Reward Calculation
When a user interacts with learning material, progress is recorded across several relational tables:Content Localization & Translation
All course and lesson endpoints pass throughTranslationInterceptor. If the client supplies Accept-Language or has a configured preferredLanguage, texts are automatically translated and cached using Google Cloud Translate.