TimeHammer

août 13, 2020·
Diego Castro
Diego Castro
· 2 min. de lecture
projects

Il s’agit d’un projet personnel sur lequel j’ai travaillé durant la première moitié de l’année 2020. Son objectif est de rappeler aux employés de pointer et de simplifier le processus de pointage au sein d’une entreprise.

Le système, appelé TimeHammerBot, est un chatbot Telegram dans lequel les employés d’une companie s’enregistrent en indiquant leur localisation et leurs horaires habituels. Une fois configuré, le bot envoie des rappels au bon moment et fournit des boutons intégrés permettant d’effectuer le pointage directement depuis le message, sans avoir à ouvrir une autre application.

L’architecture est basée sur un modèle orienté événements (Event-Driven Architecture). Le projet est divisé en plusieurs modules indépendants, chacun avec une responsabilité claire, qui communiquent entre eux via l’envoi de messages représentant les différents événements du système.

Le développement a été réalisé avec Quarkus, une pile Java permettant la compilation en code natif. Quarkus supporte la programmation impérative ainsi que la programmation réactive ; pour ce projet, une approche totalement réactive a été retenue.

L’échange de messages a été géré avec Kafka, dont l’intégration avec Quarkus est particulièrement simple.

En production, le système s’exécute dans des conteneurs Docker, avec une image par module. Le déploiement se fait actuellement via docker-compose, bien que la prochaine étape prévue soit une migration vers un environnement orchestré avec Kubernetes.

1
Powered by Hugo Blox Builder - https://github.com/HugoBlox/kit

Le projet a été abandonné après avoir été présenté à l’entreprise dans laquelle je travaillais à l’époque. Bien qu’il ait été proposé comme remplacement du système de pointage en place, l’entreprise a finalement décidé de ne pas l’adopter.

Diego Castro
Auteurs
Ingénieur en Informatique

Je suis ingénieur en informatique avec plus de 15 ans d’expérience, au cours desquels j’ai travaillé dans des environnements très variés et occupé différents rôles tout au long du cycle de vie du développement. Cette expérience m’a permis d’acquérir une vision globale du secteur et de m’adapter facilement à divers contextes techniques et organisationnels.

J’ai travaillé pour de grandes sociétés de conseil multinationales, participant à des projets de nature diverse et collaborant avec des équipes réparties dans plusieurs pays. J’ai également vécu l’expérience de travailler dans une start-up à ses débuts, ce qui m’a donné l’opportunité de contribuer à la création d’un produit depuis zéro et de découvrir de près les défis du monde entrepreneurial.

Je suis passionné par la programmation et je maintiens une attitude d’apprentissage continu. Pour moi, l’essentiel n’est pas de maîtriser un langage ou un framework particulier, mais la capacité à apprendre, évoluer et comprendre les problèmes en profondeur afin de proposer des solutions solides. Dans ce parcours d’apprentissage, j’ai exploré des domaines tels que la Data Science et le Big Data, en suivant un master qui illustre mon intérêt pour l’élargissement de mes horizons et la compréhension de nouvelles perspectives technologiques.