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.
- Install the following python packages:
- python3-venv
- python3-dev
- Clone the repository.
- Run
source ./source_me.shto create a virtual environment. - Run
pip install --upgrade pipto make sure that pip is running the latest version - Run
pip install -r dev-requirements.txt - Use
cd srcto enter the website directory. - Run
./manage.py migrateto initialize the database. - Run
./manage.py createsuperuserto create an admin user.
During development, you can run a test web server using ./manage.py runserver.
If you can use Docker, there is an alternative way to get your development environment all set up:
- Clone the repository.
- Copy
.env-templateto.envand fill in the environments. - Run
docker-compose upcreate and start the docker instance - Run
docker exec -it moore python src/manage.py migrateto initialize the database - Run
docker exec -it moore python src/ createsuperuserto create an admin user.
The Moore application is now available on http://localhost:8000 and can be started
and stopped using docker-compose up -d and docker-compose stop (the -d flag starts the instance in the background).
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.