### Allgemeine Informationen zur Open-Source-Lernplattform edX

**Gründung und Geschichte:**
edX wurde im Jahr 2012 von der Harvard University und dem Massachusetts Institute of Technology (MIT) angfangen zu entwickeln. Die Plattform wird im Rahmen einer Non-Profit-Organisation geleitet, um hochwertige Bildung für alle zugänglich zu machen und eine Gemeinschaft von Lernenden und Lehrenden weltweit zu schaffen. Seit ihrer Gründung hat sich edX zu einer der größten Plattformen für Online-Lernen entwickelt, die Kurse von Universitäten und Institutionen weltweit anbietet.

**Technische Details:**

**Techstack:**

* **Programmiersprachen:** Python (hauptsächlich Django für das Backend)
* **Frontend:** JavaScript, React
* **Datenbanken:** MySQL, MongoDB
* **Containerisierung:** Docker
* **Continuous Integration/Continuous Deployment (CI/CD):** GitHub Actions, Jenkins

**Module und Funktionen:**

    * **LMS (Learning Management System):** Verwaltung von Kursinhalten, Benutzern und Einschreibungen.
    * **CMS (Content Management System):** Erstellung und Verwaltung von Kursinhalten.
    * **XBlock:** Erweiterbares Modul zur Implementierung verschiedener Lernkomponenten wie Videos, Quizze, Diskussionen und mehr.
    * **LTI (Learning Tools Interoperability):** Ermöglicht die Integration von externen Tools und Ressourcen.
    * **Open edX Studio:** Ein Autorentool zur Kurserstellung und -verwaltung.
    * **Analyse-Tools:** Bereitstellung von Datenanalysen und Berichten zur Lernleistung.

**Architektur:**

  - **Microservices-Architektur:** edX nutzt eine Microservices-Architektur, um verschiedene Funktionen und Module zu trennen und unabhängig zu skalieren.
  - **APIs:** Umfangreiche RESTful APIs zur Integration und Erweiterung der Plattform.
  - **Scalability:** Nutzung von Cloud-Diensten zur Skalierung und Verwaltung von Benutzerlasten.

image::../media/edx-architecture.png[edX-Architektur]

Hauptkomponenten:

    * 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.
