Logo Lanfrica

Amine-NAHLI/morocco-medication-api

Domaine:

healthcare

Type de record:

software
Créateur:
Ami
HĂ´te:
# 🇲🇦 Morocco Medication API API REST Node.js/PostgreSQL conçue pour la consultation et l'administration d'un référentiel complet des médicaments marocains. Elle gère les prix, les substances actives, les fabricants, les organismes, les régimes, les remboursements, ainsi que les sources officielles (comme la CNOPS). --- ## 🚀 Principales Réalisations (Ce qui a été fait) Le projet a récemment bénéficié de plusieurs améliorations majeures visant à le rendre robuste, sécurisé et prêt pour la production : - **Architecture Serverless & Déploiement Vercel :** Préparation complète de l'application pour un déploiement Vercel avec une intégration fluide du client Prisma généré au build. - **Synchronisation CNOPS Automatisée :** Prise en charge du format de dataset officiel (CKAN / data.gov.ma). Ajout d'un scheduler robuste (Cron Vercel) pour automatiser la mise à jour des données. - **Sécurité Renforcée :** Durcissement de la rotation des *Refresh Tokens* JWT, implémentation stricte du contrôle d'accès basé sur les rôles (RBAC), Helmet, et limitation de requêtes (Rate Limiting). - **Environnement de Test Isolé et Éphémère :** Mise en place d'une suite de tests d'intégration PostgreSQL isolée, utilisant un conteneur Docker éphémère (`docker-compose.test.yml`). Protection stricte contre l'exécution accidentelle sur des bases de production. - **Documentation & Standardisation :** Synchronisation complète de la spécification OpenAPI (Swagger) avec les routes de l'API. Nettoyage des scripts obsolètes. - **Interface Client Intégrée :** Création d'une page frontend professionnelle (`test-api.html`) avec un tableau de bord permettant la recherche filtrée, le tri, la pagination et la visualisation détaillée des fiches de médicaments (prix, ingrédients, remboursements). --- ## 🏗 Architecture & Stack - **Flux des requêtes :** `Express routes -> controllers -> services/repositories -> Prisma -> PostgreSQL`. - **Droits d'accès :** Les consultations sont publiques. Les écritures, im …