albrechtjan / workload

Survey web application for TU Dresden
survey.zqa.tu-dresden.de
GNU Affero General Public License v3.0
0 stars 0 forks source link

workload

Website and API for workload monitoring of students at TU Dresden.

This repository containes the code to run the workload monitoring website and the Web-API that is needed by the corresponding workload monitoring Android app. The Android app has its own repository (and documentation).

Technology

Most of the code is written in Python, using the Django web framework. The websites themselves are written in HTML and CSS and make use of the Django templating language. If you're new to Django, it is a good idea to try the very helpful tutorial. To store its data, Django uses a MySQL database. Authentication is set up to use the Shibboleth Single-Sign-On system, but it should be easy to switch to another authentication provider or use Djangos built in user management system.

Architecture

A MySQL database is used to store the data which is entered by the students on the website and which is passed to the API. The database also contains information about the lectures which a student can take.

There are three main components that connect to the database: The user-facing website, the admin panel, and the API. This API is used by the workload Android app to retrieve and store data. This means that all data is collected in a single place. All three components are written in Python as a single Django app.

Please make sure you understand the difference between a Django project and a Django app. For reference, you can read this short tutorial: https://docs.djangoproject.com/en/1.9/intro/tutorial01/. In this repository, the folder server-side/workload/workload is the Django project. It contains the main configuration file settings.py as well as the script which is caleld by the apache server, wsgi.py. Two apps belong to the project: First, the main app which is located in the directory server-side/workload/workloadApp. This app contains the views, the data models and the html for the workload website, the API and the admin panel. Additionally, the django-shibboleth-adapter app is used for authentication. It is not part of this repository, the next step explains how to install it.

Installation

Currently installed setup for survey.zqa.tu-dresden.de

Download and analyse the data from the database

License

See the LICENSE file for license rights and limitations (GNU AGPL).