65 lines
1.9 KiB
Markdown
65 lines
1.9 KiB
Markdown
# FragDenRat
|
||
|
||
FragDenRat ist eine Django‑Webanwendung, inspiriert von abgeordnetenwatch.de, mit der öffentlich Fragen an Stadträt:innen in Gemeinderäten gestellt und veröffentlicht werden können.
|
||
|
||
## Datenmodell
|
||
|
||
- **Gemeinde (`PublicBody`)**: Verwaltungseinheit (z. B. Stadt/Gemeinde)
|
||
- **Partei (`Party`)**: Politische Partei
|
||
- **Stadträt:in (`Member`)**: Mitglied eines Gemeinderats; kann einer Gemeinde und optional einer Partei zugeordnet sein
|
||
- **Frage (`Question`)**: Frage an eine:n Stadträt:in
|
||
- **Antwort (`Answer`)**: Antwort auf eine Frage
|
||
|
||
## Entwicklung (lokal)
|
||
|
||
```bash
|
||
nix develop
|
||
export DJANGO_SETTINGS_MODULE=fragdenrat.settings
|
||
python manage.py migrate
|
||
python manage.py createsuperuser
|
||
python manage.py runserver 0.0.0.0:8000
|
||
```
|
||
|
||
Dann im Browser öffnen: `http://localhost:8000`
|
||
|
||
## NixOS
|
||
|
||
Binde das Modul in deine `flake.nix` ein und aktiviere den Service:
|
||
|
||
```nix
|
||
{
|
||
inputs.fragdenrat.url = "git+https://git.project-insanity.org/onny/fragify.git"; # Repo-URL anpassen
|
||
# ...
|
||
outputs = { self, nixpkgs, ... }@inputs: {
|
||
nixosConfigurations.host = inputs.nixpkgs.lib.nixosSystem {
|
||
system = "x86_64-linux";
|
||
modules = [
|
||
inputs.fragdenrat.nixosModule
|
||
({ pkgs, ... }:{
|
||
nixpkgs.overlays = [ inputs.fragdenrat.overlay ];
|
||
})
|
||
./configuration.nix
|
||
];
|
||
};
|
||
};
|
||
}
|
||
```
|
||
|
||
In `configuration.nix`:
|
||
|
||
```nix
|
||
services.fragdenrat.enable = true;
|
||
```
|
||
|
||
Der Dienst stellt einen uWSGI‑Socket unter `unix:${config.services.uwsgi.runDir}/fragdenrat.sock` bereit und liefert statische Assets unter `/static/` aus.
|
||
|
||
## Technisches
|
||
|
||
- **Framework**: Django
|
||
- **UI**: Bootstrap 5
|
||
- **WSGI**: uWSGI (über NixOS‑Modul)
|
||
- **Datenbank**: SQLite standardmäßig (anpassbar über Django‑Settings)
|
||
|
||
## Lizenz & Beiträge
|
||
|
||
Lizenz wie im ursprünglichen Projekt. Beiträge sind willkommen – gerne Issues und Pull Requests eröffnen.
|