Project Moore is a replacement for many of the UTN web applications. Built using Wagtail and the Django framework, Project Moore intends to replace obfuscated custom applications. This is why this project keeps a high regard to programming practice and documentation.
Any questions about the project can be send to the UTN system administrator.
Before contributing please read through our contribution guidelines.
To get started with Project Moore, follow these instructions to set up a development environment:
- Install Python 3, at least version 3.5 or up.
- Clone the repository.
- Run
source ./source_me.sh
to create a virtual environment. - Run
pip install -r dev-requirements.txt
- Use
cd website
to enter the website directory. - Run
./manage.py migrate
to initialize the database. - Run
./manage.py creatsuperuser
to create an admin user.
During development, you can run a test web server using ./manage.py runserver
.
Documentation for Project Moore is split up into two parts. All documentation regarding Project Moore's code base is located within the code. Like the rest of the UTN infrastructure, a global overview of the application is documented on docs.utn.se
All code in this repository is tested in two ways: we use Django test suites and we run the flake8 style enforcer. Together they can promote clean and good code.
These tests are run automatically using Travis CI. If, however, you want to run these tests locally you can run the following commands in the project root directory:
./src/manage.py test src
- to test with our Django test suitesflake8 src
- to run the flake8 style enforcer
Project Moore intends to be multilingual. The web application is available in both Swedish and English. Whenever any translatable text is added or changed it should be translated using translation files.
Within Project Moore we use American English.
To create translations for an app:
cd src/<appname>
../manage.py makemessages -l sv
- This will create or update the files under
src/<appname>/locale/
. - Use poedit (or your favourite tool -- please do not use a plain text editor since those cannot handle all the subtleties) to fix the translations.
../manage.py compilemessages
AGPL-v2.0, unless a different, usually external, license is provided within a folder or file.