Pierre-Gilles Leymarie
Stage DUT
1 Septembre 2015
- Company
- BulldozAIR
- Goals
- Development
- Video
BlockBase
Paris 15
Boucicaut
Startup Incubator
BlockBase
BlockBase
BulldozAIR
Utilisé par 6000 entreprises
BulldozAIR
Objectif : Améliorer la communication chantier - bureau
BulldozAIR
BulldozAIR
API
{
id: '9af06b3c-08e0-420c-88e9-fc50be052098',
title: 'Une note',
number: 1,
is_terminated: false,
project_id: '912b4512-5d6d-4887-9c11-e2fadabe2490',
file_id: '2c8dab58-7f4a-466b-8bf2-5feebd1ff329',
created_by: '17ca2780-4344-422b-a8a4-ab2032f19e9a',
updated_by: '17ca2780-4344-422b-a8a4-ab2032f19e9a',
created_at: Tue Jun 23 2015 11:31:48 GMT+0200 (CEST),
updated_at: Tue Jun 23 2015 11:31:48 GMT+0200 (CEST),
latest_from_server: Tue Jun 23 2015 11:31:48 GMT+0200 (CEST),
is_deleted: false
}
GET /notes/9af06b3c-08e0-420c-88e9-fc50be052098
Backend actuel
- Problèmes de performances
- Code difficilement factorisable
- Très peu souple
- Librairie cliente peu mises à jour
Les choix technologiques
Cahier des charges
- Synchronisation avec les apps Mobiles
- Performances
- Factorisation du code
- Souplesse
- Légèreté
Les choix technologiques
Benchmark de Sails.js
Execution time (hr): 1s 697.814605ms
Execution time (hr): 2s 230.95525ms
Execution time (hr): 2s 631.891823ms
Execution time (hr): 2s 938.193255ms
4 * 200 insertions simultanées
Les choix technologiques
Express
Les choix technologiques
La base de donnée
- Orienté graphe
- Très performant avec les données associatives
- Payant pour les entreprises
- Programme Java lourd en mémoire
- BDD relationnelle libre
- Très performant avec les gros lots de données
- Procédure stockée
- Nombreux types ( UUID, Json )
Les choix technologiques
Architecture micro-services
Les choix technologiques
Architecture micro-services
- Load-balancing avec Nginx
- Un event-bus
- Email Service
- Scheduler Service
Les choix technologiques
Docker
Docker est un outil qui peut empaqueter une application et ses dépendances dans un conteneur virtuel, qui pourra être exécuté sur n'importe quel serveur Linux
Le développement
Test Unitaires & d'intégrations
- Framework Mocha
- 744 tests
- 98% de couverture de code
Le développement
L'intégration continue
Le développement
Tests de charges
Conclusion
Bilan de ces 3 mois
- Choix technologiques
- De nombreux benchmarks
- Plusieurs "Proof of Concept"
- Test-driven development
- 138 routes d'API écrites entièrement testée
- Un contrat d'apprentissage Ingénieur de 3 ans
Video
deck
By Pierre-Gilles Leymarie
deck
- 375