EvaP is the course evaluation system used internally at Hasso Plattner Institute at the University of Potsdam.
For the documentation, please see our wiki.
The easiest setup using Vagrant and VirtualBox is shown here. For manual installation instructions and production deployment please see the wiki page on installation.
-
Install git, Vagrant and VirtualBox
-
Fork the Evap repository (using the Fork-button in the upper right corner on GitHub)
-
Windows users only (might not apply for the linux subsystem):
-
Line endings: git's
core.autocrlf
setting has to befalse
orinput
so git does not convert line endings on checkout, because the code will be used in a linux VM. We suggest using this command in Git Bash:git config --global core.autocrlf input
-
Symlink Privileges: Our setup script for the VM creates symlinks in the repository folder. This requires either explicitly allowing your user account to create symlinks or simply running the commands in step 3 as administrator. Thus, we suggest doing step 3 in a Git Bash that was started using "Run as administrator". Generally, this is only required for the first time executing
vagrant up
.
-
-
Run the following commands on the command line to clone the repository, create the Vagrant VM and run the Django development server:
git clone --recurse-submodules https://github.com/<your_github_username>/EvaP.git
cd EvaP
vagrant up
vagrant ssh
./manage.py run
- Open your browser at http://localhost:8000/ and login with email
[email protected]
and passwordevap
That's it!
We provide experimental support to run the development setup in a docker container using
vagrant up --provider docker
vagrant provision
vagrant ssh
We'd love to see contributions, feel free to fork! You should probably branch off main
, the branch release
is used for stable revisions.
Before committing, run the following commands:
./manage.py test
(runs the test suite)./manage.py lint
(runs the linter)./manage.py format
(applies automatic code formatting on Python files)
or, to combine all three, simply run ./manage.py precommit
You can also set up pylint
, isort
and black
in your IDE to avoid doing this manually all the time.
MIT, see LICENSE.md.
The platform is only tested in Mozilla Firefox and Google Chrome. Other browsers might not render all pages correctly.