Skip to content

AwaisKazi/web

 
 

Repository files navigation

Studentenportal 2.0

Build Status Coverage Status Code Health

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.

f*ck yeah!

Technologie

Das Studentenportal nutzt Python/Django.

Features

  • 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.

Development

Requirements:

  • Python >= 2.7
  • PostgreSQL >= 9.1
  • PostgreSQL Contrib Pakete (Debian: postgresql-contrib-9.1)

Um die Entwicklungsumgebung einzurichten:

  1. Repository clonen
  2. Python Virtualenv erstellen und aktivieren
  3. psql -d template1 -c 'CREATE EXTENSION citext;'
  4. createuser -e -P -d -E -s studentenportal (Passwort "studentenportal")
  5. createdb -e -O studentenportal -U studentenportal studentenportal
  6. pip install -r requirements/local.txt
  7. python manage.py syncdb
  8. python manage.py migrate
  9. python manage.py runserver

Um die Tests auszuführen:

  1. pip install -e .
  2. pip install -r requirements/testing.txt
  3. ./test.sh

Falls ein Datenbankfehler auftritt, weil das Schema sich geändert hat:

  1. python manage.py syncdb
  2. 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

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

Fragen

Bei Fragen wende dich an me@lukasmartinelli.ch oder https://twitter.com/studportal_hsr.

Lizenz

Der Code wird unter der AGPLv3 (oder einer späteren Version der AGPL) veröffentlicht.

About

Das HSR Studentenportal 2.0

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 48.1%
  • JavaScript 31.3%
  • HTML 12.7%
  • CSS 7.6%
  • Other 0.3%