2.5 KiB
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
!!! info "Weasyprint"
We are using [Weasyprint](https://weasyprint.readthedocs.io/) for `.pdf` generation, which requires certain packages on your machine. You can follow [the instructions on this page](https://doc.courtbouillon.org/weasyprint/stable/first_steps.html#installation) to install them.
Then, you can retrieve the Python dependencies:
pip install -e ".[dev]"
And the frontend dependencies:
=== "Yarn"
```bash
npm install
```
=== "npm"
bash 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