Decision: Content model — structure of culture générale cards and categories #2

Closed
opened 2026-08-20 13:58:35 +02:00 by gaetan · 1 comment
Owner

Part of #1

Question

How should "culture générale" content be structured for spaced repetition?

Key sub-questions:

  • What is the atomic unit of content? (fact, Q&A pair, multiple choice, fill-in-blank?)
  • What categories/topics should be covered? (history, science, geography, literature, arts, current affairs?)
  • Should content have metadata (difficulty, source, tags)?
  • How is content authored/imported? (manual entry, CSV, JSON, database seed?)
  • What's the balance between factual recall vs conceptual understanding?

This decision shapes the data model, the UI, and the content pipeline.

Part of #1 ## Question How should "culture générale" content be structured for spaced repetition? Key sub-questions: - What is the atomic unit of content? (fact, Q&A pair, multiple choice, fill-in-blank?) - What categories/topics should be covered? (history, science, geography, literature, arts, current affairs?) - Should content have metadata (difficulty, source, tags)? - How is content authored/imported? (manual entry, CSV, JSON, database seed?) - What's the balance between factual recall vs conceptual understanding? This decision shapes the data model, the UI, and the content pipeline.
gaetan self-assigned this 2026-08-20 14:09:15 +02:00
Author
Owner

Resolution

Content model decided:

Card types: Q&A + Vrai/Faux. Single answer for Q&A. Optional explanation field on both types (shown after answering). No fuzzy matching.

Data structure:

{
  "id": 1,
  "type": "qa",
  "question": "En quelle année a été signée l'édit de Nantes ?",
  "answer": "1598",
  "explanation": "L'édit de Nantes a été signé par Henri IV en avril 1598.",
  "category": "histoire",
  "tags": ["henri-iv", "religion", "xvie-siecle"]
}
{
  "id": 2,
  "type": "vf",
  "question": "La Déclaration des Droits de l'Homme a été adoptée en 1789.",
  "answer": true,
  "explanation": "Adoptée le 26 août 1789 par l'Assemblée nationale constituante.",
  "category": "histoire",
  "tags": ["revolution-francaise", "declaration"]
}

Categories: All 7 categories defined (histoire, géographie, sciences, littérature, arts, philosophie, culture transversale). Launch with 4: histoire, géographie, sciences, culture transversale.

Tags: Freeform, no controlled list.

Content format: One JSON file per category under content/. Numeric auto-increment IDs.

Metadata: id, type, question, answer, explanation (optional), category, tags. No difficulty field (SRS determines hardness dynamically).

## Resolution Content model decided: **Card types**: Q&A + Vrai/Faux. Single answer for Q&A. Optional `explanation` field on both types (shown after answering). No fuzzy matching. **Data structure**: ```json { "id": 1, "type": "qa", "question": "En quelle année a été signée l'édit de Nantes ?", "answer": "1598", "explanation": "L'édit de Nantes a été signé par Henri IV en avril 1598.", "category": "histoire", "tags": ["henri-iv", "religion", "xvie-siecle"] } ``` ```json { "id": 2, "type": "vf", "question": "La Déclaration des Droits de l'Homme a été adoptée en 1789.", "answer": true, "explanation": "Adoptée le 26 août 1789 par l'Assemblée nationale constituante.", "category": "histoire", "tags": ["revolution-francaise", "declaration"] } ``` **Categories**: All 7 categories defined (histoire, géographie, sciences, littérature, arts, philosophie, culture transversale). Launch with 4: histoire, géographie, sciences, culture transversale. **Tags**: Freeform, no controlled list. **Content format**: One JSON file per category under `content/`. Numeric auto-increment IDs. **Metadata**: id, type, question, answer, explanation (optional), category, tags. No difficulty field (SRS determines hardness dynamically).
Sign in to join this conversation.
No description provided.