Skip to content

dataforgoodfr/14_RelaxesPourLeVivant

Repository files navigation

RelaxePourLeVivant

Plateforme de jurisprudences et de ressources juridiques à destination des professionel·les ou des citoyen·nes.

  • Recherche de décisions de justice
  • Accès à des fiches détaillées de chaque audience
  • Visualisation temporelle des procédures

Stack technique

Prérequis

  • NodeJS
  • Docker ou Podman

Installation

  • clonez le dépôts
  • installez les dépendances npm install
  • copiez .env.example vers .env et renseignez les variables manquantes
  • démarrez les services externes docker compose up -d ou podman compose up -d
  • démarrez l'application en mode dev npm run dev

Préparer la base de données

  • jouez les migrations node ace migration:run
  • ajoutez de la donnée factice node ace db:seed

Si besoin vous pouvez remettre à zéro votre dase de données avec les commandes node ace db:wipe ou node ace migration:reset et relancer les commandes de données ci-dessus.

Configurer NocoDB

Après votre première installation de NocoDB vous aurez besoin de configurer une connexion vers la base données de l'application.
Par défaut NocoDB est accessible via http://localhost:4444 (cf. compose.yaml)

  • Allez dans integrations, puis ajoutez une integration pour Postgres :
    • Host address : db
    • Port number : 5432
    • Username : la valeur de POSTGRES_USER dans .env
    • Password : la valeur de POSTGRES_PASSWORD dans .env
    • Database : le nom de la database dans database/postgres-init/create-database.sql
    • Schema name : public

Pour faire les appels à l'API, il faudra également récupérer un API_TOKEN lié au compte utilisé pour administrer NocoDB.

  1. Sur l'interface d'administration, ouvrir le menu "API Tokens" en cliquant sur le compte (en bas à gauche)
  2. Ajouter un nouveau token pour l'appli AdonisJS
  3. Copier le token généré et le renseigner pour la valeur NC_API_TOKEN dans .env

Configurer Metabase

Si vous lancez Metabase pour la première fois vous aurez besoin de le configurer manuellement, un peu comme NocoDB.
Par défaut Metabase est accessible via le http://localhost:3000 (cf. compose.yaml)

Suivez les instructions pour créer un premier compte, puis allez dans Ajoutez vos données, choisissez PostgreSQL.

Pour gagner du temps vous pouvez renseigner la Connection string

  • Connection string : jdbc:postgresql://db:5432/le_nom_de_votre_base_de_donnee (cf. .env ou database/postgres-init/create-database.sql)
  • Nom d'utilisateur : la valeur de POSTGRES_USER dans .env
  • Mot de passe : la valeur de POSTGRES_PASSWORD dans .env

Mailpit (serveur de mail dev)

Le service mailpit du Docker Compose File est un serveur mail de développement, qui gère:

  • les envois d'e-mail sur le port 1025
  • la réception des e-mail, à travers un webmail accessible à l'adresse http://localhost:8025/

Tester

Sur ce projet, il y a deux stratégies de tests: tests unitaires appliqués à certaines méthodes et des tests d'intégration en e2e.

Tests unitaires

Les tests unitaires sont placés dans le répertoire `tests/unit/'.

Ils sont créés avec la commande node ace make:test <Nom du test>, en choisissant unit dans le prompt.

Ils sont lancés avec node ace test.

Tests d'intégration

Étant donné que le projet suit une architecture MVC, les autres tests reposent sur une stratégie e2e avec PlayWright. Les tests d'intégrations sont placés dans le répertoire tests/browser/.

Initialiser PlayWright en installant les binaires des navigateurs headless:

npx playwright install

Lancer les tests

node ace test

Si vous utiliser Podman vous aurez besoin de configurer testcontainer pour fonctionner avec

  • Excuter podman info --format '{{.Host.RemoteSocket.Path}}' en ligne de commande
  • Ajouter ceci à votre .env
# TESTCONTAINERS PODMAN CONFIG
DOCKER_HOST={resultat_de_la_commande_podman}
TESTCONTAINERS_RYUK_DISABLED=true
TESTCONTAINERS_RYUK_PRIVILEGED=true

Structure du projet

Le projet suit le plus possible la structure d'un projet AdonisJS. Le framework offre un ensemble de commandes pour créer de nouveaux composants via la commande node ace

make
  make:command        Create a new ace command class
  make:controller     Create a new HTTP controller class
  make:event          Create a new event class
  make:exception      Create a new custom exception class
  make:factory        Make a new factory
  make:listener       Create a new event listener class
  make:middleware     Create a new middleware class for HTTP requests
  make:migration      Make a new migration file
  make:model          Make a new Lucid model
  make:preload        Create a new preload file inside the start directory
  make:provider       Create a new service provider class
  make:seeder         Make a new Seeder file
  make:service        Create a new service class
  make:test           Create a new Japa test file
  make:validator      Create a new file to define VineJS validators
  make:view           Create a new Edge.js template file

Le projet est construit sur une architecture MVC

AdonisJs fournit une configuration par défaut pour ESlint et Prettier.

schema d'architecture de l'application

configuration de NocoDB

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors