Bonjour, je suis

Khalil Charfi.

Ingénieur Logiciel spécialisé dans la création d'applications web, backend et mobiles fiables.

9+ ans d'expérience
$ php artisan serve --env=production
Console Interactive:

Professional Summary

Core Expertise

BackendFrontendMobileCloud

Engineering Principles

  • Prefer simple solutions before introducing abstractions.
  • Build maintainable and self-documenting software.
  • Optimize after measuring and profiling.
  • Write code that other developers can easily understand.
  • Design interfaces and systems for long-term evolution.

Career Highlights

  • Frankfurt, Germany
  • Software Engineer @ CHECK24
  • M.Sc. Enterprise Systems Engineering
  • IEEE Published Research
  • Arabic • English • French • German
  • 9+ Years Experience
JavaScript/TypeScriptPHPJavaHTML5CSS3 (Sass/LESS)
LaravelLaminasSpring BootNode.jsRESTful APIsGraphQL
Vue.jsAngularBootstrapCSS3/SassJSP (legacy)
FlutterIonicCapacitorAndroid (Java)Architecture Offline-First
MySQLMongoDBSQLiteCouchDB/PouchDBFirebase (Firestore, Auth, FCM)
FirebaseKeycloakRancherGCP (Cloud Run)
DockerGitJenkinsGitLab CI/CDBitriseInfrastructure as Code (Puppet)
Clean ArchitectureMicroservicesSynchro de données temps réelComplex Event Processing (CEP)Systèmes IoTApplications Offline-First
TestCafeCucumberSonarQubeGrafanaKibanaStack ELK
Mapbox GL JSIntégration BluetoothDrupal (legacy)WSO2 CEPJHipster

Francfort, Allemagne

  • Contribution à la modernisation du portail de comparaison de voyages, en migrant les anciens modèles vers un système frontend Vue.js découplé pour une meilleure expérience utilisateur.
  • Travail sur l'amélioration des performances de paiement et de l'expérience utilisateur en optimisant le rendu frontend et en intégrant de nouvelles fonctionnalités à la plateforme existante.
  • Développement et intégration d'API REST pour connecter les systèmes backend principaux, contribuant à éliminer les étapes de saisie manuelle de données et à réduire la charge sur le client.
  • Collaboration à l'optimisation des requêtes de base de données et aux stratégies de mise en cache, aidant à améliorer les temps de réponse globaux des API pour notre base d'utilisateurs actifs.

Sfax, Tunisie

  • Participation au développement de plusieurs applications de gestion de vente et d'inventaire (Cover 3D Mobile, 3andi, 3andi Partner, ProInventory) utilisées par les commerciaux et les entreprises de vente au détail.
  • Implémentation de la synchronisation CouchDB/PouchDB pour les applications mobiles Flutter et Ionic, permettant aux commerciaux de travailler de manière fiable dans les zones à faible connectivité.
  • Développement de services backend en PHP/Laravel pour soutenir les utilisateurs mobiles actifs, avec un accent particulier sur l'optimisation des requêtes et la stabilité des structures de base de données.
  • Intégration de la gestion des identités et des accès (IAM) basée sur Keycloak pour prendre en charge un accès sécurisé multi-locataire basé sur les rôles pour les clients professionnels.

Sfax, Tunisie

  • Travail sur une application de suivi des transports en commun en temps réel utilisant Ionic et Mapbox GL JS, affichant des cartes et des horaires en direct pour les usagers.
  • Contribution au pipeline de données traitant les flux GPS, en utilisant des structures de mise en cache et de requêtes pour améliorer les temps de rendu.
  • Configuration de pipelines CI/CD GitLab pour automatiser les étapes de build et de déploiement, rendant les cycles de publication plus cohérents.

Sfax, Tunisie

  • Développement d'interfaces web réactives pour la plateforme e-commerce IRIDION avec Bootstrap et jQuery, en se concentrant sur l'ergonomie des mises en page et la convivialité.
  • Création et intégration de composants de frontend JSP (Java Server Pages) et travail avec l'équipe produit sur des ajustements du flux de commande.

Sfax, Tunisie

  • Développement d'applications compagnons Android pour des systèmes ERP et de billetterie de file d'attente, avec intégration à des backends PHP/Laravel.
  • Mise en œuvre d'une synchronisation locale SQLite de type offline-first et d'une logique de réconciliation automatique pour réduire les écarts de synchronisation.
  • Intégration de protocoles d'impression Bluetooth pour le matériel de billetterie de file d'attente afin de fluidifier les processus de paiement locaux.

Allemagne & Tunisie

  • Contribution à un projet de recherche sur la surveillance de la santé par objets connectés (IoT), en utilisant Spring Boot, MongoDB et WSO2 Complex Event Processing (CEP) pour traiter les données de flux ECG.
  • Aide au développement de la logique de détection en temps réel des anomalies cardiaques sous la direction de conseillers académiques et cliniques.
  • Co-auteur d'un article de recherche évalué par des pairs dans IEEE Transactions on Nanobioscience, collaborant avec des équipes de recherche internationales.

Système de détection d'anomalies cardiaques

Contexte : Projet universitaire de recherche sur la surveillance de la santé par objets connectés IoT. Défi : Traiter des flux ECG haute fréquence pour détecter d'éventuelles anomalies cardiovasculaires. Contribution : Développement d'un pipeline de données IoT utilisant Spring Boot, MongoDB et des règles WSO2 CEP. Résultat : Construction réussie d'un prototype de recherche capable d'analyser les anomalies en temps réel.

JavaSpring BootWSO2 CEPMongoDBJHipsterIoT

Android Business Automation Suite (ASM)

Contexte : Compagnon ERP et systèmes automatiques de file d'attente pour points de vente. Défi : Réduire l'encombrement des files d'attente et les retards de synchronisation des caisses aux heures d'affluence. Contribution : Implémentation de bases de données SQLite locales et intégration de commandes d'impression Bluetooth ESC/POS. Résultat : Optimisation de la gestion des files d'attente et du processus d'impression des tickets aux caisses physiques.

Android (Java)SQLiteLaravelBluetooth

Application Transports Publics (MyBus)

Contexte : Application de navigation et de planification pour les transports publics. Défi : Fournir des horaires en temps réel basés sur des flux GPS imprécis sans saturer les connexions mobiles des usagers. Contribution : Conception d'un pipeline de mise en cache GraphQL et intégration de Mapbox GL JS pour le rendu cartographique. Résultat : Mise à disposition de cartes de transport et d'horaires avec des estimations d'horaires fiables pour les usagers.

IonicAngularMapbox GLGraphQLApollo ClientDocker
Master of Science, Enterprise Systems EngineeringHigher Institute of Informatics and Multimedia of SfaxSept 2014 – Fév 2017

Thèse : Traitement d'événements complexes pour la détection précoce des anomalies cardiaques (publiée par l'IEEE en 2017). Spécialisation dans les architectures logicielles d'entreprise à grande échelle.

Licence en InformatiqueHigher Institute of Informatics and Multimedia of SfaxSept 2011 – Juin 2014

Solides bases en algorithmes, structures de données et principes de développement logiciel.

CEP4HFP: Complex Event Processing for Heart Failure Prediction

Afef Mdhaffar, Ismael Bouassida Rodriguez, Khalil Charfi, Leila Abid, and Bernd Freisleben

IEEE Transactions on Nanobioscience, Vol. 16, No. 8 | December 2017

Voir la publication

Contact

Si vous souhaitez discuter d'un poste, collaborer sur un projet ou simplement parler d'ingénierie logicielle, je serais ravi de vous entendre.