/1327

CMS for a student representatives website

Primary LanguagePythonOtherNOASSERTION

1327

Build Status Requirements Status Codacy Badge Coverage Status

A student representatives website. This project is live! You can see a working instance of 1327 here!

Development

To be able to contribute to 1327, one needs to get the source code with all dependencies. Please note, that submodules for bootstrap, font-awesome and bootstrap-markdown are in use:

git clone https://github.com/fsr-itse/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.

Vagrant

One can simply set up an execution environment using vagrant:

vagrant up --provision

At that point, one 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 one to access the website at http://localhost:8000. To create a new superuser for the application, execute vagrant ssh in the project directory and trigger the django user management system:

./manage.py createsuperuser --username=root

Virtual Environment

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:

virtualenv -p /usr/bin/python3 env
source env/bin/activate
pip install -r requirements.txt
python manage.py migrate
python manage.py createsuperuser --username=root
python manage.py runserver 0.0.0.0:8000

After you're done with these steps, you'll need to install all static dependencies via Yarn.

  1. Install Yarn
  2. go into the directory static
  3. run the command yarn

Deployment

For deploying on a single machine 1327 you'll need to install all requirements from requirements-deploy.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.

License

The software is licensed under the terms of the MIT license. Please note, that non-MIT-licensed contents might be part of this repository.