Bénéfriches est un outil numérique développé au sein de l'incubateur de l'ADEME.
Son object est de fournir une solution de calcul des impacts positifs de la reconversion de friches aux chargés d’opération d’aménagement pour favoriser la prise de décision (pour tout type de projet d’aménagement) et augmenter le nombre de reconversions.
L'outil est actuellement en phase de construction.
L'application est intégralement codée en Typescript. L'API est construite sur la plateforme NodeJS avec le framework NestJS. L'application web est construite avec les bibliothèques React et Redux.
Les données sont stockées dans une base PostgreSQL.
Le projet est organisé en monorepo et géré avec le gestionnaire de packages pnpm
.
Le code commun au front-end et au back-end (types, fonctions de calculs, etc.) est placé dans le package shared
.
- node (version 20 ou supérieure)
- pnpm (version 9.0.6 ou supérieure)
- docker (optionnel)
- postgresql (si docker non installé)
pnpm install
- Utilisation des valeurs exposées dans
apps/web/.env.example
etapps/api/.env.example
.
cp apps/web/.env.example apps/web/.env
cp apps/api/.env.example apps/api/.env
- Modifier les valeurs de
DATABASE_USER
etDATABASE_PASSWORD
en fonction de la méthode choisie pour lancer la base de données. Pour docker, utiliserDATABASE_USER
=postgres
etDATABASE_PASSWORD
=secret
.
# à la racine du projet
$ docker compose --env-file apps/api/.env -f docker-compose.db.yml up -d
Lancer PostgreSQL et créer l’utilisateur et la base de données :
postgres=\# CREATE USER <USERNAME> WITH ENCRYPTED PASSWORD '<YOUR_PASSWORD>';
postgres=\# CREATE DATABASE benefriches_db WITH OWNER = claire;
pnpm --filter api knex:migrate-latest # lancement des migrations
pnpm --filter api knex:seed-run # chargement des données nécessaires à l'application
pnpm --filter api start:dev
pnpm --filter web setup-env-vars
pnpm --filter web dev
pnpm run -r test
pnpm run -r lint
pnpm run -r format:check
pnpm run -r typecheck
pnpm run -r build