Portfolio ☰ Menu

LicenceTrack – Application Android de gestion de licences avec base de données Firestore

Résumé

LicenceTrack est une application mobile Android conçue pour gérer une collection de licences logicielles dans un contexte professionnel ou scolaire. Elle permet d’ajouter une licence, de consulter une liste claire et triée, puis de modifier les informations au besoin. Chaque licence regroupe les données essentielles à la gestion quotidienne : titre, date (échéance), fournisseur, description et URL.

Les données sont stockées dans une base infonuagique Firebase Firestore, ce qui facilite la centralisation et la mise à jour. L’interface met l’accent sur la lisibilité : les licences sont présentées avec les champs clés et triées par date afin d’aider à repérer rapidement celles qui arrivent à échéance.

Détails techniques

L’application est développée en Java avec Android Studio et s’appuie sur une approche MVC/DAO pour structurer le code et isoler la logique d’accès aux données. La couche de persistance utilise Firebase Firestore comme base de données document orientée : les licences sont stockées en documents (collection licences) et l’application réalise les opérations CRUD (création, lecture, mise à jour) via des requêtes Firestore. La liste principale applique un tri serveur avec orderBy("date"), ce qui exploite l’indexation pour améliorer la performance de lecture lorsque le volume de données augmente.

Ce projet illustre plusieurs principes de conception vus en cours. D’un point de vue écriture vs lecture, le système privilégie une lecture fluide (liste triée, affichage des champs essentiels) au prix d’une discipline sur le format de données (dates normalisées) et d’un traitement asynchrone côté client. Du point de vue robustesse vs vitesse, la centralisation dans le cloud améliore la disponibilité et réduit le risque de perte locale, mais introduit une dépendance au réseau. Pour renforcer l’intégrité et limiter les effets de concurrence (transactions déclenchées plusieurs fois), l’interface désactive temporairement le bouton de modification pendant l’enregistrement, ce qui évite les soumissions multiples et stabilise l’expérience utilisateur.

Android Java Firebase Firestore DAO Cloud

Code