README.md 902 Bytes
Newer Older
Julien Palard's avatar
Julien Palard committed
1
2
# How to contribute

Antoine Angot's avatar
Antoine Angot committed
3
4
5

## Requirements

6
This project requires Python 3.6 at least.
Antoine Angot's avatar
Antoine Angot committed
7

8
9

## Install
Antoine Angot's avatar
Antoine Angot committed
10

Julien Palard's avatar
Julien Palard committed
11
12
13
```
pip install -r requirements.txt
./manage.py migrate
Julien Palard's avatar
Julien Palard committed
14
./manage.py loaddata initial  # To get some users and exercises
Julien Palard's avatar
Julien Palard committed
15
16
# (Initial data can be updated using:
   ./manage.py dumpdata -e contenttypes -e auth.Permission -e sessions.session > website/fixtures/initial.json)
Julien Palard's avatar
Julien Palard committed
17
./manage.py createsuperuser
Jérôme's avatar
Jérôme committed
18
./manage.py runserver
Julien Palard's avatar
Julien Palard committed
19
20
```

21
To also run the moulinette, you'll need to install `firejail` and `redis` then run:
Julien Palard's avatar
Julien Palard committed
22

23
24
25
```
celery -A hkis worker
```
Julien Palard's avatar
Julien Palard committed
26

Julien Palard's avatar
Julien Palard committed
27

Julien Palard's avatar
Julien Palard committed
28
29
## Translations

Julien Palard's avatar
Julien Palard committed
30
31
Templates are translated using django `makemessages` and `compilemessages` commands:

Julien Palard's avatar
Julien Palard committed
32
```
Julien Palard's avatar
Julien Palard committed
33
$ ./manage.py makemessages --locale fr
34
$ ./manage.py makemessages --locale fr --domain djangojs
Julien Palard's avatar
Julien Palard committed
35
# Edit the .po files
Julien Palard's avatar
Julien Palard committed
36
$ ./manage.py compilemessages
Julien Palard's avatar
Julien Palard committed
37
38
```

Julien Palard's avatar
Julien Palard committed
39
40
Exercises (title and wording) are translated via the admin (or the
API), we use django-modeltranslation.