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

75 lines
1.8 KiB
Markdown

# 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
```bash
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
```bash
# 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:
```ini
deinedomain.at {
reverse_proxy 127.0.0.1:8000
}
```
systemd-Beispiel:
```ini
[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
```