##Fet 2020 Django Project

Diese Webseite ist im Jahr 2020 entwickelt worden. Wir haben dazu einige Designentscheidungen getroffen:
1. Zunächst auf die externen Kernfunktionen fokusieren
2. Python+Django nutzen weil:
    * Wir Python mögen
    * Das Framework uns freiheit gibt zB die Mitglieder Daten entsprechend abzubilden
    * Das Design unabhängig von der Funktion bleibt
    * und einiges mehr
3. Als Kernfunktionen festgelegt wurden anfangs:
    * Neuigkeiten posten
    * FET Sitzungen ankündigen 
    * Etherpad für Agenda und Protokoll
    * Informationen zu Mitgliedern anzeigen
4. Unter dem Eindruck eines Jahres des Lockdown wurde zusätzlich hinzugefügt
    * Ein virtuelles Schwarzesbrett
    * Eine virtuelle Aufgabenliste

### Ablage und Entwicklung
Der Master liegt auf dem virtuellen git Server und kann wie folgt geholt werden:
```bash
git clone https://git.fet.at/bofh/fet2020
```
### Deployment

{{docker-compose.yml}}
<code>
docker-compose up
</code>

### Command Befehle

Erstellt die fehlenden Thumbs für die Alben in der Galerie:
<code>
python3 fet2020/manage.py create_thumbs
</code>

Erstellt alle Searchindexes neu:
<code>
python3 fet2020/manage.py rebuild_index
</code>

Aktualisiert alle Searchindexes:
<code>
python3 fet2020/manage.py update_index
</code>

Fügt alle Cronjobs in diesem Projekt hinzu:
<code>
python3 fet2020/manage.py crontab add
</code>

Fügt alle Staticfiles in die Assets hinzu: 
<code>
python3 fet2020/manage.py collectstatic
</code>

Überprüft, ob die Software bereit für die Produktion ist.
<code>
python3 fet2020/manage.py check --deploy
</code>

Code Formatting (zuerst isort und danach black anwenden):
```bash
isort **/*.py
```
```bash
black **/*.py
```
```bash
isort **/templatetags/*.py
```
```bash
black **/templatetags/*.py
```
