jaja07/ping_api

Python

0

17 commits

updated Oct 20, 2025

See the code

README

PING — API

Ce dépôt contient l'API du projet PING (backend). L'API est construite en Python (FastAPI) et regroupe plusieurs services REST pour la gestion des patients, bilans, consultations, kinésithérapie et l'intégration de modules ML (détection de pose, transcription, etc.).

Table des matières

  • Description
  • Architecture & organisation
  • Prérequis
  • Installation (local)
  • Exécution avec Docker
  • Endpoints principaux
  • Dossiers importants

Description

PING est une API REST destinée à supporter une application de suivi clinique (patients, bilans, consultations) et à intégrer des modules ML (ex. détection de pose Mediapipe, transcription). Ce dépôt contient l'API, des routers FastAPI, des services métiers et des utilitaires pour le traitement des données et l'intégration des modèles.

Architecture & organisation

Structure principale (extraits) :

app/
  main.py              # point d'entrée FastAPI
  routers/             # routes REST
  services/            # logique métier
  models/              # modèles Pydantic
  models_ml/           # scripts/tests ML
  utils/               # utilitaires
app2/                  # service secondaire (ex. transcription)
data/                  # stockage (WiredTiger / mongodb files)
testModels/            # scripts de test locaux pour les modèles

Le projet suit la séparation route -> service -> modèle pour garder la logique métier testable et contenue.

Prérequis

  • Python 3.10+
  • pip
  • Docker & docker-compose (optionnel pour conteneurisation)

Installation (exécution locale)

  1. Créez et activez un environnement virtuel :
python -m venv .venv
.\.venv\Scripts\Activate.ps1
  1. Installez les dépendances :
python -m pip install --upgrade pip
pip install -r requirements.txt
  1. Lancez l'API en développement :
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload

La documentation interactive sera disponible sur http://localhost:8000/docs.

Exécution avec Docker

Le dépôt contient un docker-compose.yml et des Dockerfile pour app/ et app2/.

Pour démarrer via Docker Compose :

docker-compose up --build

Cela construira et démarrera les services définis.

Endpoints principaux

Les routers FastAPI sont dans app/routers. Aperçu des routes exposées (préfixes) :

  • /patients — gestion des patients (CRUD)
  • /bilans — bilans médicaux
  • /consultations — consultations
  • /kine — endpoints kiné
  • /ner — extraction NER
  • /upload_pose — upload et traitement de poses (Mediapipe / YOLO)

Pour la liste complète des endpoints et leurs schémas, démarrez l'API et consultez /docs.

Dossiers importants

  • app/main.py — point d'entrée FastAPI
  • app/routers/ — définition des endpoints
  • app/services/ — logique métier
  • app/models/ — modèles Pydantic
  • app/utils/ — utilitaires (ex. mp_utils.py, model.py)
  • app/models_ml/ et testModels/ — scripts et tests pour modèles ML
  • data/ — stockage (WiredTiger / fichiers MongoDB)

jaja07/ping_api

Python

0

17 commits

updated Oct 20, 2025

See the code

README

PING — API

Ce dépôt contient l'API du projet PING (backend). L'API est construite en Python (FastAPI) et regroupe plusieurs services REST pour la gestion des patients, bilans, consultations, kinésithérapie et l'intégration de modules ML (détection de pose, transcription, etc.).

Table des matières

  • Description
  • Architecture & organisation
  • Prérequis
  • Installation (local)
  • Exécution avec Docker
  • Endpoints principaux
  • Dossiers importants

Description

PING est une API REST destinée à supporter une application de suivi clinique (patients, bilans, consultations) et à intégrer des modules ML (ex. détection de pose Mediapipe, transcription). Ce dépôt contient l'API, des routers FastAPI, des services métiers et des utilitaires pour le traitement des données et l'intégration des modèles.

Architecture & organisation

Structure principale (extraits) :

app/
  main.py              # point d'entrée FastAPI
  routers/             # routes REST
  services/            # logique métier
  models/              # modèles Pydantic
  models_ml/           # scripts/tests ML
  utils/               # utilitaires
app2/                  # service secondaire (ex. transcription)
data/                  # stockage (WiredTiger / mongodb files)
testModels/            # scripts de test locaux pour les modèles

Le projet suit la séparation route -> service -> modèle pour garder la logique métier testable et contenue.

Prérequis

  • Python 3.10+
  • pip
  • Docker & docker-compose (optionnel pour conteneurisation)

Installation (exécution locale)

  1. Créez et activez un environnement virtuel :
python -m venv .venv
.\.venv\Scripts\Activate.ps1
  1. Installez les dépendances :
python -m pip install --upgrade pip
pip install -r requirements.txt
  1. Lancez l'API en développement :
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload

La documentation interactive sera disponible sur http://localhost:8000/docs.

Exécution avec Docker

Le dépôt contient un docker-compose.yml et des Dockerfile pour app/ et app2/.

Pour démarrer via Docker Compose :

docker-compose up --build

Cela construira et démarrera les services définis.

Endpoints principaux

Les routers FastAPI sont dans app/routers. Aperçu des routes exposées (préfixes) :

  • /patients — gestion des patients (CRUD)
  • /bilans — bilans médicaux
  • /consultations — consultations
  • /kine — endpoints kiné
  • /ner — extraction NER
  • /upload_pose — upload et traitement de poses (Mediapipe / YOLO)

Pour la liste complète des endpoints et leurs schémas, démarrez l'API et consultez /docs.

Dossiers importants

  • app/main.py — point d'entrée FastAPI
  • app/routers/ — définition des endpoints
  • app/services/ — logique métier
  • app/models/ — modèles Pydantic
  • app/utils/ — utilitaires (ex. mp_utils.py, model.py)
  • app/models_ml/ et testModels/ — scripts et tests pour modèles ML
  • data/ — stockage (WiredTiger / fichiers MongoDB)