How rohn5783/veolms works
VeoLMS is a self-hostable learning platform: educators create and publish courses, while learners access lessons, track progress, and participate in course discussions. The API also supports academy operations such as enrollment, permissions, payments, and notifications. The graph preserves these documented product areas; the sampled source gives a verified enrollment route-to-service-to-repository path and push-pipeline wiring. Many other feature modules are represented from the README and tree, but their internal calls are not asserted because their source was not sampled.
Main entry points: enrollment.service.ts Enrollment service · web Web frontend · enrollment.routes.ts Enrollment routes · enrollment.controller.ts Enrollment controller
Components 21
Learning experience
- Web frontend
apps/web - Course authoring
apps/api/src/modules/courses/course/course.service.ts - Curriculum
apps/api/src/modules/courses/curriculum/curriculum.service.ts - Video playback
packages/video-player/src/core/VideoEngine.ts - Learning progress
apps/api/src/modules/learning-progress - Course discussions
apps/api/src/modules/learning/discussions - Course discovery
apps/api/src/modules/home
Academy management
- Authentication
apps/api/src/modules/auth - Staff permissions
apps/api/src/modules/authorization - Academy analytics
apps/api/src/modules/analytics/analytics.service.ts
Commerce and access
- Enrollment routes
apps/api/src/modules/commerce/enrollments/enrollment.routes.ts - Enrollment controller
apps/api/src/modules/commerce/enrollments/enrollment.controller.ts - Enrollment service
apps/api/src/modules/commerce/enrollments/enrollment.service.ts - Enrollment repository
apps/api/src/modules/commerce/enrollments/enrollment.repository.ts - Payments and coupons
apps/api/src/modules/commerce
API and integrations
- Fastify API
packages/api-core/src/server.ts - Database
packages/database/src/client.ts - Push notifications
apps/api/src/modules/notifications/push/push-pipeline.ts - Push delivery clients
apps/api/src/modules/notifications/push
Other components
- Educators
- Learners
Connections 14
- Educators → Web frontend: create courses
README.md - Learners → Web frontend: learn and engage
README.md - Web frontend → Fastify API: use platform API
README.md - Fastify API → Enrollment routes: serves enrollment
- Enrollment routes → Enrollment controller: registers routes
apps/api/src/modules/commerce/enrollments/enrollment.routes.ts - Enrollment controller → Enrollment service: calls service
apps/api/src/modules/commerce/enrollments/enrollment.controller.ts - Enrollment service → Enrollment repository: queries enrollments
apps/api/src/modules/commerce/enrollments/enrollment.service.ts - Enrollment service → Staff permissions: checks permissions
apps/api/src/modules/commerce/enrollments/enrollment.service.ts - Learners → Video playback: watch lessons
README.md - Learners → Learning progress: track learning
README.md - Learners → Course discussions: join discussions
README.md - Educators → Payments and coupons: manage payments
README.md - Educators → Staff permissions: manage staff access
README.md - Push notifications → Push delivery clients: configures clients
apps/api/src/modules/notifications/push/push-pipeline.ts