Exercice de développement React Native

Votre tâche consiste à créer une application React Native qui affiche une liste de livres et permet aux utilisateurs de les ajouter à leur liste de favoris.

Exigences fonctionnelles

  1. Afficher une liste de livres à partir d’une source de données (par exemple, un fichier JSON ou une API).
  2. Permettre aux utilisateurs de marquer des livres comme favoris en appuyant sur un bouton.
  3. Afficher une liste de livres favoris distincte pour chaque utilisateur, même après la fermeture et la réouverture de l’application.

Exigences techniques

  1. Utiliser React Native pour développer l’application.
  2. Utiliser un système de gestion de l’état (state management) tel que Redux pour gérer les données de l’application.
  3. Utiliser React Navigation pour gérer la navigation entre les différentes pages ou écrans de l’application.
  4. Utiliser Axios ou un autre client HTTP pour récupérer les données de la source de données.
  5. Utiliser Async Storage ou une autre solution de stockage local pour stocker les listes de livres favoris pour chaque utilisateur.
  6. Mettre en œuvre des tests unitaires pour garantir que les fonctionnalités de l’application fonctionnent correctement.

Bonus

  1. Ajouter des fonctionnalités supplémentaires, telles que la recherche de livres ou la suppression de livres de la liste des favoris.
  2. Ajouter une interface utilisateur (UI) personnalisée pour améliorer l’expérience utilisateur (UX).
  3. Utiliser TypeScript pour développer l’application.

Livrables

  1. Le code source de l’application, hébergé sur GitHub ou un autre service de contrôle de version.
  2. Des instructions pour installer et exécuter l’application.
  3. Des instructions pour exécuter les tests unitaires de l’application.