G25 - Travail Pratique 2 - Application CRUD

Pondération : 50% de votre note finale

Date de présentation: Rendez-vous sur Bookings (semaine 16)

Contexte : En équipe de 3

Types d'applications suggérées

Vous devez réaliser en équipe une application Android (Kotlin) de type CRUD (Create-Read-Update-Delete). Vous devez choisir parmi les types d'applications suivants. Il est aussi possible de choisir un sujet différent avec mon approbation.

Énoncé des exigences techniques

Les exigences techniques suivantes doivent être respectées.

Architecture MVVM

L'application doit respecter le patron architectural MVVM tel que vu en classe et tel qu'utilisé dans le TP1.

Tests unitaires

Des tests unitaires doivent être implémentés pour la logique métier (modèles).

I18n

L'application doit fonctionner en anglais et en français.

Affichage d'une liste avec RecyclerView

Vous devez faire l'affichage d'une liste d'éléments avec RecyclerView.

Utilisation de plusieurs activités (vues)

Votre application doit afficher au minimum 3 activités Android distinctes. Vous devez passer des données entre les activités.

SharedPreferences

Votre application doit stocker les préférences utilisateurs à l'aide SharedPreferences.

Base de données locale SQLite

L'application doit sauvegarder les données utilisateurs dans une base de données SQLite. Vous devez utiliser les meilleures pratiques vues en classe. L'application doit effectuer toutes les opérations CRUD en base de données. L'application doit contenir au minimum 3 tables.

Méthode de travail

Le code du projet doit être conservé dans un dépôt Gitlab sur les serveurs du Cégep. Un des membres de l'équipe crée le dépôt (privé) et invite les autres membres avec le rôle de Propriétaire.

Vous devez assigner des tâches et responsabilités à chaque membre de l'équipe. Chaque fonctionnalité de l'application doit faire l'objet d'un ticket Gitlab écrit en Markdown. Chaque fonctionnalité doit être implémentée dans une branche distincte créée à l'aide d'une requête de fusion. Les messages des commits doivent être pertinents.

Présentation du travail

Lors de la présentation, chaque membre de l'équipe dispose d'environ 10 minutes pour présenter sa partie du travail. Vous devez faire la démonstration des fonctionnalités implémentées et m'expliquer le fonctionnement du code. Je vous poserai des questions sur votre code et vous devez être en mesure de donner des explications claires et précises.

Grille de correction

La correction se fait selon les critères suivants.

Contexte Critère Pondération
Équipe Respect des consignes et des échéanciers /10
Équipe Respect des exigences techniques /20
Équipe Fonctionnement adéquat de l'application (respect des specs présentées) /20
Équipe Qualité de l'interface graphique et de l'expérience utilisateur /10
Individu Utilisation appropriée de Git et Gitlab (Tickets, Requêtes de fusion, Commits significatifs, etc.) /10
Individu Qualité du code et capacité à expliquer le travail effectué individuellement /30
/100