Skip to main content
Open edX Platform: Online Course Authoring and Learning Management
AI WorkflowAI workflowGitHub source ZIP and repository

Open edX Platform: Online Course Authoring and Learning Management

Open edX Platform is the core Open edX repository, providing Studio content management for course authoring and LMS services for delivering learning content. It uses Python, JavaScript, and Django, and requires separately deployed frontend applications for a complete user interface.

Delivery

GitHub source ZIP and repository link

Project language

Python

Download GitHub source ZIP

This is an upstream source snapshot at a fixed commit, separate from any ENHE package.

AI workflow details

This workflow comes from a GitHub repository. Review the delivery and verification status below before using it.

Application area

学习教育

Project type

Workflow

License

AGPL-3.0

Delivery

GitHub source ZIP and repository link

GitHub stars

8,207 · 10/23/2026

Package verification

No ENHE package available

Link-only reason: This item is available as an upstream repository link only.

Workflow introduction

Workflow introduction

Review core features, use cases, and delivery details.

Project overview

Open edX Platform, formerly edx-platform, is the core repository of the Open edX online education platform. It provides two main services: the CMS content management service powers the Studio course authoring environment, while the LMS learning management service delivers content to learners. The project uses Python and JavaScript and makes extensive use of Django. The wider Open edX platform also includes independently deployable applications and ReactJS-based micro-frontends, which are interface applications that run separately. Unless otherwise noted, repository code is licensed under AGPL v3; consult the original repository's LICENSE file for details.

Use cases

The project suits teams building online course websites and authoring and delivering learning content. It also serves developers who need to modify, test, or extend Open edX core services. For production use, a service provider can operate the platform, or experienced personnel can manage it themselves. The README recommends the Docker-based Tutor distribution for self-managed deployments; developers can also use Tutor's development mode. Direct installation on a Linux host is an advanced option with limited documentation and community support, making it unsuitable as a starting point for beginners.

What it does and problems it solves

Studio provides an environment for creating course content, while the LMS delivers that content to learners. Together, they support course authoring and learning delivery within the same platform ecosystem. This repository supplies core services, but starting those services alone does not provide a complete website interface. Most interfaces have moved to separate frontend applications. At minimum, Authoring MFE, Learner Home MFE, and Learning MFE are also required for meaningful interface navigation. ENHE currently lists only the repository entry. A runnable package and core workflows have not been validated, so this listing does not establish that the project is ready to use directly.

How to use

1. Open the original repository entry below this page and review its README and documentation. Choose a production or development route according to your goal. If the platform is not deployed yet, start with the installation section below. 2. After deployment and frontend configuration, course authors use Studio to create learning content, and learners access it through the LMS and its learning interfaces. The supplied material does not provide detailed interface actions, account creation steps, or course publishing instructions; consult the documentation referenced by the original repository. 3. For a direct deployment, first confirm that MySQL, Mongo, and Memcached are running. Then run `./manage.py lms runserver 18000` and `./manage.py cms runserver 18010` separately to start the LMS and CMS. 4. Install and run Authoring MFE, Learner Home MFE, and Learning MFE separately. Their installation commands are not included in the supplied material; follow the corresponding project entries in the original repository. 5. To modify or test the platform, follow the Tutor development mode documentation referenced by the original repository. The newer development.py workflow is experimental and is not the recommended default.

Installation

1. Choose a deployment route first. Beginners can review the service-provider option through the original repository. For self-managed production or development, the README recommends Tutor. The supplied material does not include complete Tutor installation commands, configuration, or startup steps; consult the referenced Tutor and site operations documentation. 2. If experienced personnel choose direct deployment, prepare Ubuntu 24.04, Python 3.12, MySQL 8.0, Mongo 7.x, and Memcached as listed in the README. Check the repository's `.nvmrc` file for the Node version. Obtain the clone address or download entry from the original repository below this page. 3. Install dependencies. The README provides `sudo apt install python3-dev default-libmysqlclient-dev build-essential pkg-config` for system dependencies needed by some Python packages. Use `npm clean-install` for production frontend dependencies or `npm clean-install --dev` for development. Install backend build dependencies with `uv sync --no-default-groups --only-group assets`. For backend application dependencies, use `uv sync --no-default-groups --group bundled` in production or `uv sync --group development --group ci` in development. Instructions for installing uv are not supplied. 4. Complete the system configuration described in the codejail installation instructions referenced by the original repository. Create two MySQL databases and a user with write access to both, then update Django's `DATABASES` setting. Database creation commands and complete configuration values are not supplied. 5. Run the database migration commands in order: `./manage.py lms migrate`, `./manage.py lms migrate --database=student_module_history`, and `./manage.py cms migrate`. Then run `npm run build` to build static assets; development environments can use the README's `build-dev` option. 6. To download translations and collect static assets, run `make pull_translations`, `./manage.py lms collectstatic`, and `./manage.py cms collectstatic` in order. The README says development sites can skip this step. 7. Configure single sign-on between the LMS and Studio, which connects login sessions across the two services, following the original repository's instructions. Use its production-specific procedure for production environments and store the client secret in private configuration. Do not reuse the fixed secrets from the development example. 8. Start the core services as described above and deploy the required frontend applications separately using their own documentation. Custom or direct deployments also require checks of shared caching and login settings: using LTI Provider across multiple LMS nodes requires shared Redis or Memcached, and the SameSite=None cookies needed for cross-site login also require secure cookies and HTTPS. The supplied material is insufficient as a complete production deployment tutorial; follow the original repository and its referenced documentation for the actual installation.

Source and usage notes

- Original repository: https://github.com/openedx/openedx-platform - Source revision: 6d461044c8097b3c24d30f4724eff678bc064be7 This listing links to the upstream repository. It does not provide a verified download package, and the complete workflow has not been independently validated. This description was organized and translated with AI from public upstream material. Refer to the original repository for capabilities, setup requirements, costs, and license terms.

Changelog

0 records

Important version notes will be added when availability, delivery details, or usage guidance changes. Review the current page information before purchase or use.

User comments

Log in to comment.

FAQ

How do I get this workflow?

Use Get workflow to open the GitHub repository. ENHE does not provide a download package for this entry; follow the upstream instructions.

What should I check before using it?

Check the upstream setup instructions, runtime requirements, version, and the verification status shown on this page. A repository link does not mean ENHE has verified the complete workflow.

Does access include third-party services and permissions?

Check the upstream license and each service provider's terms. Model APIs, accounts, hosting, and other dependencies may have separate requirements or charges; follow the stated delivery scope.