Soutenance de PFE
Theodo
Une boîte de service
Le modèle d'équipe
2 devs
1 archi
1 coach agile
1 Product Owner
Des cycles rapides
Le Kaizen
Ubble
Une startup qui monte
Ubble c'est quoi ?
Pourquoi avoir demandé une équipe Theodo ?
Les différents points vérifiés
- La pièce est-elle un faux ? (score d'OVE)
- Les informations sur la carte sont elles valides ?(date d'expiration, matching avec la MRZ)
- La personne est elle une vrai personne ? (liveness)
- La personne présente est-elle la même que sur le document ? (face_match)
L'architecture
Comment ça se passe ?
La pipeline quésaco?
Des noeuds
G.add_node(
"final_checks",
element_type="final_checks",
status="not_started",
task={
"type": "celery",
"config": {
"name": "pipeline.final_checks",
"queue": settings.REALTIME_QUEUE,
},
"endpoints": [
{
"path": "^/api/templates/[0-9]+/features/",
"method": "GET",
"target": "api",
},
{"path": "^/api/review-tasks/", "method": "POST", "target": "api"},
],
},
metanodes=[{"id": "final_checks_", "blueprint": "final_checks"}],
outputs={
"list_of_objects": {
"done": False,
"value": None,
"schema": "#list_of_objects",
},
"manual_review": {"done": False, "value": None, "schema": "#manual_review"},
"retry": {"done": False, "value": None, "schema": "#retry"},
# TODO Delete this output once it not longer get patched by send_review_task_response
"should_retry": {"done": False, "value": None, "schema": "#should_retry"},
},
)
La pipeline quésaco?
Des edges
G.add_edge(
"final_checks",
"final_checks",
output="retry",
input="retry",
on_action={"type": "set", "name": "final_checks", "degree": 1},
stickiness={"source": True, "metanode": "final_checks"},
upward=True,
)
La mission Theodo
La MR App
Document Checks et Manual Review
La MR App
Le front et l'assignation
Demo time !
Le Kaizen CI
La perf
Le Kaizen CI
Une pièce
Le Kaizen CI
Les problèmes
- Builds long :
- Installation récurrente de dépendances fixes
- Installation systématique des librairies mouvantes sans cache
- Test longs
Le Kaizen CI
Les apprentisages
- Builds long :
- Création d'images de base
- Utilisation du cache de Circle CI
- Test longs :
- Réduction au minimum des entités créées durant un test
- Ne plus lancer les migrations ?
- Squasher les migrations ?
L'authentification
Le refresh token
Amazon Mturk
Merci de votre attention
Soutenance de PFE
By Léo Anesi
Soutenance de PFE
- 187