GitScrum / Docs
GitScrum Studio disponible sur Google Play pour AndroidTélécharger sur Google Play

Comment ça fonctionne

GitScrum Studio pour Android est une application native construite avec React Native et Expo. Elle se connecte à la même API GitScrum utilisée par l'application web et l'extension VS Code, garantissant que toutes les plateformes restent parfaitement synchronisées.


Architecture de navigation

L'application utilise une disposition à onglets avec un tiroir pour les actions secondaires.

Onglets inférieurs

Deux onglets sont toujours visibles en bas de l'écran :

OngletCe qu'il affiche
AccueilListe des projets de l'espace de travail actuel
Suivi du tempsInformations du minuteur actif, résumé du jour et tâches à venir

Des écrans supplémentaires (Tâches, Détail du projet) sont accessibles en appuyant sur les éléments des listes — ils se superposent sur la pile de navigation depuis les onglets.

Glissez depuis le bord gauche ou appuyez sur l'icône de menu pour ouvrir le tiroir. Il contient :

Actions rapides :

  • Créer un espace de travail
  • Créer un projet
  • Créer une tâche

Outils :

  • Notifications
  • NoteVault

Préférences :

  • Sélecteur de thème
  • Sélecteur de langue
  • Sélecteur de fuseau horaire
  • Profil
  • Sélecteur d'espace de travail

Flux de données

Authentification

Lorsque vous vous connectez (via e-mail, GitHub, Google ou Facebook), l'application stocke votre jeton d'authentification de manière sécurisée avec AsyncStorage. Le jeton persiste entre les sessions — vous restez connecté jusqu'à ce que vous vous déconnectiez explicitement.

Connexion API

Chaque écran récupère les données depuis l'API GitScrum. Les projets, tâches, entrées de temps, notes et notifications proviennent tous des mêmes points de terminaison utilisés par l'application web. Les changements effectués sur mobile sont immédiatement visibles sur les autres plateformes.

Synchronisation en temps réel

L'application maintient une connexion WebSocket via Laravel Reverb (protocole Pusher). Cela permet des mises à jour en direct sans actualisation manuelle :

  • Événements d'espace de travail : La création et la suppression de projets apparaissent instantanément sur l'écran d'accueil
  • Événements de tâche : Les mouvements, mises à jour, créations et suppressions de tâches se synchronisent entre toutes les sessions ouvertes
  • Événements de minuteur : Les démarrages, arrêts et entrées de temps sont diffusés à tous les clients connectés
  • Notifications : Les nouvelles notifications arrivent en temps réel

Tirer pour actualiser

Chaque écran de liste prend en charge le tirer-pour-actualiser pour un rechargement manuel des données. Tirez vers le bas depuis le haut de n'importe quelle liste pour forcer une nouvelle récupération.

Défilement infini

Les longues listes (projets, tâches, notes, notifications) utilisent la pagination avec défilement infini. Au fur et à mesure que vous faites défiler vers le bas, les pages supplémentaires se chargent automatiquement.


Architecture des écrans

L'application suit une séparation propre :

  • Fichiers de route dans app/ définissent la structure de navigation
  • Composants d'écran dans src/components/screens/ contiennent la logique d'interface
  • Modales dans src/components/modals/ gèrent les superpositions (arrêt du minuteur, sélecteur de flux de travail, sélecteur de membre)
  • Services dans src/services/ gèrent toute la communication API
  • Hooks fournissent l'état partagé (authentification, thème, traductions, données d'espace de travail)

Système de thèmes

L'application comprend 54 thèmes organisés en 23 groupes. Chaque thème définit 28 jetons de couleur couvrant les arrière-plans, surfaces, textes, accents et couleurs sémantiques (succès, avertissement, erreur).

Le système de thèmes prend en charge les thèmes sombres et clairs. Un badge sur chaque thème dans le sélecteur indique s'il s'agit d'une variante sombre ou claire.

Les thèmes s'appliquent globalement et instantanément — changer de thème met à jour chaque écran immédiatement sans redémarrage.


Système de langues

L'application prend en charge quatre langues : English, Português, Español et Français. La détection de la langue est automatique au premier lancement (basée sur la langue de votre appareil) avec l'anglais comme langue par défaut.

Vous pouvez changer la langue à tout moment depuis le tiroir. La préférence est enregistrée localement et synchronisée avec votre compte GitScrum.


Actualisation automatique

Les panneaux s'actualisent automatiquement via la connexion WebSocket. Lorsque l'application reçoit un événement en temps réel, l'écran concerné se met à jour sans aucune action de l'utilisateur. Pour une actualisation manuelle, utilisez le tirer-pour-actualiser sur n'importe quelle liste.


Astuces (une fois à l'aise)

  • Accès rapide aux projets : L'onglet Accueil affiche les projets de votre espace de travail actuel. Changez d'espace de travail depuis le tiroir pour accéder instantanément à différents ensembles de projets.
  • Conscience du minuteur : L'onglet Suivi du temps affiche toujours votre minuteur actif. Utilisez-le comme vérification rapide pour voir sur quoi vous travaillez.
  • Raccourcis du tiroir : Le raccourci Créer une tâche du tiroir vous permet de capturer des tâches rapidement sans naviguer vers un projet spécifique au préalable.

Permissions

L'application respecte les permissions de votre compte GitScrum :

  • Propriétaires d'agence et Managers : Accès complet à toutes les fonctionnalités, paramètres de projet et données d'équipe
  • Développeurs : Peuvent gérer les tâches, enregistrer le temps et utiliser les outils de collaboration
  • Clients : Accès en lecture seule (si l'accès au projet est accordé)

Si une fonctionnalité semble désactivée ou si un écran affiche des données limitées, vérifiez votre rôle dans le projet depuis l'application web GitScrum.


Comment signaler un problème ou demander une fonctionnalité

Si l'application se comporte de manière inattendue ou si vous avez des suggestions d'amélioration, soumettez vos retours via GitScrum Studio.

Dans la barre latérale de l'application web, cliquez sur Tickets de support et ouvrez un ticket décrivant votre expérience.