You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+44-2Lines changed: 44 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,14 @@
4
4
>
5
5
> Un consortium composé de quatre entreprises leaders s’est formé pour mutualiser leurs efforts, données, applications et feuilles de route, afin de développer une plateforme de nouvelle génération, centrée sur le patient. Celle-ci vise à améliorer les soins de base tout en étant réactive, opérationnelle en temps réel et capable de prendre des décisions critiques en situation d’urgence, en tenant compte de toutes les données disponibles.
6
6
7
+
## Diagramme d'architecture
8
+
9
+
10
+
11
+
> Note : Dans le cadre des développements, une seule base de données est démarrée, avec des schémas différents initalisé par chaque microservice.
12
+
7
13
## 📁 Structure du projet
14
+
8
15
Le dépôt est organisé de la manière suivante :
9
16
10
17
```bash
@@ -21,7 +28,19 @@ Le dépôt est organisé de la manière suivante :
21
28
22
29
## ⚙️ Configuration de votre environnement local
23
30
24
-
Avant toute chose, clonez ce projet sur votre machine.
31
+
### Prérequis
32
+
33
+
Afin de démarrer vos développements, vous devez avoir :
34
+
-**Java 21**
35
+
-**Maven**
36
+
-**Node 20** et **Angular CLI**
37
+
-**Docker Desktop** et **Docker compose** d'intallé
38
+
- Un **IDE** (Intellij, VsCode) : nous recommandons IntelliJ.
39
+
- Optionnel :
40
+
- Apache JMeter. Reportez vous à [la documentation en lien](./jmeter/README.md).
41
+
- Un client d'API ([Bruno](https://www.usebruno.com/), [Postman](https://www.postman.com/), [Insomnia](https://insomnia.rest/download)). Les collections Bruno et Postman sont disponibles [ici](./docs).
42
+
43
+
Clonez ce projet sur votre machine.
25
44
26
45
### 📦 Démarrer les composants liés aux microservices
27
46
@@ -36,8 +55,31 @@ Pour stocker les données de manière persistante et permettre à l’applicatio
36
55
-`rm -rf kafka_data:/var/lib/kafka/data` pour les données d'évènements.
37
56
4. Exécutez la commande `docker compose up` depuis la racine du projet pour démarrer les composants :
38
57
58
+
> 💡 Les microservices ayant besoin d'une base de données relationelle ne démarreront pas si la base de bonnée n'est pas préalablement démarrée.
59
+
60
+
### Démarrer les microservices
61
+
62
+
Pour démarrer les microservices de manière pratique :
63
+
1. Ouvrez le dossier `backend` dans votre IDE IntelliJ
64
+
2. Depuis la fenêtre **Services**, lancez 1 à 1 vos microservices en respectant l'odre de démarrage :
65
+
1. Discovery Service
66
+
2. Hospital & Emergency Service (peu importe le sens)
67
+
3. Gateway Service
68
+
69
+
> Note : De cette manière, les services vont s'enregistrer aurpès du Discovery Server et l'API Gateway saura router correctement les requêtes entrantes
70
+
71
+
### Démarrer l'application frontend Anuglar
72
+
73
+
Pour démarrer l'application Angular, placez vous dans le dossier d'application, installez les packages et lancez l'application :
74
+
75
+
```bash
76
+
cd ./frontend/realtime-emergency-app/
77
+
npm i
78
+
ng serve
79
+
```
80
+
39
81
## 🧱 Gestion des migrations de données avec Liquibase
40
-
Nous utilisons Liquibase pour versionner les changements de structure, gérer les migrations de données, et peupler la base avec des données de test.
82
+
Nous utilisons [**Liquibase**](https://www.liquibase.com/) pour versionner les changements de structure, gérer les migrations de données, et peupler la base avec des données de test.
41
83
42
84
> 💡 Nous utilisons le plugin [IntelliJ JPA Buddy](https://plugins.jetbrains.com/plugin/15075-jpa-buddy) pour générer les changelogs à partir des entités JPA, évitant ainsi les scripts SQL manuels.
43
85
> Toutes les modifications proviennent directement des entités de chaque domaine.
0 commit comments