2.8 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:
from la_chariotte.settings import *
DATABASES = {
"default": {
"ENGINE": "django.db.backends.postgresql",
"NAME": "chariotte",
"USER": "chariotte",
"PASSWORD": "chariotte",
"HOST": "localhost",
}
}
Compile the CSS files
We use bulma as a CSS framework.
Make sure you are using the correct version of sass:
sass --version
# used for development: 1.59.3 compiled with dart2js 2.19.4
Recompile as soon as changes are detected in scss files.
sass --watch --no-source-map ./la_chariotte/static/sass/style.sass:./la_chariotte/static/css/app.css
Or prefer to compile to CSS on a per-occurrence basis:
sass --no-source-map ./la_chariotte/static/sass/style.sass:./la_chariotte/static/css/app.css
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