Getting started
First, clone the project
git clone git@gitlab.com:la-chariotte/la_chariotte.git
Virtual environment
To prevent the project's necessary libraries from conflicting with those on your system, it may be beneficial to install a virtual environment:
python3 -m venv .venv
Once the virtual environment is installed, you can activate it:
source .venv/bin/activate
Installing the dependencies
Weasyprint
We are using Weasyprint for .pdf
generation, which requires certain packages on your machine. You can follow the instructions on this page to install them.
Then, you can retrieve the Python dependencies:
pip install -e ".[dev]"
And the frontend dependencies:
npm install
yarn install
Setting up the database
We recommend using PostgreSQL for now (installation instructions here).
For development, we recommend creating a database named chariotte
accessible by the user and password of the same name.
In a PostgreSQL prompt, enter this:
CREATE ROLE chariotte WITH
LOGIN
NOSUPERUSER
CREATEDB
NOCREATEROLE
INHERIT
NOREPLICATION
CONNECTION LIMIT -1
PASSWORD 'xxxxxx';
CREATE DATABASE chariotte
WITH
OWNER = chariotte
ENCODING = 'UTF8'
CONNECTION LIMIT = -1
IS_TEMPLATE = False;
Create a configuration file
Create a local configuration file named "local_settings.py" at the project root :
from la_chariotte.settings import *
DATABASES = {
"default": {
"ENGINE": "django.db.backends.postgresql",
"NAME": "chariotte",
"USER": "chariotte",
"PASSWORD": "chariotte",
"HOST": "localhost",
}
}
Start the server
Everything should now be ready to start the server:
python manage.py migrate --settings=local_settings
python manage.py runserver --settings=local_settings
To create a superuser, who will have access to the admin interface (/admin):
python manage.py createsuperuser
Working with emails
To test the appearance of emails, you can use Sendria:
pip install sendria
sendria --db mails.sqlite
$NAVIGATOR http://127.0.0.1:1080