initial commit
This commit is contained in:
@@ -0,0 +1,128 @@
|
||||
# Faktenkompass – Wissensdatenbank für überprüfbare Behauptungen
|
||||
|
||||
Eine Django-Webplattform zum schnellen Nachschlagen von Fakten, Quellen und Gegenargumenten zu häufigen Aussagen in Diskussionen.
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
- Python 3.10 oder höher
|
||||
- pip
|
||||
|
||||
## Installation
|
||||
|
||||
### 1. Virtuelle Umgebung erstellen
|
||||
|
||||
```bash
|
||||
cd /pfad/zu/ArgumentAtlas
|
||||
python3 -m venv .venv
|
||||
source .venv/bin/activate # Linux/macOS
|
||||
# .venv\Scripts\activate # Windows
|
||||
```
|
||||
|
||||
Falls `python3 -m venv` fehlschlägt, nutzen Sie explizit den System-Python:
|
||||
|
||||
```bash
|
||||
/usr/bin/python3 -m venv .venv
|
||||
```
|
||||
|
||||
### 2. Abhängigkeiten installieren
|
||||
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
### 3. Datenbank migrieren
|
||||
|
||||
```bash
|
||||
python manage.py migrate
|
||||
```
|
||||
|
||||
### 4. Beispieldaten laden
|
||||
|
||||
```bash
|
||||
python manage.py load_sample_data
|
||||
```
|
||||
|
||||
Dies erstellt 7 Kategorien mit insgesamt 15 Behauptungen, Quellen und Gegenargumenten.
|
||||
|
||||
### 5. Admin-Zugang einrichten
|
||||
|
||||
```bash
|
||||
python manage.py createsuperuser
|
||||
```
|
||||
|
||||
### 6. Entwicklungsserver starten
|
||||
|
||||
```bash
|
||||
python manage.py runserver
|
||||
```
|
||||
|
||||
Die Anwendung ist unter [http://127.0.0.1:8000/](http://127.0.0.1:8000/) erreichbar.
|
||||
Das Django-Admin-Interface liegt unter [http://127.0.0.1:8000/admin/](http://127.0.0.1:8000/admin/).
|
||||
|
||||
Falls `runserver` mit einem Python-Pfadfehler abbricht, starten Sie mit:
|
||||
|
||||
```bash
|
||||
python manage.py runserver --noreload
|
||||
```
|
||||
|
||||
## PostgreSQL (Produktion)
|
||||
|
||||
Setzen Sie folgende Umgebungsvariablen:
|
||||
|
||||
```bash
|
||||
export DB_ENGINE=django.db.backends.postgresql
|
||||
export DB_NAME=faktenkompass
|
||||
export DB_USER=ihr_benutzer
|
||||
export DB_PASSWORD=ihr_passwort
|
||||
export DB_HOST=localhost
|
||||
export DB_PORT=5432
|
||||
```
|
||||
|
||||
Installieren Sie zusätzlich `psycopg2-binary` und führen Sie `migrate` erneut aus.
|
||||
|
||||
## Projektstruktur
|
||||
|
||||
```
|
||||
ArgumentAtlas/
|
||||
├── faktenkompass/ # Django-Projektkonfiguration
|
||||
│ ├── settings.py
|
||||
│ └── urls.py
|
||||
├── claims/ # Haupt-App
|
||||
│ ├── models.py # Category, Claim, Source, EvidenceFile, CounterArgument, Tag
|
||||
│ ├── views.py
|
||||
│ ├── urls.py
|
||||
│ ├── admin.py
|
||||
│ └── management/commands/load_sample_data.py
|
||||
├── templates/ # Django-Templates (Bootstrap 5)
|
||||
├── static/css/custom.css # Minimales Custom-Styling
|
||||
├── requirements.txt
|
||||
└── manage.py
|
||||
```
|
||||
|
||||
## Funktionen
|
||||
|
||||
- **Startseite:** Kategorien als Karten mit Behauptungsanzahl
|
||||
- **Kategorieseite:** Behauptungen filtern und durchsuchen
|
||||
- **Behauptungsdetail:** Status, Kurzantwort, Nachweise (Bilder/PDFs), Evidenzlevel, Quellen, Gegenargumente, Tags
|
||||
- **Globale Suche:** Behauptungen über alle Kategorien hinweg
|
||||
- **Admin:** Alle Inhalte über Django Admin pflegen
|
||||
- **SEO:** Sprechende URLs (`/kategorie/klimawandel/`, `/behauptung/...`)
|
||||
|
||||
## Inhalte verwalten
|
||||
|
||||
Melden Sie sich im Django-Admin an, um Kategorien, Behauptungen, Quellen, Gegenargumente und Schlagwörter anzulegen oder zu bearbeiten. Slugs werden automatisch aus Titeln generiert.
|
||||
|
||||
### Nachweise hochladen
|
||||
|
||||
Bei jeder Behauptung können im Admin unter **Nachweise** Dateien hochgeladen werden:
|
||||
|
||||
- **Bilder:** JPG, PNG, GIF, WebP, SVG (z. B. Grafiken, Screenshots, Diagramme)
|
||||
- **PDFs:** Studien, Berichte, Faktenblätter
|
||||
|
||||
Optional: Titel, Bildunterschrift und Reihenfolge. Hochgeladene Dateien erscheinen auf der Behauptungsdetailseite im Abschnitt „Nachweise“.
|
||||
|
||||
Dateien werden unter `media/evidence/` gespeichert. In der Produktion muss der Webserver Medien-Dateien ausliefern (z. B. über Nginx).
|
||||
|
||||
## Lizenz
|
||||
|
||||
Projekt für den internen Gebrauch / Bildungszwecke.
|
||||
Reference in New Issue
Block a user