Knowledge game distributed server.
Cultpedia is a repository of standardized, multilingual questions, and countries data for educational platforms. Designed for Culturae, this project provides high-quality, schema-validated questions across various themes.
The Goal of Cultpedia is to offer a centralized question bank that can be easily integrated into different learning management systems (LMS) and quiz applications.
Warning
The main Culturae platform is not yet available, but Cultpedia is being developed in parallel to provide ready-to-use content once the platform is live.
- Multilingual Support: English, French, and Spanish.
- Schema Validation: JSON Schema ensures data integrity.
- Versioning: Automatic versioning with manifest updates.
- Interactive CLI: Go-based tool for adding, validating, and managing questions.
- SHA256 Checksums: Data integrity verification for imports.
- Full compatibility with Culturae: Seamless integration with the Culturae platform.
Note
To import datasets into Culturae (or any compatible platform).
Culturae use manifest.json files to import datasets with all the needed metadata and sha256 checksums.
https://raw.githubusercontent.com/Culturae-org/cultpedia/refs/heads/main/datasets/general-knowledge/manifest.json
https://raw.githubusercontent.com/Culturae-org/cultpedia/refs/heads/main/datasets/geography/manifest.json
Cultpedia provides a REST API to access all datasets programmatically.
API is available at api.culturae.me.
Available endpoints:
GET /api/- API information and statsGET /api/questions- All questionsGET /api/geography/countries- All countriesGET /api/geography/regions- All regionsGET /api/geography/continents- All continentsGET /api/geography/flags/{code}- Country flag SVG
If you wish to contribute, please refer to the contributing guide for detailed instructions on how to add questions.
Important
For the moment we are accepting contributions only for the "general-knowledge" dataset. Future datasets may be added later.
Check the Format to understand the json question, and countrie structure.
Note
Only available for questions datasets (not geography).
You can create your own dataset following the Cultpedia format. Use the cultpedia CLI to generate the essential files.
./cultpedia init {dataset-name}
.
├── build.bat # Build script for Windows
├── build.sh # Build script for Unix
├── cmd/
│ └── main.go # CLI entry point
├── datasets/
│ ├── general-knowledge/
│ │ ├── manifest.json # Metadata and hashes
│ │ ├── questions.ndjson # Main questions file
│ │ ├── subthemes.ndjson # Subthemes
│ │ ├── tags.ndjson # Tags
│ │ └── themes.ndjson # Available themes
│ ├── new-question.json # New question template
│ │
│ └── geography/
│ ├── manifest.json # Metadata and hashes
│ ├── countries.ndjson # Main Countries file
│ ├── continents.ndjson # Continents file
│ ├── regions.ndjson # Regions file
│ └── assets/
│ └── flags/
│ └── svg/ # Country flags (SVG format)
├── docs/
│ ├── CONTRIBUTING.md # Contribution guidelines
│ ├── FORMAT.md # Data format specification
│ └── MEDIA # All Media
│
├── flake.lock # Nix lock file
├── flake.nix # Nix configuration
├── go.mod # Go module
├── go.sum # Go sum file
│
├── internal/
│ ├── actions/
│ │ └── actions.go # Actions logic
│ ├── checks/
│ │ └── checks.go # Validation checks
│ ├── models/
│ │ └── question.go # Data models
│ ├── ui/
│ │ └── ui.go # TUI interface
│ └── utils/
│ └── utils.go # Utilities
|
├── schemas/
│ ├── manifest-geography.example.json # Geography manifest example
│ ├── manifest-geography.schema.json # Geography manifest schema
│ ├── manifest-questions.example.json # Questions manifest example
│ ├── manifest-questions.schema.json # Questions manifest schema
│ ├── question.example.json # Question example
│ ├── question.schema.json # Question schema
│ ├── country.example.json # Country example
│ └── country.schema.json # Country schema
- Cultpedia CLI
- QCM dataset structure
- CI question validation
- CI sync + bump version
- Auto check version
- Countries data
- Add true / false questions
- CLI countries tool
- CLI edit tool
- Geography validator
- Exporter (csv for example)
- Branchs by theme
- Add flags format
- Contribution cli help
- Contribution Helper
- More questions !
Missings svg flags for countries.
- cz : Czech Republic
- hn : Honduras
- io : British Indian Ocean Territory
- iq : Iraq
- mm : Myanmar
- qa : Qatar
- th : Thailand
- tw : Taiwan
- ws : Samoa
- xk : Kosovo
For questions or support, open an issue on GitHub or contact the Culturae/Cultpedia maintainers or open an issue on GitHub.
MIT - Culturae