How dylankatchen/knowgap-backend works
KnowGap is a Quart-based learning platform that connects Canvas course and quiz data to student risk insights and targeted video recommendations. Its principal flow brings course and submission data into backend services, analyzes performance, and presents recommendations and analytics through student and instructor endpoints. Separate capabilities include skills and mastery tracking, badges, progress, and mental-health support videos. The graph reflects README-described capabilities and relationships visible in excerpts or the source index; unsampled implementation details and some runtime wiring are not asserted.
Main entry points: app.py Quart application · achieveup_service.py Learning analytics core · video_service.py Video recommendations · course_service.py Course and quiz data
Components 26
API and access
- Quart application
app.py - Authentication routes
routes/auth_routes.py - Authentication service
services/achieveup_auth_service.py - Instructor routes
routes/instructor_routes.py - AchieveUp routes
routes/achieveup_routes.py
Canvas and courses
- Canvas LMS
- Canvas routes
routes/canvas_routes.py - Canvas integration
services/achieveup_canvas_service.py - Course routes
routes/course_routes.py - Course and quiz data
services/course_service.py - Submission processing
services/canvas_submissions_service.py
Learning insights
- Learning analytics core
services/achieveup_service.py - Risk analytics
services/analytics_service.py - Skill mastery
services/skill_service.py - Progress tracking
services/progress_service.py - Badges
services/badge_service.py
Recommendations
- Video routes
routes/video_routes.py - Video recommendations
services/video_service.py - Core topic generation
utils/ai_utils.py - Video search and metadata
utils/youtube_utils.py - Risk-level support videos
services/support_service.py
Shared platform
- MongoDB
- Application configuration
config.py - Token encryption
utils/encryption_utils.py
Other components
- Student
- Instructor
Connections 37
- Student → Quart application: uses
- Instructor → Quart application: uses
- Quart application → Authentication routes: registers
app.py - Quart application → Canvas routes: registers
app.py - Quart application → AchieveUp routes: registers
app.py - Quart application → Instructor routes: registers
app.py - Quart application → Course routes: registers
app.py - Quart application → Video routes: registers
app.py - Authentication routes → Authentication service: uses
routes/auth_routes.py - Canvas routes → Canvas integration: uses
routes/canvas_routes.py - Course routes → Course and quiz data: uses
routes/course_routes.py - Course routes → Canvas integration: uses
routes/course_routes.py - Instructor routes → Authentication service: verifies
routes/instructor_routes.py - Instructor routes → Learning analytics core: requests insights
routes/instructor_routes.py - Instructor routes → Risk analytics: requests analytics
routes/instructor_routes.py - AchieveUp routes → Learning analytics core: requests learning operations
routes/achieveup_routes.py - Course and quiz data → Canvas LMS: fetches course data
- Submission processing → Canvas integration: uses Canvas integration
services/canvas_submissions_service.py - Submission processing → MongoDB: stores submissions
services/canvas_submissions_service.py - Course and quiz data → MongoDB: reads and writes
services/course_service.py - Course and quiz data → Submission processing: refreshes results
- Learning analytics core → Authentication service: verifies users
services/achieveup_service.py - Learning analytics core → Canvas integration: uses Canvas integration
services/achieveup_service.py - Learning analytics core → MongoDB: reads and writes
services/achieveup_service.py - Risk analytics → Learning analytics core: uses learning data
services/analytics_service.py - Risk analytics → MongoDB: reads and writes
services/analytics_service.py - Skill mastery → MongoDB: reads and writes
services/skill_service.py - Progress tracking → MongoDB: reads and writes
services/progress_service.py - Badges → MongoDB: reads and writes
services/badge_service.py - Video routes → Video recommendations: requests recommendations
routes/video_routes.py - Video recommendations → Core topic generation: generates topics
services/video_service.py - Video recommendations → Video search and metadata: finds videos
services/video_service.py - Video recommendations → MongoDB: caches video data
services/video_service.py - Video recommendations → Course and quiz data: uses course data
routes/video_routes.py - Risk-level support videos → MongoDB: reads and writes
- Authentication service → Token encryption: decrypts Canvas tokens
services/achieveup_auth_service.py - Quart application → Application configuration: configures runtime
app.py