Skip to content

Une API qui expose la liste complète des médicaments vétérinaires de France

Notifications You must be signed in to change notification settings

amoutonbrady/french-veterinary-drugs-api

Repository files navigation

API de lecture des médicaments vétérinaires de France

Cette API à pour but de rendre accessible en lecture l'intégralité des médicaments vétérinaires autorisés en France.

Elle s'appuie sur un couple de deux fichiers XML fournis par la plateforme [https://data.gouv.fr/].

La valeur des données n’est pas transformée. Seules les clés le sont pour en exposer la version anglophone.

La correspondance de ces clés anglophones est décrite dans la spécification Open API 3.0 fourni avec l'API.

La documentation est disponible ici : [https://vets-doxwjojdmq-od.a.run.app]

Warning Cette API n'a pas d'authentification est autorise les CORS sur toutes les origines. Si toutefois elle commence à en être abusée, je me réserve le droit d'ajouter une authentification, voire même de couper l'accès au service.

Modèle de données

Sources

Modèle de base de données

Modèle de base de données

Stack technique

Le fonctionnement est découpé en 3 étapes :

  • Un script permettant d'ingérer les fichiers au format XML pour les transformer en un JSON pour faciliter l'ingestion des données dans une base de données
  • Un script permettant de faire l'ingestion des données JSON dans une base de données
  • Une API qui expose les données

Déploiement

L'API est d'abord mis en container via Docker puis publié sur une registry privée sur la plateforme Google Cloud : Google Cloud Artifacts.

Cette image Docker est ensuite déployée dans un environnement serverless de Google Cloud : Google Cloud Run.

La base de données au format SQLite est directement commité et embarqué dans l'image Docker ce qui permet de ne pas avoir à maintenir de base de données à côté. Tout est "self-contained" dans une image Docker.

Dans la mesure où la base de données et l'API ne sont qu'en lecture seule, cela ne pose pas de problème pour l'objectif qu'à cette API.

Self-host l'API

Voici dans les grandes lignes les instructions pour faire tourner l'API vous-même :

Setup

$ git clone ...
$ pnpm install
$ pnpm prisma db push
$ pnpm prisma generate
$ pnpm ingest
$ pnpm seed

Run localement

$ pnpm dev

Run en production

$ pnpm start

Run avec Docker

$ docker build -t vets .
$ docker run -p 8080:8080 vets

Outils

About

Une API qui expose la liste complète des médicaments vétérinaires de France

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages