A student representatives website. This project is live! You can see a working instance of 1327 here!
You need to download the source code of 1327 to contribute:
git clone https://github.com/fsr-de/1327.git
Freshly created code needs to be tested - besides our use of unit tests, linting and continous integration, it is possible to run the application in a non-production environment using Vagrant or a Virtual Environment.
1327 requires Python 3.6
or higher.
You can simply set up an execution environment using vagrant
:
vagrant up
This will set up a virtual machine and run it. Running this for the first time might take a while.
To connect to it and start the application do:
vagrant ssh
# This will take you inside the virtual machine
./manage.py run
At that point you created a vagrant box, running a PostgreSQL database server, Apache web server and the Django application. The contents are available on the default port 8000
, which allows you to access the website at http://localhost:8000
.
To login with your local user instead of the default OpenID login, you have to visit http://localhost:8000/login?local_login=1
Another way of executing this django application is the use of a virtual python environment. This way bypasses the needs for a virtual machine and simplifies the life with multiple python versions installed.
Before creating a virtual environment, make sure to use Python 3.6
or higher:
python --version
# example output
Python 3.6.0
Now you can create a virtual environment with that python version:
python -m venv env
source env/bin/activate
pip install -r requirements-dev.txt
python manage.py migrate
python manage.py createsuperuser --username=admin
python manage.py run
After you're done with these steps, you'll need to install all static dependencies via Yarn.
- Install Yarn
- go into the directory
static
- run the command
yarn
Error | Solution |
---|---|
Fatal error: Python.h: No such file or directory |
Are you on a Debian system (e.g. Ubuntu)? Debian doesn't install development tools by default. Since some of the 1327 dependencies need to be compiled, we need those. You need to install them in your system, e.g. for Python 3.6 via sudo apt-get install python3.6-dev , and then recreate the virtual environment. |
For deploying on a single machine 1327 you'll need to install all requirements from requirements.txt
, and you can follow these instructions, for setting up a webserver and starting all scripts using a Process Control System, if you like.
You'll also need to setup yarn, as indicated in the last section.
The software is licensed under the terms of the MIT license. Please note that non-MIT-licensed contents might be part of this repository.