Vous devez au préalable avoir correctement installé les logiciels suivants :
- Docker
- Docker Compose (inclus dans Docker Desktop)
pre-commit
https://pre-commit.comnode
(version indiquée dansapp/package.json
)hasura-cli
(version indiquée danshasura/.hasura_version
)poetry
(version indiquée dansbackend/.poetry_version
)python
(version indiquée dansbackend/pyproject.toml
)- make
- Il vient souvent pré-installé et est disponible sur les gestionnaires de paquets
Pour faciliter l'installation des versions requises de node
, hasura-cli
, poetry
et python
, un fichier de configuration de l'outil asdf a été créé (.tool-versions
). Pour utiliser celui-ci, il suffit d'installer asdf
puis ses plugins correspondants :
asdf plugin add python
asdf plugin add poetry
asdf plugin add nodejs
asdf plugin add hasura-cli
Les versions requises des outils peuvent ensuite être installés en lançant asdf install
dans le répertoire du projet. À partir de là, les outils suivront automatiquement les versions indiquées dans .tool-versions
.
L'utilisation de asdf
est facultative cependant: tout autre moyen d'activer les versions indiquées des outils permettra de faire fonctionner le projet.
⚠️ Assurez-vous que les ports 5000 (Hasura) et 5432 (PostgreSQL) soient libres d'écoute. Le cas échéant, vous pouvez changer les ports dans les fichiers de configuration ou d'environnement de l'application.
1/ Récupérer les sources du projet
git clone [email protected]:gip-inclusion/carnet-de-bord.git
cd carnet-de-bord
2/ Lancer l'installation avec make
make install # copie les fichiers d'environnement et télécharge les dépendances
ℹ️ Parmi les dépendances de développement du projet (cf. package.json), on retrouve la CLI Hasura, utile pour l'étape #5.
3/ Démarrer les composants tiers
L'application repose sur Hasura et PostgreSQL. Une stack docker-compose est maintenue par l'équipe pour instancier et démarrer ces services.
docker compose up
4/ Alimenter la base de données
Dans un second terminal :
make seed-database
ou
hasura --project ./hasura console
5/ Compiler et démarrer l'application SvelteKit
Dans un troisième terminal :
make start-app # démarrer le serveur de développement SvelteKit
6/ Configurer et démarrer l'API back-end métier
Dans un quatrième et dernier terminal
make start-backend # démarre l'instance de serveur FastAPI
7/ Accéder aux applications & outils (cf. captures ci-dessous)
- Webapp SvelteKit → http://localhost:3000
- API FastAPI → http://localhost:8000/docs
- Console Hasura → http://localhost:9695
8/ Accéder aux différents comptes de démonstration
L'équipe maintient des comptes de démo, renseignés dans le fichier DEMO.md.
Page d'accueil de l'application SvelteKit.
Documentation Swagger de l'API FastAPI
Console Hasura dont l'instance est correctement alimentée en données (cf. onglet "Data") :