Skip to main content

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 isPremium or standard.

2. Courses (courses)

  • Specific subject units with defined difficulty levels (BEGINNER, INTERMEDIATE, ADVANCED).
  • Contains metadata: estimatedCompletionMinutes, skillsGained, prerequisites, targetAudience, and certificateEligible.
  • Linked to on-chain course registry (onChainCourseId) for verifiable credentials.

3. Lessons (lessons)

  • Discrete, 5-15 minute learning modules.
  • Tracks xpReward and gemReward earned 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 through TranslationInterceptor. If the client supplies Accept-Language or has a configured preferredLanguage, texts are automatically translated and cached using Google Cloud Translate.