Skip to content

soni2261/Runex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

120 Commits
 
 
 
 
 
 

Repository files navigation

Runex

L'application Runex a été conçue et fabriquée dans le contexte du projet d'intégration de fin de programme Sciences, informatiques et mathématiques (SIM) au cégep Bois-de-Boulogne.

Titre

Runex

Description du projet

Le projet est une application sportive qui permet de faire un suivi d'entraînement détaillé d’une personne lambda comme celle d’un athlète. Pour se démarquer des applications existantes telles que Runkeeper et Strava, nous allons intégrer certaines fonctionnalités de Waze dans notre application Runex, telles que le pouvoir d’interaction entre les utilisateurs afin qu’ils puissent améliorer et fournir du contenu à l’application.  Runex intégrera des outils tels que la carte de routes de Google, et permettra aux utilisateurs de personnaliser leur itinéraire.

L’équipe

Les membres de l’équipe de notre projet sont Ali Taladar, Serguei Markov, Sonia Rahal et Sarah Al Taleb.

L’idée

Notre projet est une application qui permet de faire un suivi de son entraînement sportif. Les utilisateurs pourront suivre leur progrès pendant et après les randonnées, selon des statistiques enregistrés sur leur profil. Les options de sport offertes aux utilisateurs sont de la randonnée pédestre, de la course et du vélo.

Deux options sont offertes : soit faire un entraînement seul ou en groupe. Un espace communauté servira à ceux qui désirent créer des événements, afin de rencontrer d’autres utilisateurs pendant leur sport. L’application offrira des endroits pratiques aux utilisateurs tels que des fontaines d’eau, des places pour réparer les vélos, des vues magnifiques, et toute autre place pour laquelle l’utilisateur (ou les utilisateurs) a/ont un intérêt.

L’utilité

Runex est utile pour faire un suivi de son entrainement, se donner des objectifs de sport et pour avoir un itinéraire tracé vers une destination.

L’innovation

Ce qui démarque Runex des autres applications est notamment la création d’événements qui permet de regrouper les utilisateurs. De plus, la visibilité des autres utilisateurs à proximité est utile afin de motiver les utilisateurs et d’encourager la création de contacts. Finalement, les intérêts des utilisateurs sont une priorité, et c’est pourquoi l’ajout de vues magnifiques, de coins de réparation de vélos, de fontaines d’eau, etc… sur la carte de route est une option importante et innovatrice.

Cas d’utilisation (scénario, acteurs)

Scénario #1

Un cycliste désire faire 1h de sport et de faire une analyse. Selon les données que l’application a collectées, un chemin sera prédéterminé afin qu’il puisse faire du sport. Une fois qu’il décide de commencer le sport, sa vitesse (son nombre de km/h) sera enregistrée, ainsi que la durée de son entraînement et l’élévation. À la fin de sa séance, il pourra voir le nombre de kilomètres parcourus, la durée du sport et la vitesse moyenne du sport.

Scénario #2

Un athlète décide de courir avec son chien pendant une trentaine de minutes. Il utilisera le GPS de l’application pour savoir quel chemin prendre pour se rendre au parc. Une fois rendu au parc, il arrêtera l’application, puis il sera indiqué la distance qu’il a parcouru avec son chien.

Scénario #3

Une personne active doit aller au travail à la marche, et elle décide d’utiliser l’application pour avoir l’itinéraire de chez-elle jusqu’au travail. Une fois arrivée, cette personne pourra savoir la vitesse moyenne à laquelle elle a marchée, ainsi que la distance et l’élévation.

Acteur

Il y a un unique acteur du cas d’utilisation. Il est responsable de commencer et terminer un entraînement.

Public cible

Runex s’adresse aux personnes qui désirent enregistrer leurs rapports d'entraînement et suivre leur progrès.

Technologies

En ce qui concerne les technologies à utiliser, nous prévoyons recourir aux ressources telles que Git, Visual Studio Code, Dart, Flutter, Firebase, l’API de Google Maps et l’émulateur Android avec Android Studio. En effet, ces outils nous ont permis de développer une application à la hauteur de nos objectifs. Git a servi à travailler en équipe pour planifier et organiser notre code. Visual Studio Code était la plateforme où nous avons programmé et testé notre application, alors que Dart est la langue de programmation que nous avions eu à apprendre. Flutter est notre logiciel d’interface de l’utilisateur pour une utilisation instinctive. Nous avons utilisé une base de données pour certaines statistiques que nous avons entreposées sur Firebase. Dans notre application, qui vise en premier lieu à tracer un itinéraire pour les utilisateurs lors de leur sport, nous avions eu besoin d’implémenter la carte des routes, que nous accédons par l’API de Google Maps. Finalement, afin de simuler des itinéraires sur l’application durant la création de Runex, nous avons eu recours à un émulateur de téléphone cellulaire sur Android Studio.

Ces nombreux outils, bien qu'utiles, présentait certains défis et difficultés. En effet, puisqu'aucun des membres de l’équipe avait déjà travaillé avec ces outils, nous devions entre autres apprendre comment fonctionnent les bases de données, comment intégrer Google Maps dans l’application et repérer les localisations des utilisateurs et de certaines places.

Problèmes à régler

La gestion des différents cas et scénarios n'a pas été complétée. Il y a certaines exceptions à corriger.

Perspectives

Avec le peu de temps et de connaissances sur les technologies utilisées, il était difficile de respecter les échéances et nos attentes. Si nous avions eu le double du temps alloué pour ce projet, nous aurions pu débuter la section communauté qui est l’innovation principale de Runex.

On voudrait ajouter une barre de progression pour les objectifs. Aussi, nous voudrions ajouter dans le futur la section communauté. Cela permettrait d’interagir avec les autres utilisateurs de l’application et de visualiser ceux qui sont à proximité pour des entrainements en groupe si possible.

On voudrait aussi faire une reconnaissance lorsqu’un défi est complété sous forme de badge ou de trophées qui s’ajoutent au profil et qui serait visible par les autres membres de l’application. Ces badges offrent une certaine notoriété, en donnant droit à la création d’évènements et à la participation d’évènements de plus haut niveau.

En effet, nous voulions faire initialement des évènements asynchrones, qui donneraient la possibilité aux membres de pouvoir faire des évènements, que ça soit une course contre la montre ou de longue distance indépendante dans un espace de temps.

On voudrait aussi implémenter un classement des meilleurs sportifs du mois serait disponible dans l’onglet; pour se classer il serait nécessaire de compléter ses propres objectifs, les défis donnés par Runex ou encore avec la participation aux évènements synchrones et asynchrones.

Pour ce qui est de la carte, il y aurait implémentation d’animations pour faire le suivi de l’utilisateur et l’ajout de marqueurs des places importantes, telles que des abreuvoirs, stations de réparation, de vues imprenables, d’ateliers de vélo, etc. Il serait aussi possible de voir la performance d’un segment dans la ville grâce à un classement municipal mensuel. Plusieurs petits ajouts de contenus sur la carte optimiseraient les itinéraires et dépanneraient les utilisateurs en cas de pépin. En effet, la gestion des différents scénarios possibles n’a pas été faite. Le projet fonctionne, mais pourrait rencontrer certaines erreurs particulières lors de l’utilisation.

Une optimisation globale de l’application pour faciliter la navigation dans les différentes sections et le chargement de la carte en préchargeant d’un cache. La section historique donnerait un aperçu sur l’itinéraire parcourues.

Bibliographie, installation et configuration

Pour installer Flutter et configurer l’environnement de travail:

https://www.youtube.com/watch?v=5izFFbdHnWY&t=381s

Pour apprendre Flutter:

https://www.youtube.com/playlist?list=PL4cUxeGkcC9jLYyp2Aoh6hcWuxFDX6PBJ

https://www.youtube.com/playlist?list=PLzMcBGfZo4-knQWGK2IC49Q_5AnQrFpzv

Pour l’implémentation de l’itinéraire:

https://www.youtube.com/watch?v=IAIDZxwnEdI&t=1922s

Pour l’implémentation de la complétion automatique d’endroits :

https://www.youtube.com/watch?v=_KZKvVYyA4o

https://medium.com/comerge/location-search-autocomplete-in-flutter-84f155d44721

Pour l’implémentation de la base de données Firebase:

https://www.youtube.com/playlist?list=PL4cUxeGkcC9j--TKIdkb3ISfRbJeJYQwC

About

projet runex

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages