# Kurse

> Kurse mit Modulen und Lektionen als Text, Bild, Video oder Link, Einschreibung und Fortschritt pro Lektion. Die Struktur existiert in der API, und die Kursansicht der App wird gerade fertiggestellt. Wie du heute aufbaust und wie du verkaufst.

Das Modul **Kurse** organisiert das Lernen in drei Ebenen:

<div class="flow">
<div class="flow-row"><span class="flow-node">Kursbereich</span><span class="flow-arrow">→</span><span class="flow-node">Kurs</span><span class="flow-arrow">→</span><span class="flow-node">Modul</span><span class="flow-arrow">→</span><span class="flow-node">Lektion (Text, Bild, Video oder Link)</span></div>
</div>

Das Mitglied schreibt sich in den Kurs ein, absolviert die Lektionen der Reihe nach, und der Fortschritt jeder Lektion wird gespeichert.

> [!SOON]
> Die Kursansicht der App zeigt noch Beispielinhalte und nicht die Kurse deiner Community. Kurse über die Oberfläche anlegen, bearbeiten und verfolgen kommt mit der Fertigstellung dieses Moduls. Bis dahin wird die Struktur über die API angelegt, wie dieser Artikel zeigt.

## Wozu es dient

| Community | Kurs |
|---|---|
| Online-Schule | *Excel von null*: 6 Module, 30 Videolektionen |
| Personalabteilung | *Onboarding*: 3 Module mit den Unternehmensrichtlinien |
| Mentoring | *Lernpfad für Mentees*: ein Modul pro Monat |

## So funktioniert es

### Der Kurs

| Feld | Wofür |
|---|---|
| Titel und Slug | Name und Adresse des Kurses |
| Beschreibung | Was man lernt |
| Niveau | Einsteiger, Fortgeschritten oder Experte |
| Bild | Das Titelbild |
| Status | Startet als **Entwurf**; veröffentlicht, nimmt er Einschreibungen an |

### Module und Lektionen

Jeder Kurs hat Module in fester Reihenfolge, und jedes Modul hat Lektionen in fester Reihenfolge. Eine Lektion hat einen Typ: **Text**, **Bild**, **Video** oder **Link**, mit Dauer.

### Einschreibung und Fortschritt

Das Mitglied schreibt sich in einen **veröffentlichten** Kurs ein (bei einem Entwurf: *„This course is not available for enrollment yet.“*) und markiert den Fortschritt jeder Lektion. Einschreibung und abgeschlossene Lektionen bringen Punkte in der [Rangliste](/espacos/ranking): 10 Punkte für die Einschreibung, 25 pro abgeschlossener Lektion.

### Wer was darf

| Aktion | Wer |
|---|---|
| Den Kursbereich anlegen | Eigentümer und Administrator |
| Kurs, Module und Lektionen erstellen und bearbeiten | Eigentümer und Administrator |
| Sich einschreiben und die Lektionen absolvieren | Wer den Bereich (und den veröffentlichten Kurs) sieht |

## Schritt für Schritt (heute, über die API)

*Rolle: Eigentümer oder Administrator.*

1. Lege den Bereich an: **Bereich Hinzufügen › Kurse**, mit der Sichtbarkeit für alle, die den Kurs belegen dürfen.
2. Lege den Kurs an: `POST /api/courses` mit `communityId`, `spaceId`, `title`, `slug` und `level`. Merke dir die `id`.
3. Lege jedes Modul an: `POST /api/courses/module` mit `courseId` und `title`.
4. Lege jede Lektion an: `POST /api/courses/lesson` mit `moduleId`, `title` und `type`.
5. Veröffentliche: `PUT /api/courses/{id}` mit `status: "published"`.

Die vollständige Abfolge, mit den IDs, die von einem Schritt zum nächsten weitergegeben werden, und den Fehlern, wenn man einen Schritt überspringt, steht in [Reihenfolge beim Anlegen](/api/ordem-de-criacao#kurs).

## Den Kurs verkaufen

| Modell | Wie |
|---|---|
| Einzelkurs | Ein [Produkt](/monetizacao/produtos), das den Kursbereich freigibt (**Privat** › **Produkte**) |
| Kurs im Abonnement | Der Kursbereich auf **Privat**, für den [Plan](/monetizacao/planos) freigegeben, oder auf **Abonnenten** |
| Kostenloser Kurs für Mitglieder | Der Bereich auf **Mitglieder** |

## Heutige Grenzen

- Es gibt kein **Zertifikat** zum Abschluss.
- Es gibt keine **Prüfung** mit Mindestpunktzahl.
- Es gibt keine **zeitgesteuerte Freischaltung** (Drip): Der Zugriff hängt am Bereich, nicht am Eintrittsdatum jeder Person.

## Häufige Fragen

**Wo liegen die Videos?**
Die Videolektion verweist auf das Video; außerdem gibt es den Video-Upload über die API (`POST /api/upload/content/video`).

**Kann ich mehrere Kurse in einem Bereich haben?**
Ja. Ein Kursbereich ist ein Schaufenster für Kurse.

**Sieht das Mitglied den Kurs im Feed?**
Ja, wie die anderen Elemente, wenn es Zugriff auf den Bereich hat.

## In der API

`POST /api/courses`, `POST /api/courses/module`, `POST /api/courses/lesson`, `PUT /api/courses/{id}`, `PUT` und `DELETE /api/courses/module/{moduleId}` (ein Modul samt Lektionen umbenennen, neu ordnen, löschen), `PUT` und `DELETE /api/courses/lesson/{lessonId}` (eine Lektion bearbeiten, neu ordnen, in ein anderes Modul verschieben, löschen), `POST /api/courses/{courseId}/enroll`, `POST /api/courses/{courseId}/lesson/{lessonId}/progress`. Siehe [Courses](/api/referencia/courses).

## Verwandte Artikel

- [Reihenfolge beim Anlegen](/api/ordem-de-criacao)
- [Produkte](/monetizacao/produtos)
- [Module](/conceitos/modulos)
