Skip to content

Commit 0810d45

Browse files
authored
Update README.md
1 parent 5622655 commit 0810d45

File tree

1 file changed

+32
-23
lines changed

1 file changed

+32
-23
lines changed

README.md

Lines changed: 32 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,41 @@
1-
# MedHead Enterprise Real-Time Emergency Response System Proof of Concept
2-
> This Github repository own a Proof of Concept about Event-Driven & Microservices Architecture, as part of the implementation of a real-time emergency response system for the MedHead Consortium.
3-
>
4-
> A consortium of four leading companies has come together to consolidate the efforts, data, applications and roadmaps of each to develop a next-generation, patient-centric platform capable of improving the basic care offered, while being responsive, operational in real time and capable of making decisions in emergency situations, taking all data into account.
5-
6-
## Setup your local environment
7-
8-
First and foremost, clone this project.
9-
10-
### Run a Docker PostgreSQL container
1+
# Système de Réponse d'Urgence en Temps Réel - MedHead Enterprise (Proof of Concept)
112

12-
Setup a postgres container to have a database and store persisted data. Otherwise, application won't start.
3+
> Ce dépôt GitHub contient une preuve de concept basée sur une architecture orientée événements et microservices, dans le cadre de la mise en place d’un système de réponse d’urgence en temps réel pour le consortium MedHead.
4+
>
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+
7+
## 📁 Structure du projet
8+
Le dépôt est organisé de la manière suivante :
9+
10+
```bash
11+
├── .github/workflows/ # Fichiers de configuration CI/CD (GitHub Actions)
12+
├── backend/ # Code source backend (services, domaine, API, etc.)
13+
├── doc/ # Documentation du projet
14+
├── frontend/realtime-emergency-app/ # Application frontend (React, Angular, etc.)
15+
├── jmeter/ # Scénarios de test de performance JMeter
16+
├── .gitignore # Fichiers à ignorer par Git
17+
├── LICENSE # Licence du projet
18+
├── README.md # Fichier de documentation principal
19+
├── compose.yml # Configuration Docker Compose pour les microservices
20+
```
1321

14-
1. [**Install Docker desktop**](https://docs.docker.com/desktop/) on your machine.
22+
## ⚙️ Configuration de votre environnement local
1523

16-
2. Copy and paste this command in your terminal to run a functional container and match this project local config :
24+
Avant toute chose, clonez ce projet sur votre machine.
1725

18-
```shell
19-
docker run --rm -d --name medhead-db -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=password -p 5432:5432 postgres:latest
20-
```
26+
### 📦 Démarrer les composants liés aux microservices
2127

22-
### Run manually Liquibase Database migration & seeding (For now)
28+
Pour stocker les données de manière persistante et permettre à l’application de démarrer correctement, ainsi qu'assurer la communication des évènements, vous devez démarrer certains composants :
29+
- PostgreSQl : Système de gestion de base de donnée relationelle. Pour cette PoC, une seule DB est démarrée, et chaque microservice utilise son propre schéma. En production, chaque micro service utilise sa propre instance de DB
30+
- Kafka : Plateforme de messagerie distribuée qui permet aux services de communiquer en temps réel via des événements.
31+
- Kafka UI : Interface web pour superviser les brokers Kafka, et notamment les événements liés à la réservation de lit.
2332

24-
To versioning data changes, handle data migrations and test data seeding, we use the broadly adopted Liquibase tool.
33+
1. [**Installez Docker Desktop**](https://docs.docker.com/desktop/) sur votre machine.
2534

26-
We use [JPA Buddy IntelliJ Plugin](https://plugins.jetbrains.com/plugin/15075-jpa-buddy) to [create changelog from JPA Entities](https://www.jetbrains.com/help/idea/jpa-buddy-database-versioning.html#ddl-by-entities) and avoid manual scripts. **All change comes from our domain model**.
35+
2. Exécutez la commande `docker compose up` depuis la racine du projet pour démarrer les composants :
2736

28-
At this time, you need to do some actions :
37+
## 🧱 Gestion des migrations de données avec Liquibase
38+
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.
2939

30-
- In IntelliJ IDEA, setup the datasource for the project. you can copy [app properties for URl, user/password](https://github.com/swyth-dev/realtime-emergency-response-system/blob/d723e64aa94af62ffbe5eed8cecb03ac7e4d66e6/hospital-service/src/main/resources/application.yaml)
31-
- Create a new postgres schema `hospital-service`
32-
- Now you can run Liquibase Update. it will check db changelog, create tables and columns, and seed database from [data CSV files](https://github.com/swyth-dev/realtime-emergency-response-system/blob/52221e1ba7a20c39e5829a550d8d92c67f38f217/hospital-service/src/main/resources/db/changelog/data).
40+
> 💡 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.
41+
> Toutes les modifications proviennent directement du modèle de domaine.

0 commit comments

Comments
 (0)