Skip to content

Commit 37eb764

Browse files
committed
doc: improve doc and images
1 parent 08ba9ed commit 37eb764

19 files changed

+27
-9
lines changed

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ repos:
1212
hooks:
1313
# Prevent committing large files
1414
- id: check-added-large-files
15-
args: ['--maxkb=6000']
15+
args: ['--maxkb=10000']
1616

1717
- id: check-json
1818
- id: check-yaml

docs/en/architecture.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ The system implements a **polyglot microservices architecture** with hexagonal p
1818
LOCAL → DEV → PROD
1919
```
2020

21+
![Env Diagram](images/env_diagram.png)
22+
2123
- **LOCAL**: Docker Compose with Pub/Sub and Firestore emulators (zero GCP cost)
2224
- **DEV**: Full GCP services with automatic deployment on push to main branch
2325
- **PROD**: Production environment with manual deployment via release tags

docs/en/index.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
# DroneFleet Optimizer
2-
3-
## What's this repo ?
1+
<img src="images/logo_header.png" alt="Header Logo" width="1200" height="480" />
42

3+
# What's this repo ?
54
This project is a complete real-time cloud management system for emergency medical delivery drone fleets.
65

76
It's based on an event-driven architecture deployed on GCP. With a complete CI/CD deployment, as well as a data Simulator and an ELT pipeline to process and analyse data using BigQuery.
@@ -14,6 +13,6 @@ My goal was to design and implement an end-to-end data infrastructure: from data
1413

1514
This project allowed me to deepen my mastery of concepts such as concurrency management, containerization, event-driven architectures, monorepo organization, CI/CD, isolation of environments and cloud deployment. As well as using Python (Pydantic, FastAPI), Java (with Spring Boot), protobuf and buf library to manage single source of truth, and also designing complete CI/CD deployment with GitHub Action
1615

17-
![Zoomed Architecture Diagram](images/zoomed_archi.png)
16+
![colored Architecture Diagram](images/colored_diagram.png)
1817

1918
You can download it for free by following the [Getting Started](getting-started.md) steps, or read on [Overview](overview.md) to learn more about how it works and the technical choices made, as well as broader considerations and reflections on the creation and management of such a system.

docs/en/path-optimizer.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@ The solver uses OR-Tools' `RoutingModel` API, expressing the problem through **d
7373

7474
Since VRPPD is **NP-hard** (no polynomial-time optimal solution exists), OR-Tools uses a two-phase heuristic/metaheuristic strategy:
7575

76+
![Optimizer Diagram](images/path_optimizer.png)
77+
7678
### Phase 1: Constructive Heuristic (PARALLEL_CHEAPEST_INSERTION)
7779

7880
A greedy algorithm that considers all unrouted nodes simultaneously across all vehicles. At each step, it inserts the node that causes the smallest increase in total cost into the best position of any route. Complexity: **O(n² × V)** where n = number of nodes, V = number of vehicles. Completes in milliseconds for typical problem sizes.

docs/en/technology-stack.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414

1515
All components share a single source of truth for data models via **Protocol Buffers**:
1616

17+
![Proto Diagram](images/buf_logic.png)
18+
1719
- Definitions in `shared/proto/dronefleet/v1/*.proto`
1820
- Generated code for Java, Python, TypeScript
1921
- Validation via Buf (linting, breaking change detection)

docs/fr/architecture.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ Le système implémente une **architecture de microservices polyglotte** suivant
1717
```
1818
LOCAL → DEV → PROD
1919
```
20+
![Env Diagram](images/env_diagram.png)
2021

2122
- **LOCAL** : Docker Compose avec les émulateurs Pub/Sub et Firestore (coût GCP nul).
2223
- **DEV** : Services GCP complets avec déploiement automatique lors d'un push sur la branche `main`.

docs/fr/index.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
# DroneFleet Optimizer
1+
<img src="images/logo_header.png" alt="Header Logo" width="1200" height="480" />
22

33
## Qu'est-ce que ce repo ?
4-
54
Ce projet est un système complet de gestion cloud en temps réel pour des flottes de drones de livraison médicale d'urgence.
65

76
Il est basé sur une architecture pilotée par les événements (event-driven) déployée sur GCP. Il inclut un pipeline CI/CD complet, un simulateur de données et un pipeline ELT pour traiter et analyser les données via BigQuery.
@@ -14,6 +13,6 @@ Mon objectif ultime était de concevoir et d'implémenter une infrastructure de
1413

1514
Ce projet m'a permis d'approfondir ma maîtrise de concepts tels que la gestion de la concurrence, la conteneurisation, les architectures événementielles, l'organisation en monorepo, le CI/CD et le déploiement cloud.
1615

17-
![Zoomed Architecture Diagram](images/zoomed_archi.png)s
16+
![colored Architecture Diagram](images/colored_diagram.png)
1817

1918
Vous pouvez tester le projet gratuitement en suivant les étapes de [Mise en Place](getting-started.md), ou poursuivre votre lecture vers [Overview](overview.md) pour découvrir son fonctionnement, les choix techniques effectués et mes réflexions sur la conception d'un tel système.

docs/fr/path-optimizer.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ Les **contraintes ramassage-livraison** assurent que la collecte et la livraison
6969

7070
### Choix de l'algorithme : Stratégie en deux phases
7171

72+
![Optimizer Diagram](images/path_optimizer.png)
73+
7274
Le VRPPD étant **NP-difficile**, OR-Tools utilise des heuristiques :
7375

7476
#### Phase 1 : Heuristique constructive (PARALLEL_CHEAPEST_INSERTION)

docs/images/Terraform_Logo.svg

Lines changed: 7 additions & 0 deletions
Loading

docs/images/buf_logic.png

1.83 MB
Loading

0 commit comments

Comments
 (0)