Express routing configuration for user progress tracking and gamification operations.
This module provides REST API route definitions for managing user learning progress, lesson
completion tracking, experience points, gamification features, and offline synchronization
capabilities. The routes support comprehensive progress monitoring, achievement tracking,
and learning analytics for both individual users and administrative oversight.
The module implements a factory function pattern that accepts a PrismaClient instance and
returns a configured Express router with all progress-related endpoints. This design supports
dependency injection and enables clean separation between route configuration and business
logic. All routes require authentication and implement role-based access control for
administrative functions.
Key architectural features include comprehensive user progress tracking with experience points
and streaks, lesson completion monitoring with timestamps and scoring, gamification elements
including lives system and bonus experience, offline progress synchronization for mobile
applications, administrative progress management and analytics, role-based access control
for sensitive operations, and comprehensive progress analytics for content creators and
administrators.
The routes integrate with the ProgressController for business logic execution and support both
individual user progress management and administrative oversight capabilities. This module
serves as a critical component of the learning experience, enabling personalized progress
tracking and motivation through gamification elements.
Author
Exequiel Trujillo
Since
1.0.0
Example
// Mount progress routes in main application import { createProgressRoutes } from'@/modules/progress/routes/progressRoutes'; import { prisma } from'@/shared/database/connection';
// Available user progress endpoints: // GET /api/v1/progress - Get user progress overview // GET /api/v1/progress/summary - Get progress summary with statistics // PUT /api/v1/progress - Update user progress data // GET /api/v1/progress/completions - Get user lesson completions // PUT /api/v1/progress/sync - Sync offline progress data // PUT /api/v1/progress/lives - Update user lives count
Example
// Available lesson completion endpoints: // POST /api/v1/progress/lesson/:id - Mark lesson as completed // GET /api/v1/progress/lesson/:id/completed - Check lesson completion status // GET /api/v1/progress/lesson/:id/stats - Get lesson completion statistics (admin/content_creator)
Example
// Available administrative endpoints: // POST /api/v1/progress/bonus - Award bonus experience (admin only) // POST /api/v1/progress/reset - Reset user progress (admin only)
Express routing configuration for user progress tracking and gamification operations.
This module provides REST API route definitions for managing user learning progress, lesson completion tracking, experience points, gamification features, and offline synchronization capabilities. The routes support comprehensive progress monitoring, achievement tracking, and learning analytics for both individual users and administrative oversight.
The module implements a factory function pattern that accepts a PrismaClient instance and returns a configured Express router with all progress-related endpoints. This design supports dependency injection and enables clean separation between route configuration and business logic. All routes require authentication and implement role-based access control for administrative functions.
Key architectural features include comprehensive user progress tracking with experience points and streaks, lesson completion monitoring with timestamps and scoring, gamification elements including lives system and bonus experience, offline progress synchronization for mobile applications, administrative progress management and analytics, role-based access control for sensitive operations, and comprehensive progress analytics for content creators and administrators.
The routes integrate with the ProgressController for business logic execution and support both individual user progress management and administrative oversight capabilities. This module serves as a critical component of the learning experience, enabling personalized progress tracking and motivation through gamification elements.
Author
Exequiel Trujillo
Since
1.0.0
Example
Example
Example
Example