Dies ist ein re-launch des HSR Studentenportals. Es hat das alte Portal im Frühling 2012 abgelöst und soll es in Sachen Ruhm und Ehre weit überholen.
- Live-Instanz: http://studentenportal.ch/
- Travis Buildserver: http://travis-ci.org/studentenportal/web
Das Studentenportal nutzt Python/Django.
- Upload und Bewertung von Zusammenfassungen, alten Prüfungen etc
- Events mit iCal Export
- Faire Dozentenbewertungen
- Unterrichtszitate
- Flattr Integration
- Deployment with ansible
Featurevorschläge sind willkommen! Aktuell geplante Features und Featurewünsche können auf https://github.com/studentenportal/web/issues eingesehen und erstellt werden.
Requirements:
- Python >= 2.7
- PostgreSQL >= 9.1
- PostgreSQL Contrib Pakete (Debian:
postgresql-contrib-9.1
)
Um die Entwicklungsumgebung einzurichten:
- Repository clonen
- Python Virtualenv erstellen und aktivieren
psql -d template1 -c 'CREATE EXTENSION citext;'
createuser -e -P -d -E -s studentenportal
(Passwort "studentenportal")createdb -e -O studentenportal -U studentenportal studentenportal
pip install -r requirements/local.txt
python manage.py syncdb
python manage.py migrate
python manage.py runserver
Um die Tests auszuführen:
pip install -e .
pip install -r requirements/testing.txt
./test.sh
Falls ein Datenbankfehler auftritt, weil das Schema sich geändert hat:
python manage.py syncdb
python manage.py migrate
Wenn du die Twitter Einbindung nutzen willst, musst du im Developer Center eine App erstellen und folgende Umgebungsvariablen setzen:
TWITTER_CONSUMER_KEY
TWITTER_CONSUMER_SECRET
TWITTER_ACCESS_KEY
TWITTER_ACCESS_SECRET
Testdaten können am einfachsten via django-admin
(http://localhost:8000/admin
) angelegt werden.
Es gibt aber auch einige Files mit Testdaten in den
fixtures
Verzeichnissen der Apps. Voraussetzung dafür sind zwei Benutzer mit den
Primärschlüsseln 1 und 2 (am besten mit python manage.py createsuperuser
erstellen).
- Studiengänge:
python manage.py loaddata courses
- Events:
python manage.py loaddata events
Bei anderen Daten (zB bei den Dozenten) kann man gleich mit echten Daten arbeiten. Die Daten werden direkt von der HSR Website bezogen. Man braucht dafür ein funktionierendes HSR Login.
- Dozenten:
python manage.py fetch_lecturers --user=<hsr-username>
- Module:
python manage.py fetch_modules
Bei Fragen wende dich an [email protected] oder https://twitter.com/studportal_hsr.
Der Code wird unter der AGPLv3 (oder einer späteren Version der AGPL) veröffentlicht.