Sprint 6 : 13/05 - 26/05
Durée du sprint :
48h
User Stories concernées :
- Fin d'un pari
- Consulter l'historique de ses paris
- Écrans de liste d'amis et ranking (Android)
- Ajouter des amis (avec pseudo)
- Consulter sa liste d'amis et le ranking
Démo :
Refaire la démo du Sprint 4 + S'ajouter mutuellement en amis sur les deux clients, puis se voir apparaître dans notre liste d'amis / ranking
Arthur
-
Correction de l'usage de Ktorm (4h): J'ai remarqué que, dans l'API, nous n'utilisions pas l'ORM Ktorm correctement. En effet nous n'utilisions pas les entités convenablements ce qui résultait en la manipulations de maps pour manipuler les données. ex :
row["id"]
pour récuppérer l'id, au lieu derow.id
. Avec la documentation de l'Entity API de Ktorm, j'ai corrigé cela dans l'ensemble de l'application afin d'avoir une meilleure base de code, une meilleur expérience pour les développeurs et améliorer la production de code pour la suite du développement. -
Calcul de la côte et des gains (2h): J'ai implémenté le calcul des gains dans l'API. Pour faciliter le calcul, l'API calcule et stocke somme des mises par pari, dans une table BetInfo. Ainsi que la somme des mises et la côte de chaques réponses possible, dans une table BetAnswerInfo. Ces tables sont faites pour les données issue de la dénormalisation de la base de données, afin d'améliorer les performances. En prenant en compte le fait que beaucoup d'utilisateurs pourrait participer à un pari, et que cette information est fréquemment demandée, il était préferable de la conserver. Ces données sont recalculées à chaque participation à un pari.
-
Implémentation graphique de la vue “Liste d'amis” (1h): J’ai fais la coquille vide de la page de liste des amis, dans le client natif Android. La page est liée au bouton “amis” dans la barre de navigation.
Emre
-
Ajout du protocole Codable côté iOS (2h): J'ai découvert une façon de désérialiser et de sérialiser une classe au format JSON en Swift, via le protocole Codable. J'ai donc réduit le code de mes mappers et utilisé cette méthode.
-
Ajout de Starlark pour la BDD (2h): Étant donné qu'à chaque push dans le dépôt de l'API, cela réinitialise la BDD, j'ai donc mis en place un .drone.star, afin qu'on puisse mieux contrôler le flux de la CI/CD. Actuellement, lorsqu'un push est fait sur le README.md ou que le message du commit contient [no_ci], la build sur Drone n'est pas exécutée. Il est maintenant nécessaire de mettre dans le message du commit [db] pour que la base de données soit écrasée et redéployée.
-
Localisation côté iOS (3h): J'ai récemment découvert comment réaliser la localisation multilingue dans toute l'application en SwiftUI de façon simple et rapide. J'ai donc voulu remplacer tous les textes en dur dans le code par des clés afin de pouvoir ajouter rapidement une nouvelle langue. Actuellement, l'application supporte seulement le français et l'anglais (par défaut). J'ai pu simplifier ce processus en reprenant les ressources côté Android et en utilisant un convertisseur en ligne pour les implémenter rapidement dans SwiftUI.
-
Page de profil côté iOS (2h): J'ai réalisé la page de profil côté iOS en me basant sur la maquette. Actuellement, la page n'est pas liée aux données et ne sert que de coquille.
-
Travail sur le filtrage côté iOS (2h): Avec Lucas, nous avons ajouté le filtrage des bets dans le front de l'application.
Lucas D
-
Configuration de l'API en local avec une bd postgresql (1h): Pour pouvoir aider le dev back de l'api j'ai configuré ma machine pour accueillir l'api et l'utiliser en local avec une bd postgresql
-
Travail sur l'API, notamment sur la recherche filtrée des bets (2h): J'ai travaillé sur l'ajout du filtrage des bets dans le back afin de pouvoir répondre à la fonctionnalité de recherche filtrée dans la page des bets.
-
Travail sur le front de l'application iOS (2h): J'ai travaillé sur l'ajout du filtrage des bets dans le front de l'application mais j'ai rencontré des problèmes que je vais régler avec Emre sur le prochain sprint.
Lucas E
-
Stockage et gestion des UUID en format String (1h): Modification du stockage en base de données et sur l'API pour facilité les cast et pour retirer les "ToString()" répétitif.
-
Route et gestion liées aux amis (3h): Ajout et stockage des liens d'amitiés en base de données et en mock.
-
Ajoute d'une route pour le bet de plus populaire (3h): Ajout d'une route permettant d'avoir le bet le plus populaire d'après la formule suivant (nombre de participants * nombre de participants + total des jetons en jeu). Le bet le plus populaire sera mis en avant sur l'application.