Installing Richie for development
Richie
is a container-native application but can also be installed
on your machine.
For development, the project is defined using a docker-compose file and consists of:
-
3 running services:
- database:
postgresql
ormysql
at your preference, - elasticsearch: the search engine,
- app: the actual
DjangoCMS
project with all our application code.
- database:
-
2 containers for building purposes:
- node: used for front-end related tasks, i.e. transpiling
TypeScript
sources, bundling them into a JS package, and building the CSS files from Sass sources, - crowdin: used to upload and retrieve i18n files to and from the Crowding service that we use to crowd source translations,
- node: used for front-end related tasks, i.e. transpiling
At "France Université Numérique", we deploy our applications on Kubernetes
using Arnold
.
Docker
First, make sure you have a recent version of Docker and Docker Compose installed on your laptop:
$ docker -v
Docker version 20.10.12, build e91ed57
$ docker-compose --version
docker-compose version 1.29.2, build 5becea4c
⚠️ You may need to run the following commands with sudo
but this can be
avoided by assigning your user to the docker
group.
Project bootstrap
The easiest way to start working on the project is to use our Makefile
:
$ make bootstrap
This command builds the app
container, installs front-end and back-end
dependencies, builds the front-end application and styles, and performs
database migrations. It's a good idea to use this command each time you are
pulling code from the project repository to avoid dependency-related or
migration-related issues.
Now that your Docker
services are ready to be used, start the full CMS by
running:
$ make run
Adding content
Once the CMS is up and running, you can create a superuser account:
$ make superuser
You can create a basic demo site by running:
$ make demo-site
Note that if you don't create the demo site and start from a blank CMS, you will get some errors requesting you to create some required root pages. So it is easier as a first approach to test the CMS with the demo site.
You should be able to view the site at localhost:8070
Connecting Richie to an LMS
It is possible to use Richie as a catalogue aggregating courses from one or more LMS without any specific connection. In this case, each course run in the catalogue points to a course on the LMS, and the LMS points back to the catalogue to browse courses.
This approach is used for example on https://www.fun-campus.fr or https://catalogue.edulib.org.
For a seamless user experience, it is possible to connect a Richie instance to an OpenEdX instance (or some other LMS like Moodle at the cost of minor adaptations), in several ways that we explain in the LMS connection guide.
This approach is used for example on https://www.fun-mooc.fr or https://www.nau.edu.pt.