Files
fet2020/Readme.md

155 lines
3.0 KiB
Markdown

# 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
Add email password for 'Verleih' account to EMAIL_HOST_PASSWORD in the docker compose file!
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