Table des matières
aucun titre
Dans ce mini-projet vous allez créer un client Android permettant à un utilisateur de consulter ses comptes bancaires ainsi que d'effectuer des transactions.
Votre tache consiste à developper les fonctionnalités suivantes:
- Authentification de l'utilisateur :L'application étant sécurisée, tout client doit se connecter en amont à toutes autres actions sur l'application. La premiére interface de l'application doit inviter le client à s'inscrire pour créer un compte ou à s'authenfifier. L'authentification peut se faire de deux manières :
- Nom d'utilisateur + Mot de passe : Le client remplit un formulaire d'authentification puis en appuyant sur un bouton l'application communiquera avec l'application Web via le service web que vous avez dévloppé. Si les paramètres d'authentification sont correctes, le client accède aux différentes fonctionnalités de l'application, sinon un message d'erreur lui sera affiché.
- Par NFC : Le client dispose d'une carte NFC contenant son numéro de compte. Dans ce cas l'application doit proposer au client de choisir un mode d'authentification (NFC ou utilisateur/mot de passe). Dans le cas d'une authentification par NFC, le client approche son téléphone de la carte NFC qui lira automatiquement son identifiant et effectuer une requete au serveur pour l'authentifier. Il vous faudra gérer plusieurs cas :
- Idenfiant non valide
- Carte NFC vierge ou illisible
L'option d'inscription doit permettre à un utilisateur de s'inscrire dans l'application. L'application présentera alors un formulaire d'inscription selon le modèle de données du serveur (normalement vous l'avez déjà ce formulaire). A la fin de l'inscription, le serveur attrribuera un identifiant à l'utilisateur, vous devriez écrire cette clef sur une carte NFC afin que l'utilisateur puisse s'authenfier par NFC la prochaine fois.
- Menu de l'application : Après l'authentification, afficher un menu à l'utilisateur lui présentant l'ensemble des actions qu'il lui est possible d'effectuer dans l'application.
- Voir la liste de ses comptes
- Voir/Editer son profile
- Ecrire son identifiant sur une carte NFC
- Deconnexion
- Préférences
- A propos de l'application
- etc...
- Gestion de ses comptes bancaires : Quand un utilisateur se connecte, il doit avoir accsès à l'ensemble de ces comptes bancaires ainsi que les différentes opérations effectuées sur chaque compte (les comptes peuvent etre affichés en utilisant une listview ou une gridview); en cliquant sur un compte l'utilisateur peut accéder aux détails du compte.
- Ajoutez une option dans l'interface de la liste de compte permettant à un utilisateur de créer un nouveau compte
- Sur le détail d'un compte
- Afficher la liste des opérations
- Offrir la possibilité d'effectuer un virement (le compte débiteur sera le compte actuel)
- Permettre de fermer le compte actuel
- Notifications : A la fin d'une transaction, envoyer un message de notification aux propriétaires du ou des comptes concernés par l'opération. Optionnellement, vous pouvez envoyer un mail ou un SMS.
- Internationalisation : Permettre d'utiliser l'application dans plusieurs langues sera un PLUS
- Deconnexion : Permettre à un utilisateur de se déconnecter de l'application quand il a terminé. Attention, tant qu'un utilisateur ne s'est pas deconnecté (volontairement) de l'application sa session doit rester active. C'est à dire, s'il ferme l'application et revenir dessus il ne doit pas se reconnecter; en revanche s'il se deconnecte il doit se reconnecter à nouveau.
Rendu :
- Formez des groupes de quatre
- Utilisez un serveur de versionning (github ou bitbucket) et envoyez moi le lien et donnez moi accès au dépot
- Ajoutez un readme expliquant comment fonctionne le projet
- La date limite est fixée au Jeudi 15 Octobre 2015 (avant minuit, heure de Port-au-Prince)
- Un dossier de conception sera un plus