L’objectif est simple : évaluer vos compétences en architecture frontend, en gestion de données hors-ligne, et en développement frontend autour d'un projet de galerie d'images.
👉 Ce test est conçu pour être réalisé en une demi-journée maximum.
👉 Une fois terminé, merci de le remettre dans un dépôt GitHub privé et de nous y inviter.
Pour gagner du temps, un starter kit vous est fourni avec :
- Expo Router pour la navigation
- Tailwind et twrnc pour le style
- React Hook Form pour les formulaires
- Reanimated pour les finitions
- MirageJS pour la Fake API
- React Query pour les appels API
- Expo Secure Store et Async Storage pour le stockage local
- Zod pour les validations
- Zustand pour la gestion de state
- Flash List pour la gestion de listes
- Action Sheet pour les actions contextuelles
👉 Vous êtes libre d’utiliser les librairies de votre choix, tant que l’architecture et les fonctionnalités demandées sont respectées.
Le Starter kit inclut également 3 endpoints GET, POST et DELETE permettant de lister, créer et supprimer des photos. Ils sont d'ores et déjà implémentés et utilisables avec le hook React Query associé. Il vous faudra ajouter vous-même un endpoint de synchronisation des données à la fin du test.
L'objectif de ce test est de produire rapidement une petite application permettant à l'utilisateur de se créer une galerie de photo tout en communiquant avec une Fake API.
Sur cette application, l'utilisateur pourra donc lister, consulter, ajouter et supprimer des photos de sa galerie.
L'ajout de photo se fait via un formulaire simple, un titre et une photo provenant de l'appareil photo ou la galerie d'image.
L'application devra pouvoir être utilisable hors ligne et garder en cache les photos de l'utilisateur. L'ajout et la suppression doivent également être disponibles hors ligne et se synchroniser au moment où le réseau est de nouveau disponible.
L'application doit être utilisable en format portait et paysage
PS : il n'est pas attendu d'implémenter un système d'authentification
- Repo GitHub privé contenant :
- FEEDBACK.md (explications de l'architecture, des choix techniques, avis sur le test et commentaires).
- Les modifications effectuées sur le code.
- Commits progressifs.
- Invitez-nous en tant que collaborateurs sur le dépôt privé.
- Finitions (35)
- Gestion du offline (25)
- Qualité du code (15)
- Mise en place de la Fake API (15)
- Tests (5)
- Doc (5)
-
Cloner le repo :
git clone https://github.com/YieldStudio/technical-test-react-native.git cd technical-test-react-native
-
Lancer le projet :
yarn install yarn start
-
Commencer à implémenter les fonctionnalités demandées.
-
Créer un dépôt privé sur GitHub depuis votre compte.
-
Changer l’origine Git pour pointer vers votre dépôt privé :
git remote remove origin git remote add origin [email protected]:<votre-compte>/<votre-repo-prive>.git
-
Pousser votre travail :
git push -u origin main
-
Invitez-nous en tant que collaborateurs sur ce dépôt privé (vous recevrez nos identifiants GitHub par email).