{"id":14036896,"url":"https://github.com/okfde/fragdenstaat_de","last_synced_at":"2025-12-16T14:52:38.482Z","repository":{"id":6515022,"uuid":"7755848","full_name":"okfde/fragdenstaat_de","owner":"okfde","description":"Froide Theme for fragdenstaat.de","archived":false,"fork":false,"pushed_at":"2024-10-21T15:19:56.000Z","size":44017,"stargazers_count":125,"open_issues_count":33,"forks_count":21,"subscribers_count":19,"default_branch":"main","last_synced_at":"2024-10-22T01:03:49.724Z","etag":null,"topics":["fragdenstaat"],"latest_commit_sha":null,"homepage":"https://fragdenstaat.de","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/okfde.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-01-22T16:11:25.000Z","updated_at":"2024-10-21T15:08:28.000Z","dependencies_parsed_at":"2023-12-18T10:25:29.426Z","dependency_job_id":"77008b01-e3d5-4bb7-9e30-7c5c8c2f0406","html_url":"https://github.com/okfde/fragdenstaat_de","commit_stats":{"total_commits":2855,"total_committers":21,"mean_commits":"135.95238095238096","dds":"0.16742556917688267","last_synced_commit":"32732214bc997d2f103564b3034358196dedc731"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okfde%2Ffragdenstaat_de","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okfde%2Ffragdenstaat_de/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okfde%2Ffragdenstaat_de/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okfde%2Ffragdenstaat_de/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/okfde","download_url":"https://codeload.github.com/okfde/fragdenstaat_de/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227762319,"owners_count":17816009,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fragdenstaat"],"created_at":"2024-08-12T03:02:18.217Z","updated_at":"2025-12-16T14:52:38.476Z","avatar_url":"https://github.com/okfde.png","language":"Python","funding_links":[],"categories":["Python","Democracy and Governance"],"sub_categories":[],"readme":"# FragDenStaat.de\n\n![FragDenStaat CI](https://github.com/okfde/fragdenstaat_de/workflows/FragDenStaat%20CI/badge.svg)\n\n[FragDenStaat.de](https://fragdenstaat.de) is the German instance of [Froide](https://github.com/okfde/froide) – a freedom of information portal software.\n\n## Development environment\n\nFragDenStaat.de is a Django app with a PostgreSQL+PostGIS database and elasticsearch search service.\n[There is a production deployment ansible configuration for details.](https://github.com/okfde/fragdenstaat.de-ansible). If you want an easy start, please use the below instructions with Docker (note that this is for convenience and that the actual deployment does not use Docker at the moment).\n\nIf you do not want to use Docker, you can install this like any Django project with dependencies and services.\n\n### Setup dev environment\n\nFragDenStaat.de is a Django project that uses the core `froide` project and other `froide` Django apps as plugins. These froide and related apps are installed from repositories and it makes sense to set them up on your dev machine.\n\nYou need to have installed:\n\n- Python 3.12+\n- pnpm \u0026 npm\n- GDAL for Django's GeoDjango\n- freetype and imagemagick\n- postgresql bindings\n- poppler\n- qpdf\n- ocrmypdf\n- pango\n- libgeoip\n- libmagic\n- uv\n\nAll of these dependencies should be installable via package managers (e.g. `brew` on macOS).\n\nTo make the setup easier the following script (`devsetup.sh`) creates a virtual environment, sets up and installs all repos of the Python backend and installs and links all repos of the JavaScript frontend build.\n\n```bash\ncd project-dir\ncurl https://raw.githubusercontent.com/okfde/fragdenstaat_de/main/devsetup.sh | bash\n```\n\nTo update your setup later:\n\n```bash\ncd project-dir\nbash fragdenstaat_de/devsetup.sh\n```\n\n### Start services\n\nYou can run your own Postgres+PostGIS database and Elasticsearch service or run them with Docker.\n\nYou need [Docker Desktop](https://docs.docker.com/desktop). Make sure Docker is running and use the following command:\n\n```bash\ndocker compose -f compose-dev.yaml up\n```\n\nThis will start Postgres and Elasticsearch and listen on port 5432 and 9200 respectively. You can adjust the port mapping in the `compose-dev.yaml`.\n\n### Setup database\n\nIf you need to adjust settings, you can copy the `fragdenstaat_de/settings/local_settings.py.example` to `fragdenstaat_de/settings/local_settings.py` and edit it.\n\nTo initialise the database:\n\n```bash\n# Activate virtualenv\nsource fds-env/bin/activate\ncd fragdenstaat_de\n# Create database structure\npython manage.py migrate --skip-checks\n```\n\nTo get started with some data:\n\n```bash\n# Load initial data (e.g. some CMS test fixtures)\npython manage.py loaddata tests/fixtures/cms.json\n# Create a superuser\npython manage.py createsuperuser\n# Create and populate search index\npython manage.py search_index --create\npython manage.py search_index --populate\n```\n\n### Import SQL dumps\n\nExample of loading SQL dumps into Docker postgres:\n\n```bash\ndocker compose -f compose-dev.yaml exec db dropdb -U fragdenstaat_de fragdenstaat_de\ndocker compose -f compose-dev.yaml exec db createdb -U fragdenstaat_de -O fragdenstaat_de fragdenstaat_de\ngunzip -k -c dump.sql.gz | docker compose -f compose-dev.yaml exec -T db psql -U fragdenstaat_de\n```\n\n### Quick start after setup\n\n```bash\nsource fds-env/bin/activate\ncd fragdenstaat_de\n# Start service in background with -d\ndocker compose -f compose-dev.yaml up -d\npython manage.py runserver\n```\n\n### Frontend development\n\n```bash\ncd fragdenstaat_de\npnpm run dev\n```\n\n### Upgrade dependencies\n\n```bash\nmake dependencies\n```\n\n### Main app dependencies\n\nThe `fragdenstaat_de` project depends on `froide`, multiple `froide`-related apps.\n\n```mermaid\nflowchart LR\n    fragdenstaat_de[[fragdenstaat_de]]--\u003efroide\n    fragdenstaat_de--\u003efroideapp[froide-*]\n    froideapp--\u003efroide\n    froide--\u003efilingcabinet[[django-filingcabinet]]\n    fragdenstaat_de--\u003ecms([django-cms])\n\n```\n\n## License\n\nFroide and fragdenstaat_de are licensed under the AGPL License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fokfde%2Ffragdenstaat_de","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fokfde%2Ffragdenstaat_de","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fokfde%2Ffragdenstaat_de/lists"}