Skip to content

Application android permettant de stocker et de visualiser ses voyages et d'obtenir des statistiques générales.

Notifications You must be signed in to change notification settings

VectoorSK/My_Travels

Repository files navigation

My Travels

Présentation de l'application

logo

"My Travels" est une application permettant de sauvegarder ses voyages et de les visualiser de différente façon (en détail/sur une carte). Des statistiques sur l'ensemble des voyages sont également disponibles.

Détail de l'application

Écran d'accueil & Navigation

L'écran d'accueil s'affiche pendant une seconde au démarrage de l'application. Les différents onglets (Voyages / Carte / Statistiques) sont accessibles via la barre de navigation en bas de l'écran.

loading

Onglet "Voyages"

Tous les voyages chargés depuis l'API sont affichés sous forme de liste qu'il est possible de trier selon plusieurs critères (date/pays/continent). Les détails d'un voyage sont accessibles en cliquant dessus.

1 Main


Le détail d'un voyage permet d'accéder aux informations suivantes :

  • la date du séjour
  • la durée
  • le nombre d'étapes et la distance parcourue
  • la liste des étapes (les détails sont également accessibles en cliquant dessus.)

Le boutton de géolocalisation (en bas à gauche) permet d'afficher le circuit du voyage sur une carte (google maps).

2 Travel


Le détail d'une étape permet d'accéder aux informations suivantes :

  • le nom et photo de la ville
  • la description
  • une liste de photos

Les photos peuvent s'afficher en plein écran avec leur description en cliquant dessus. Le boutton de géolocalisation permet d'afficher la position de l'étape sur une carte (google maps).

3 Step


Onglet "Carte"

2 affichages sont disponibles sur la carte :

  • mode "Circuit" : tous les voyages et étapes sont affichés sur une carte (google maps). Ils sont cliquables afin d'accéder au détail de ceux-ci.
  • mode "Pays" : tous les pays ayant été visités sont surlignés avec une couleur correspondante au continent.

La dernière capture montre le set complet de bordure permettant le surlignage du mode "Pays" (non-accessible).

4 Map


Onglet "Statistiques"

Regroupe un ensemble de données correspondant aux différents voyages :

Statistiques générales

Données visibles :

  • Total du nombre de pays visités + Pays le plus visité (en terme de nombre)
  • Total du nombre de kilomètres parcouru + Pays avec la plus grande distance de parcours
  • Point le plus éloigné atteint + Pays et ville de ce point
  • Total de jours passés à voyager + Pays le plus visité (en terme de jours)

Pays visités

Affiche sur un plan du monde le nombre de pays visités par continent.

Répartition des voyages

Diagramme circulaire représentant le nombre de voyages par continent.

5 Stats

Détail technique

Architecture

Le code java est reparti en 4 dossiers :

  • activity : contient 2 activités (écran d'accueil et principal) et les fragments qui sont insérés dans l'activité principale. Les fragments sont répartis en 3 sous-dossiers correspondant aux onglets de la navigation (travel / map / stats)

  • adapter : contient les adapters correspondant aux 3 recycler view (Travel / Step / Img)

  • model : contient les classes des différents objets :

    • Border : objet récupéré dans 'border.json' qui contient une liste de Coord.
    • Coord : contient latitude et longitude.
    • Country : objet récupéré dans 'country.json'.
    • Img : contient un lien image et une description.
    • Step : contient les infos d'une étape et une liste d'Img.
    • Travel : contient les infos d'un voyage et une liste de Step.
  • network : contient GetDataService et RetrofitClientInstance qui permettent de faire les appels de l'API.

architecture

My Travels utilise/contient :

  • API raw GitHub : Contient 3 fichiers JSON :

    • Border.json : contient les dataset des frontières de chaques pays (afin de les afficher sur Maps)
    • Countries.json : contient la liste de tous les pays / îles du monde (utilisé pour les statistiques)
    • Travels.json : contient tous les voyages et leur détails
  • Retrofit : Permet de faire des appels GET sur l'API de MyTravels.

  • Recycler View & Adapter : Permet d'afficher des listes d'éléments customs de façon dynamique.

  • Activités & Fragments : 2 activités : écran d'accueil + principal / fragments : insérés dans l'écran principal.

  • Google Map SDK Service : Utilisation de l'API de Google afin d'afficher les cartes et leur contenu (https://developers.google.com/maps/documentation/android-sdk/intro).

  • HelloChart : Utilisation de la librairie "HelloChart" permettant d'afficher le diagramme circulaire (/~https://github.com/lecho/hellocharts-android).

My Travels est ma première application mobile. Je n'avais jamais utilisé Android Studio auparavant mais je possédais des notions en Java.

About

Application android permettant de stocker et de visualiser ses voyages et d'obtenir des statistiques générales.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages