Around You est une application mobile spécifique pour Android développée avec Android studio pour Adrien PEDRAZZI qui est le client à l'origine de ce projet. Cette application permet aux utilisateurs de profiter de réductions dans les commerces locaux de la ville d’Agen.
Les objectifs de ce projet sont premièrement, de créer une application mobile facile d’utilisation pour permettre à un maximum de personnes de l’utiliser, et ensuite de permettre la reprise de ce projet par une entreprise tier, notamment en mettant en place une architecture adaptée.
Le projet a eu lieu suite à la demande du client dans le but d’augmenter la visibilité des commerces locaux de la ville d'Agen. Sur ce projet, j’ai pu travailler au sein d'une équipe de cinq étudiants, accompagnée d’un suiveur désigné par l’école pour nous aider dans les démarches de communication avec le client. Le client souhaitait une application mobile afin de toucher le maximum de personnes et surtout une application simple d’utilisation.
Les principaux enjeux de ce projet étaient d’offrir une interface simple et ergonomique aux utilisateurs, de maintenir une documentation pour permettre à d’autres personnes d’assurer un suivi de la maintenance et de rajouter des fonctionnalités sur l’application, de fidéliser les utilisateurs grâce à un système de niveau mis en place au sein de l’application et enfin, de mettre en place un système de vérification afin d’éviter les fraudes pour obtenir des réductions non valables.
Le premier risque lié à ce projet est de se retrouver avec une interface de plus en plus complexe avec l'ajout constant de fonctionnalités. Le deuxième risque est de chercher à intégrer trop de fonctionnalités au fur et à mesure des demandes du client sans prendre en compte la capacité limitée de production de fonctionnalités.
Concernant la réalisation du projet, dans un premier temps nous travaillions en utilisant la méthode agile. Nous avions donc des réunions tous les jours pour les différents sujets au sein de l'équipe et ainsi adapté notre plan de travail si un de nous avait du mal à réaliser sa tâche. Pour réaliser ce projet, nous avions mis en place une liste de fonctionnalités à développer et dans ce cadre j’ai participé grandement à la gestion des fonctionnalités et à la priorisation de celles-ci.
A la suite de cela le développement de l’application a pu commencer. J’ai, dans un premier temps, mis en place la maquette de la base de données afin que nous puissions nous y retrouver pour développer différentes fonctionnalités. Dans cette maquette j'ai défini les différentes tables nécessaires ainsi que les liaisons entre les tables en me servant de propriétés définies en coordination avec l'équipe. Ci-dessous une image représentant notre base de données.
J’ai ensuite développé un système de niveau au sein de l’application permettant de différencier les utilisateurs de l’application et ainsi de donner des récompenses différentes. Pour cela j'ai défini des paliers pour chaque utilisateur et également mis en place le système de points qui allait servir au développement de ce système. Ensuite j'ai réfléchi avec l'équipe à différents types de récompense pouvant être accordée et nous nous sommes mis d'accord sur des réductions dans des restaurants partenaires de l'application. Par la suite de cela j'ai mis en place le système de réduction dans l'application. Ci-dessous une méthode permettant la gestion des différents niveaux de succès.
Egalement, j’ai eu l’occasion d’aider mes camarades dans la réalisation de leurs tâches comme pour le développement du classement au sein des utilisateurs en aidant à définir comment mettre en place l'architecture pour développer cette fonctionnalité et en discutant des récompenses à accorder aux utilisateurs en haut du classement. J’ai aussi reçu leur aide pour le développement de mes fonctionnalités comme sur les différents niveaux au sein de l'application pour la mise en place de l'interface utilisateur.
Pour les acteurs de ce projet comme précisé précédemment nous étions une équipe de cinq personnes encadrée par un suiveur de l’école pour les communications avec notre client. Nous avions des réunions entre membres de l’équipe concernant le développement de l’application mais également plusieurs réunions avec notre client pour définir les objectifs, ainsi que recevoir des retours concernant le développement de l’application.
Concernant les résultats de ce projet, premièrement personnellement, suite à ce projet j'ai validé mon cinquième semestre au sein de l'ESIEA. C'était aussi mon premier projet pour développer une application et je suis content de sa réussite. Du point de vue du client, il a reçu le code source de l'application lui permettant d'héberger son application et de l'utiliser. Il a reçu une application avec plus de fonctionnalités que dans le cahier des charges initial.
Comme dit précédemment, nous avons rendu notre projet à la fin du semestre 5. Le client ayant émis l'idée de continuer le développement de son côté pour ajouter des fonctionnalités supplémentaires par rapport à ce que nous avons développé, on peut imaginer que l'application est toujours en cours de développement par d'autres développeurs.
Je pense avoir apporté au projet, que ce soit dans le développement de fonctionnalités comme les niveaux des utilisateurs ou bien la base de données. J'ai eu une valeur ajoutée lors du développement de notre base de données fort de mes expériences passées. Concernant les enseignements que je tire de ce projet, dans un premier temps sur la façon de travailler en groupe, nous avons vraiment bien utilisé la méthode agile pour gérer notre projet. Maintenant d'un point de vue plus technique, j'ai découvert une technologie intéressante et vaste. Néanmoins, ce n'est pas la technologie avec laquelle j'ai le plus d'affinité. Ce projet m'a permis de me rendre compte de l'étendue des technologies et des différents projets qui peuvent être réalisés tout en restant utiles pour les utilisateurs.