L'idee generale de ce projet est de proposer une api REST afin de gérer des demandes de travaux à l'aide de la bibliotheque Seneca.
Installation
cd [mon_service_directory]
npm install
node main.js
Prerequisites
node > 8.*
Présentation de l'application
Seneca fonctionne sur le concept d'échange de messages et permet de crée des architectures microservices ou chaque composant est indépendant.
La solution développée permet de gérer une liste de demandes de travaux (DT) à partir d'une API REST à travers Seneca constitué des micro-services suivants :
Web-interface : Reçoit les requêtes HTTP, et les acheminent vers les microservices correspondent.
dt-pin-service : Réalise les opérations CRUD.
dt-stats : Fournit des statistiques a propos des DTs.
dt-search-engine : Gère un moteur d'indexation.
Représentation schématique de l'architecture
Messages échangés par l'application
Implémentation CRUD (dt-pin-service)
action
notes
role:dt,cmd:GET
list all DT objects in DB
role:dt,cmd:POST,data:*
create DT object with provided data
role:dt,cmd:PUT,id:*,data:*
update DT
role:dt,cmd:DELETE,id:*
delete DT, all with 'opened' state if if not provided
Gestion des statistiques (dt-stats)
action
notes
role:stats,info:dt,cmd:POST,applicant:*
increment counter for provided applicant
role:stats,info:dt,cmd:PUT,applicant:*
update counter for provided applicant if needed depend on DT state
Pour s'assurer du bon fonctionnement de nos micro-services, plusieurs tests ont ete realises durent toutes les phases de développement.
Package de test disponible dans le répertoire test/ deux clients sont fournis.