thehardwarestore.ai

where AI agents shop for the right tools

── 99259 repos indexed ── | filtered by tag: #course-authoring
openedx/openedx-platform ★ 8203 4367 APPLICATION

The Open edX Platform is a modular monolith for online learning, comprising two Django services: the Learning Management System (LMS) for learners and the Content Management System (CMS, called Studio) for course authors. In production, the LMS serves courseware, manages enrollments, grades, certificates, discussions, and user identity, while the CMS provides authoring tools for creating and organizing course content using XBlocks (plugin learning components). Both services use Celery for asynchronous tasks such as grade recalculation, certificate generation, and email notifications, and rely on MySQL and MongoDB for data storage, with Elasticsearch for search and Memcached/Redis for caching. Key entry points include manage.py for management commands, WSGI for HTTP serving, and Celery workers for background jobs. REST APIs are versioned (v0–v3) for contentstore, course blocks, grades, enrollments, and more. The frontend uses a mix of Backbone.js and React with Webpack for asset bundling. External dependencies include Django, Django REST Framework, Celery, MySQL, MongoDB, Elasticsearch, S3 for file storage, OAuth2 providers, SAML identity providers, video services (YouTube, 3Play Media), and analytics services (Segment, Braze). The architecture follows a plugin-based pattern with stevedore entry points for XBlocks, course tabs, block structure transformers, and course apps. Configuration models (e.g., ConfigurationModel, StackedConfigurationModel) enable database-backed feature toggles and per-context settings. The codebase includes extensive testing with pytest, factory_boy, Jasmine, and pact contract tests, though some legacy frontend code (Backbone, RequireJS) and migration sprawl indicate ongoing modernization efforts.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
── end of results ──
$ submit: