Files
cis-enhanced/README.md
T
Nicolas Gruber 32b4dc4823 CIS Enhanced: FastAPI-App für LV-Plan, Studiengangs-Pläne und Namenslisten des FH-Burgenland-CIS
- Studentenplan (eigene/fremde Matrikelnummer) mit Wochenansicht, Semesterübersicht, iCal/CSV-Export
- Studiengangs-Pläne nach StG/Semester/Verband mit Gruppen-Filter
- Namenslisten mit Suche, Matrikel-Decode und CSV-Export
- Studiennummer-Decoder auf der Startseite
- Docker (Dockerfile, Compose) und Caddy-Beispiel für Deploy
2026-10-15 16:27:52 +02:00

1.8 KiB

CIS Enhanced

Bessere Ansichten für das FH-Burgenland-CIS:

  • Studentenplan - eigener oder fremder Plan (Matrikelnummer), Wochenansicht + Semesterübersicht, iCal/CSV-Export
  • Studiengangs-Pläne - nach Studiengang, Studien-Semester und Verband (Vollzeit/Berufsbegleitend), inkl. Gruppen-Filter
  • Namenslisten - je Studiengang/Semester/Verband mit Suche und CSV-Export
  • Studiennummer-Decoder - Matrikelnummer wird in Startsemester, Studiengang und Nummer zerlegt

Lokal starten

python -m venv .venv
.venv\Scripts\pip install -r requirements.txt   # Windows
# venv/bin/pip install -r requirements.txt      # Linux/Mac
.venv\Scripts\python run.py

Öffne http://127.0.0.1:8000

Konfiguration

Zugangsdaten in .env eintragen (Vorlage: .env.example):

CIS_USER=<matrikelnummer>
CIS_PASSWORD=<passwort>
CIS_BASE_URL=https://cis.hochschule-burgenland.at/cis
OWN_UID=<eigene matrikelnummer>

.env wird nicht in das Docker-Image kopiert (.dockerignore), sondern zur Laufzeit übergeben.

Docker

# Image bauen
docker build -t cis-enhanced .

# Starten (Zugangsdaten aus .env)
docker run -d --name cis-enhanced --restart unless-stopped \
  -p 8000:8000 --env-file .env cis-enhanced

# oder mit Compose
docker compose up -d --build

Deploy (Caddy)

App auf Port 8000 starten (z.B. als systemd-Service, oder der Docker-Container portet nach 127.0.0.1:8000), Caddy davor:

deinedomain.at {
	reverse_proxy 127.0.0.1:8000
}

systemd-Beispiel:

[Unit]
Description=CIS Enhanced
After=network.target

[Service]
WorkingDirectory=/pfad/zu/cis-enhanced
ExecStart=/pfad/zu/cis-enhanced/.venv/bin/python -m uvicorn app.main:app --host 127.0.0.1 --port 8000
Restart=always
User=www-data

[Install]
WantedBy=multi-user.target