Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Cour-de-cassation/juritcom

Repository files navigation

API JURUTCOM

Collecte TCOM pour Judilibre

Caractéristiques

  • Architecture Modulaire : Basée sur NestJS, permettant une scalabilité et une maintenance facilitées.
  • Gestion des Environnements : Supporte plusieurs environnements (local, développement, production).
  • Tests Automatisés : Tests unitaires et d'intégration avec Jest pour assurer la qualité du code.
  • Linting et Formatage : Utilisation d'ESLint et Prettier pour maintenir un code propre et cohérent.

Technologies

  • NestJS : Framework pour construire des applications Node.js performantes.
  • TypeScript : Langage de programmation pour un typage statique.
  • AWS SDK : Pour interagir avec le service stockage S3.
  • Jest : Framework de tests pour JavaScript.
  • Prettier : Outil de formatage de code.
  • ESLint : Outil de linting pour identifier et reporter les motifs dans le code JavaScript.

Dépendances

Le projet JURITCOM utilise les dépendances suivantes :

  • @nestjs/common
  • @nestjs/core
  • @nestjs/config
  • @nestjs/swagger
  • @aws-sdk/client-s3
  • axios
  • class-transformer
  • class-validator
  • joi
  • rimraf
  • rxjs
  • uuid

Pré-requis

L'application nécessite node ainsi qu'un bucket S3, une connexion à une API de pseudonymisation (nlp-api) et une connexion à une API de sauvegarde (dbsder-api), n'hésitez pas à jeter un coup d'oeil à juridependencies.

La version de Node utilisée par ce projet est indiquée dans le fichier .nvmrc.

Installation

Pour installer les packages nécessaires au bon fonctionnement de l'application, ouvrir un terminal et executer la commande suivante :

npm install

Configuration

Configurer les variables d'environnement:

Dupliquer le fichier .env.example et le rennomer .env selon le besoin, adapter les variables d'environnement si besoin

Scripts

  • Voici une liste des scripts disponibles dans package.json :
Commande Description
prebuild Supprime le dossier dist avant la construction.
build Compile l'application NestJS.
format Vérifie le formatage du code avec Prettier.
start Démarre l'application en mode local.
start:dev Démarre l'application en mode développement avec rechargement à chaud.
start:debug Démarre l'application en mode debug avec rechargement à chaud.
start:prod Démarre l'application en mode production.
start:docker Démarre les conteneurs Docker en arrière-plan avec docker-compose.local.yml.
stop:docker Arrête les conteneurs Docker.
batch:start Exécute un script de normalisation batch en utilisant ts-node.
batch:start:prod Exécute le script batch de normalisation en production.
lint Vérifie le code TypeScript avec ESLint.
test Exécute les tests unitaires et d'intégration.
test:batch Exécute uniquement les tests pour le batch.
test:api Exécute uniquement les tests pour l'API et lance les tests d'intégration.
test:watch Exécute les tests en mode interactif avec surveillance des changements.
test:cov Exécute les tests avec génération de rapports de couverture.
test:debug Démarre les tests en mode debug avec Jest.
test:integration Exécute les tests d'intégration avec la configuration jest-integration.json.
fix Corrige les erreurs de formatage avec ESLint et Prettier.

Démarrer l'application dans un environnement local

Démarrer l'application nécessite au préalable d'initaliser les fichiers de variables d'environnement.

  • Pour lancer JuriTCOM avec Docker (voir juridependencies pour un container S3 adapté et dbsder-api pour la brique de sauvegarde) :

    npm run start:docker
  • Pour lancer l'API en phase de développement et afin de disposer d'une mise à jour à chaud du serveur à chaque changement:

    npm run start:watch
  • Autres commandes utiles :

    • Stopper tous les container :
      npm run docker:stop
    • Lancer le lint et le formatage du code :
      npm run fix
      

Tests

  • Pour exécuter les tests, utilisez la commande suivante :
npm run test
  • Pour exécuter les tests en mode interactif :
 npm run test:watch 
  • Pour exécuter les tests avec un rapport de couverture :
 npm run test:cov 

Postman

Configuration de Postman

Pour effectuer des tests Postman sur l'environnement de développement :

Swagger

Un Swagger est disponible à l'url /doc ou via /doc-json

L'API utilise le protocole OAuth 2 avec un flow client credentials, et l'utilisation d'un jeton JWT valide est requise pour accéder aux différents endpoints.

About

Collecte TCOM pour Judilibre

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 10