Integreat Django CMS documentation
This is the developer documentation for the Integreat Django backend.
For general help with the Django framework, please refer to the Django documentation.
First Steps
Installation: Installation guide
Development Server: Run local development server
Tutorials: Step-by-step guides
Developer Tools: Scripts for developers
Troubleshooting: General problem solving guide
Project Architecture / Reference
Integreat CMS: The main package of the integreat-cms with the following sub-packages:
API: This app provides wrapper functions around all API routes and classes mapping the cms models to API JSON responses.
CMS: This app contains all database models, views, forms and templates forming the content management system for backend users.
Core: This is the project’s main app which contains all configuration files.
Deepl API: This app provides wrapper functions around the DeepL API for providing translations.
Firebase API: This app provides wrapper functions around the Firebase API to send push notifications.
Google Translate API: This app provides wrapper functions around the Google Cloud Translate API for providing translations.
Gvz API: This app provides wrapper functions around our Gemeindeverzeichnis API to automatically import coordinates and region aliases.
Matomo API: This app provides wrapper functions around the Matomo API, for gathering statistics like those in the region dashboard.
Nominatim API: This app provides wrapper functions around our Nominatim API to automatically import region bounding boxes.
Sitemap: This app dynamically generates a sitemap.xml for the webapp.
SUMM.AI API: This app provides wrapper functions around the SUMM.AI API for automatic translations into Easy German.
Textlab API: This app provides wrapper functions around the Textlab API to evaluate texts and determine their HIX value.
XLIFF: This app allows (de-)serialization of translations from/to XLIFF (XML Localization Interchange File Format) for standardised exchange with translation agencies.
Tests: This app contains all tests to verify integreat-cms works as intended
API Documentation: Documentation for the integreat-cms api
To better understand the overall intention it might also be helpful to look at the wiki for municipalities (GER) that teaches how to use our CMS.
Basic Concepts
Virtual Environment: Virtual Python environment
Internationalization (i18n): Multi-language support for the backend UI
Frontend Bundling (Webpack): Work on frontend assets
Testing (Pytest): How to test this application
Documentation (Sphinx): This Sphinx documentation
Continuous Integration (CircleCI): Continuous Integration and Delivery with CircleCI
Debugging: Debug the application
Design Guidelines: Styleguide for this application
Deployment
Packaging: Create an easy installable package
Production Server: Run the production server
Management Commands: Tools for server maintenance
Release notes: The release history including all relevant changes
Contributing
Issue Reporting Guidelines: Rug Reporting and Feature Request Guidelines
Pull Request Review Guidelines: Tips for reviewing pull requests
Code Style Guidelines: Coding Conventions
GitHub Workflow: GitHub Workflow model
Code of Conduct: Contributor Covenant Code of Conduct
Indices
Glossary: List of terms and definitions
Full Index: List of all documented classes, functions and attributes
Python Module Index: List of all python modules in this project
Search Page: Search documentation