Compare commits

2 Commits

Author SHA1 Message Date
094d7bed13 update homepage version to 2.2.0 2025-10-23 18:54:05 +02:00
8d4f899184 delete insecure option 2025-10-23 18:53:29 +02:00
3 changed files with 160 additions and 161 deletions

304
Readme.md
View File

@@ -1,152 +1,152 @@
# 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 fokussieren
2. Python + Django nutzen weil:
* wir Python mögen
* das Framework uns die 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
## Development
The main branch is hosted on the FET git server. Clone the repository using the following command:
```bash
git clone https://git.fet.at/bofh/fet2020
```
## Debug
If you are developing on Windows, install Visual Studio Code and Docker Desktop.
Add a local user/member for login because the project is not connected to FET LDAP in dev mode:
```bash
python manage.py createsuperuser
```
### Python version
View all python versions:
```bash
uv python list
```
Installing Python executables:
```bash
uv python install $(.python-version) --default
```
Update the following files if the python version is increased:
* .python-version
* pyproject.toml
* run-pre-commit.sh
## Deployment
### Docker image for django
Makemigrations:
```bash
python fet2020/manage.py makemigrations blackboard core finance gallery members posts rental
```
```bash
python fet2020/manage.py makemigrations intern
```
Add all static files to the assets:
```bash
python fet2020/manage.py collectstatic
```
Check if the project is for deployment:
```bash
python fet2020/manage.py check --deploy
```
Build the docker image of django project:
```bash
docker build -t django-image -f fet2020/Dockerfile ./fet2020
```
### Docker image for nginx
Build the docker image of nginx:
```bash
docker build -t django-nginx-image -f nginx/Dockerfile ./nginx
```
### Start docker container
Build the docker containers:
```bash
docker compose -f docker-compose.yml up -d
```
Remove all unused docker images older than 24 hours:
```bash
docker image prune -a --filter "until=24h"
```
## Other Useful Commands
Please use the command carefully! Remove all unused docker volumes:
```bash
docker volume prune -a
```
Rebuilds all search indexes:
```bash
python3 fet2020/manage.py rebuild_index
```
Updates all search indexes:
```bash
python3 fet2020/manage.py update_index
```
## TODO
ckeditor -> django-prose-editor
## Version History
Next
* Add rental
2.1.0
* Add finance system
2.0.0
* Update the homepage design
* Add intern
1.0.0
* First release of the new homepage
# 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 fokussieren
2. Python + Django nutzen weil:
* wir Python mögen
* das Framework uns die 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
## Development
The main branch is hosted on the FET git server. Clone the repository using the following command:
```bash
git clone https://git.fet.at/bofh/fet2020
```
## Debug
If you are developing on Windows, install Visual Studio Code and Docker Desktop.
Add a local user/member for login because the project is not connected to FET LDAP in dev mode:
```bash
python manage.py createsuperuser
```
### Python version
View all python versions:
```bash
uv python list
```
Installing Python executables:
```bash
uv python install $(.python-version) --default
```
Update the following files if the python version is increased:
* .python-version
* pyproject.toml
* run-pre-commit.sh
## Deployment
### Docker image for django
Makemigrations:
```bash
python fet2020/manage.py makemigrations blackboard core finance gallery members posts rental
```
```bash
python fet2020/manage.py makemigrations intern
```
Add all static files to the assets:
```bash
python fet2020/manage.py collectstatic
```
Check if the project is for deployment:
```bash
python fet2020/manage.py check --deploy
```
Build the docker image of django project:
```bash
docker build -t django-image -f fet2020/Dockerfile ./fet2020
```
### Docker image for nginx
Build the docker image of nginx:
```bash
docker build -t django-nginx-image -f nginx/Dockerfile ./nginx
```
### Start docker container
Build the docker containers:
```bash
docker compose -f docker-compose.yml up -d
```
Remove all unused docker images older than 24 hours:
```bash
docker image prune -a --filter "until=24h"
```
## Other Useful Commands
Please use the command carefully! Remove all unused docker volumes:
```bash
docker volume prune -a
```
Rebuilds all search indexes:
```bash
python3 fet2020/manage.py rebuild_index
```
Updates all search indexes:
```bash
python3 fet2020/manage.py update_index
```
## TODO
ckeditor -> django-prose-editor
## Version History
2.2.0
* Add rental
2.1.0
* Add finance system
2.0.0
* Update the homepage design
* Add intern
1.0.0
* First release of the new homepage

View File

@@ -10,7 +10,6 @@ python manage.py migrate
# Start server
echo "Starting server"
# TODO: FIX insecure!!!
python manage.py runserver --insecure 0.0.0.0:8000
python manage.py runserver 0.0.0.0:8000
exec "$@"

View File

@@ -1,7 +1,7 @@
from django.utils.version import get_version
VERSION = (1, 0, 0, "final", 0)
BUILD = 0
__version__ = get_version(VERSION)
build = BUILD
from django.utils.version import get_version
VERSION = (2, 2, 0, "final", 0)
BUILD = 0
__version__ = get_version(VERSION)
build = BUILD