How uccser/cs-field-guide works
CSFG is a multilingual online computer-science learning guide for students and educators. The main workflow is to browse chapter content and interactive learning materials; supporting branches include appendices, curriculum guides, and search. Content loaders convert localized Markdown and YAML into database-backed models, while interactive references are checked during section loading. The tree and README establish the product scope, and excerpts document only selected loader and search relationships; other application wiring is therefore left unasserted.
Main entry points: settings.py Search sources · TranslatableModelLoader.py Translation loader · _ChapterSectionsLoader.py Chapter sections · _CurriculumGuideSectionsLoader.py Guide sections
Components 24
Learning content
- Chapters
csfieldguide/chapters/models.py - Chapter pages
csfieldguide/chapters/views.py - Appendices
csfieldguide/appendices/models.py - Appendix pages
csfieldguide/appendices/views.py - Curriculum guides
csfieldguide/curriculum_guides/models.py - Guide pages
csfieldguide/curriculum_guides/views.py - Chapter sections
csfieldguide/chapters/management/commands/_ChapterSectionsLoader.py - Appendix loader
csfieldguide/appendices/management/commands/_AppendicesLoader.py - Guide sections
csfieldguide/curriculum_guides/management/commands/_CurriculumGuideSectionsLoader.py
Interactive learning
- Interactive catalog
csfieldguide/interactives/models.py - Interactive pages
csfieldguide/interactives/views.py - Interactive assets
csfieldguide/static/interactives
Search
- Search sources
csfieldguide/search/settings.py - Search index
csfieldguide/search/models.py - Index builder
csfieldguide/search/management/commands/rebuild_search_indexes.py - Search utilities
csfieldguide/search/utils.py - Search pages
csfieldguide/search/views.py
Content platform
- Markdown loader
csfieldguide/utils/BaseLoader.py - Translation loader
csfieldguide/utils/TranslatableModelLoader.py - Content checks
csfieldguide/utils/check_required_files.py - Site settings
csfieldguide/config/settings/base.py - Site routing
csfieldguide/config/urls.py - Site views
csfieldguide/config/views.py
Other components
- Learner
Connections 27
- Learner → Chapter pages: browses
README.md - Learner → Appendix pages: browses
README.md - Learner → Guide pages: browses
README.md - Learner → Search pages: searches
README.md - Chapter sections → Translation loader: inherits from
csfieldguide/chapters/management/commands/_ChapterSectionsLoader.py - Chapter sections → Chapters: updates sections
csfieldguide/chapters/management/commands/_ChapterSectionsLoader.py - Chapter sections → Content checks: checks interactives
csfieldguide/chapters/management/commands/_ChapterSectionsLoader.py - Appendix loader → Translation loader: inherits from
csfieldguide/appendices/management/commands/_AppendicesLoader.py - Appendix loader → Appendices: updates pages
csfieldguide/appendices/management/commands/_AppendicesLoader.py - Guide sections → Translation loader: inherits from
csfieldguide/curriculum_guides/management/commands/_CurriculumGuideSectionsLoader.py - Guide sections → Curriculum guides: updates sections
csfieldguide/curriculum_guides/management/commands/_CurriculumGuideSectionsLoader.py - Guide sections → Content checks: checks interactives
csfieldguide/curriculum_guides/management/commands/_CurriculumGuideSectionsLoader.py - Translation loader → Markdown loader: inherits from
csfieldguide/utils/TranslatableModelLoader.py - Chapter pages → Chapters: reads
- Appendix pages → Appendices: reads
- Guide pages → Curriculum guides: reads
- Interactive pages → Interactive catalog: reads
- Interactive catalog → Interactive assets: references
- Search sources → Chapters: indexes
csfieldguide/search/settings.py - Search sources → Appendices: indexes
csfieldguide/search/settings.py - Search sources → Interactive catalog: indexes
csfieldguide/search/settings.py - Index builder → Search sources: loads sources
csfieldguide/search/management/commands/rebuild_search_indexes.py - Index builder → Search utilities: gets model ID
csfieldguide/search/management/commands/rebuild_search_indexes.py - Index builder → Search index: writes entries
csfieldguide/search/management/commands/rebuild_search_indexes.py - Search pages → Search index: queries
- Site routing → Site views: routes to
csfieldguide/config/urls.py - Site settings → Site views: configures