matvdg / tupreferes Goto Github PK
View Code? Open in Web Editor NEWSwift Project
Swift Project
Requis :
L'écran d'affichage d'une question doit permettre à un utilisateur de soumettre un vote, en sélectionnant l'un des deux choix proposés.
Si l'utilisateur fait son choix, le retour du vote (statistiques), c'est à dire la question mise à jour, devrait être persisté dans le cache local, ainsi qu'au niveau de l'API.
Requis : #6
Lorsque l'utilisateur a fait son choix, un compte à rebours de quelques secondes (3 secondes ?) doit être affiché au dessus des boutons de confirmation/désistement.
Lorsque le compte à rebours arrive à 0, le choix est automatiquement confirmé #sadique
L'affichage de la question est actuellement dans son état le plus simple, le but du jeu est d'ajouter un peu de paillettes, dans la limite de ce qu'on est en mesure de réaliser.
Après avoir soumis le vote, les éléments d'interface présentant les choix de la question devraient disparaître pour laisser la place à l'affichage des statistiques de la question.
Les statistiques devraient être présentées sous la forme d'un diagramme en camembert, avec la possibilité d'appliquer un filtre sur le genre.
CoreData ou Realm pourraient être utilisés pour conserver copie locale de l'ensemble des questions stockées côté API.
L'idée serait de lancer une synchronisation des données en tâche de fond, toute les n minutes, et de transformer la méthode QuestionsManager.getNextQuestion
de façon à que celle-ci communique uniquement avec le cache local.
L'utilisateur devrait pouvoir soumettre des votes, même en mode offline.
Si l'utilisateur soumet un vote hors ligne, le cache local doit être mis à jour instantanément, et la synchronisation avec l'API doit être faite en différé.
A la sélection d'un choix, un boite de dialogue contenant le texte "Tu es sûr(e) ?" devrait être présenté à l'utilisateur, lui permettre de confirmer ou non.
Si l'utilisateur a soumis un vote pour chacune des questions disponible, un écran devrait lui être présenté le lui signifiant, et l'invitant à revenir sur l'application plus tard.
Sur l'écran de présentation d'une question, l'utilisateur doit, à n'importe quel moment, pouvoir passer à la question suivante.
L'ergonomie est à décider : geste, boutons "Question suivante", ...
Il serait intéressant de mettre en place une transition au passage d'une question à une autre.
Actuellement, QuestionsManager.getNextQuestion
fournit en retour la première question disponible dans la liste. Le but est de mettre à disposition une nouvelle question pour laquelle l'utilisateur n'a pas encore fourni de vote.
Si l'utilisateur a déjà fourni un vote pour cette question, celle-ci ne devrait pas lui être proposée à nouveau.
Lorsque l'utilisateur lance l'application pour la première fois, un écran de bienvenue devrait lui être présenté.
Sur cet écran, l'utilisateur doit pouvoir choisir son genre, masculin ou féminin. Le genre est utilisé pour enrichir les statistiques des questions.
Pour utiliser l'application, l'utilisateur doit être authentifié par le biais de son compte Google.
Plus d'informations : https://developers.google.com/identity/sign-in/ios/start-integrating#before_you_begin
Détails à discuter ...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.