ifndef::imagesdir[:imagesdir: ../media]
=== General information about the open source learning platform edX ===

**Foundation and history:**
edX was started in 2012 by Harvard University and the Massachusetts Institute of Technology (MIT). The platform is run as a non-profit organization to make quality education accessible to all and create a community of learners and educators worldwide. Since its inception, edX has become one of the largest platforms for online learning, offering courses from universities and institutions worldwide.

**Technical details:**

**Techstack:**

  - **Programming languages:** Python (mainly Django for the backend)
  - **Frontend:** JavaScript, React
  - **Databases:** MySQL, MongoDB
  - **Containerization:** Docker
  - **Continuous Integration/Continuous Deployment (CI/CD):** GitHub Actions, Jenkins

**Modules and functions:**

  - **LMS (Learning Management System):** Management of course content, users and enrollments.
  - **CMS (Content Management System):** Creation and management of course content.
  - **XBlock:** Extensible module for implementing various learning components such as videos, quizzes, discussions and more.
  - **LTI (Learning Tools Interoperability):** Enables the integration of external tools and resources.
  - **Open edX Studio:** An authoring tool for course creation and management.
  - **Analysis tools:** Provides data analysis and reports on learning performance.

**Architecture:**

  - **Microservices architecture:** edX uses a microservices architecture to separate and independently scale different functions and modules.
  - **APIs:** Extensive RESTful APIs to integrate and extend the platform.
  - **Scalability:** Use of cloud services to scale and manage user loads.

image::edx-architecture.png[edX-Architecture]

.Main components:
  - edx/edx-platform repo contains the code for the edX platform.
  - edx/edx-analytics-dashboard repo contains the code for edX Insights.
  - edx/configuration repo contains scripts to set up and operate the edX platform.
