À propos du projet
Solution logicielle destinée aux visiteurs médicaux du laboratoire GSB, comprenant une application mobile Android native en Java et une API REST en TypeScript pour gérer les visites et praticiens.
GSB Visite API/Application
09/2025
16 commits
Application Android et API REST pour les visiteurs médicaux GSB
Technologies utilisées
Java
TypeScript
Rôle global de l'API
Pour la partie back-end de mon projet, j'ai développé une API REST qui sert de passerelle entre mon application mobile Android et la base de données du laboratoire GSB. Je l'ai développé en TypeScript. Elle réceptionne les demandes de l'application, les traite, et renvoie les informations nécessaires.
Les données gérées
J'ai conçu le back-end autour de cinq grands modèles de données :
- Les Visiteurs : Les visiteurs du laboratoire qui se connectent à l'application.
- Les Praticiens : Les professionnels de santé que les visiteurs rencontrent.
- Les Visites : La gestion des rendez-vous passés et à venir.
- Les Motifs : Les différentes raisons justifiant une visite médicale.
- Les Portefeuilles : Les listes qui relient les praticiens à leurs visiteurs attitrés.
- Les Visiteurs : Les visiteurs du laboratoire qui se connectent à l'application.
- Les Praticiens : Les professionnels de santé que les visiteurs rencontrent.
- Les Visites : La gestion des rendez-vous passés et à venir.
- Les Motifs : Les différentes raisons justifiant une visite médicale.
- Les Portefeuilles : Les listes qui relient les praticiens à leurs visiteurs attitrés.
Comment l'API est structurée en interne
Afin de garder un projet propre et maintenable, j'ai rigoureusement séparé les responsabilités dans mon code :
- Les Routes : J'ai défini des adresses spécifiques pour chaque type de donnée, permettant à l'application de communiquer avec l'API.
- Les Contrôleurs et Services : C'est le cœur de ma logique métier. Lorsqu'une requête arrive, les contrôleurs la réceptionnent et la délèguent aux services. Ce sont ces derniers qui effectuent le vrai travail.
- Les Validateurs : J'ai mis en place des vérifications strictes. Avant que mon API n'accepte une donnée envoyée par l'application, les validateurs s'assurent qu'elle est correcte et complète pour prévenir tout bug ou corruption de la base.
- Les Routes : J'ai défini des adresses spécifiques pour chaque type de donnée, permettant à l'application de communiquer avec l'API.
- Les Contrôleurs et Services : C'est le cœur de ma logique métier. Lorsqu'une requête arrive, les contrôleurs la réceptionnent et la délèguent aux services. Ce sont ces derniers qui effectuent le vrai travail.
- Les Validateurs : J'ai mis en place des vérifications strictes. Avant que mon API n'accepte une donnée envoyée par l'application, les validateurs s'assurent qu'elle est correcte et complète pour prévenir tout bug ou corruption de la base.
La Sécurité
J'ai intégré plusieurs mécanismes pour sécuriser les échanges et le serveur :
- L'authentification : Un système qui garantit que seuls les visiteurs GSB identifiés peuvent accéder aux données.
- Un Rate Limiter : Une sécurité qui limite le nombre de requêtes possibles par utilisateur dans un temps donné, afin d'éviter les surcharges du serveur.
- L'authentification : Un système qui garantit que seuls les visiteurs GSB identifiés peuvent accéder aux données.
- Un Rate Limiter : Une sécurité qui limite le nombre de requêtes possibles par utilisateur dans un temps donné, afin d'éviter les surcharges du serveur.
Fiabilité et tests automatisés
Pour garantir la stabilité de mon application à chaque modification de code, j'ai développé des tests unitaires automatisés en utilisant le framework Jest. Ces tests me permettent de valider de manière autonome que chacune de mes fonctions produit exactement le résultat attendu.
Fonctionnement
La connexion
J'ai mis en place un système d'authentification sécurisé. Lorsqu'un visiteur entre ses identifiants dans l'application, mon API vérifie ces informations via une route dédiée. Si les accès sont corrects, le serveur valide la connexion et autorise l'utilisateur à naviguer dans l'application.
La création de praticiens
J'ai développé une fonctionnalité permettant d'ajouter de nouveaux professionnels de santé dans la base de données. Mon API réceptionne les informations du médecin ou du pharmacien (nom, spécialité, coordonnées) et, après avoir vérifié que toutes les données obligatoires sont bien présentes grâce à mes validateurs, elle crée la fiche du praticien.
La création de visiteurs
De la même manière, mon API permet d'enregistrer de nouveaux visiteurs médicaux GSB. La route que j'ai créée se charge de recevoir les données du nouveau visiteur, de valider le format des informations, puis de l'ajouter au système pour qu'il puisse ensuite se connecter et obtenir son propre portefeuille.
L'attribution des portefeuilles
C'est une partie centrale de ma logique métier, j'ai conçu un système de "Portefeuille" pour relier les praticiens aux visiteurs. J'ai créé des routes spécifiques qui me permettent d'attribuer un ou plusieurs professionnels de santé à un visiteur précis. Ainsi, lorsqu'un visiteur se connecte à son application, le serveur ne lui renvoie que la liste des praticiens dont il est à la charge.
La création de visites
Pour organiser le travail sur le terrain, j'ai développé un module complet de gestion des visites. Mon API permet de créer un nouveau rendez-vous en associant un visiteur, un praticien de son portefeuille, une date, ainsi que le motif de cette rencontre. Toutes ces données sont contrôlées par le back-end avant d'être sauvegardées, assurant ainsi un historique fiable et un suivi précis pour le laboratoire.
La création des motifs
Afin de catégoriser précisément les rencontres sur le terrain, j'ai intégré un système de gestion des motifs de visite. Mon API dispose de routes spécifiques permettant de créer, modifier et lister les différentes raisons possibles pour un rendez-vous. Lorsqu'une visite est programmée dans l'application, elle est obligatoirement liée à l'un de ces motifs. Tout comme pour les autres données, mes validateurs s'assurent que les informations reçues sont conformes avant de les enregistrer en base de données. Cela permet au laboratoire GSB d'obtenir un suivi clair, structuré et des statistiques précises sur les actions menées par ses visiteurs médicaux.