L'application Recipeasy sera développée de façon itérative au fil de notre apprentissage de React Native.
jhoffman@cshawi.ca
Les prototypes d'écrans représentent une maquette, donc vous pouvez utiliser des couleurs différentes ou une librairie de composants différente sans changer la mise en forme significativement
Pour cette première itération, implémentez seulement le contenu statique des écrans suivants:



Librairies suggérées
npx expo install react-native-radio-buttons-groupimport { View } from 'react-native';
import RadioGroup from 'react-native-radio-buttons-group';
export default function App() {
    const options = [
        {
            id: '1',
            label: 'One',
            value: '1'
        },
        {
            id: '2',
            label: 'Two',
            value: '2'
        }
    ];
    return (
        <View>
            <RadioGroup radioButtons={ options } />
        </View>
   );
}npx expo install @react-native-picker/pickerimport { View } from 'react-native';
import { Picker } from '@react-native-picker/picker';
export default function App() {
    return (
        <View>
            <Picker>
                <Picker.Item label="One" value="1" />
                <Picker.Item label="Two" value="2" />
            </Picker>
        </View>
   );
}Nom:
| GitHub, Branche remise-ui | 1 0 | 
| Appréciation générale | |
| UI | 0 -0.5 -1 | 
| Code | 0 -0.5 -1 | 
| Écrans | |
| Connexion | 2 1.5 1 0 | 
| Inscription | 2 1.5 1 0 | 
| Formulaire de recette | 3 2.5 2 1 0 | 
À partir des écrans créés précédemment, ajouter la navigation en respectant le storyboard
Pour nous permettre de continuer le développement, nous créons un écran provisoire pour afficher la liste des recettes. À court-terme, cet écran est responsable de stocker la liste des recettes et d'offrir des interactions de base.
JSON.stringify(...)
Permet d'ajouter une nouvelle recette ou de consulter en édition une recette existante reçue en paramètre de navigation.
{
    category: Number,
    name: String,
    durationHours: Number,
    durationMinutes: Number,
    description: String
}Librairie suggérée
Nom:
| Branche remise-ux, commits | 1 0.5 0 | 
| Appréciation générale | |
| UI | 0 -0.5 -1 | 
| UX | 0 -0.5 -1 | 
| Code | 0 -0.5 -1 | 
| Navigation | |
| Login, Signup | 1 0.5 0 | 
| Log out, back caché | 1 0.5 0 | 
| Liste, Ajout/Édition | 2 1.5 1 0 | 
| Comportement | |
| Liste brute, trié par nom ascendant, se mets à jour | 2 1.5 1 0 | 
| Ajout, validations | 2 1.5 1 0 | 
| Édition, recette aléatoire, données cohérentes | 2 1.5 1 0 | 
| Boutons Save, Delete | 2 1.5 1 0 | 
Ajouter l'affichage des recettes en utilisant un mécanisme de liste optimal en considérant les aspects suivants:
XhYY
Penser également à créer manuellement des recettes de départ, seeds, pour tester votre affichage.



Nom:
| Branche remise-list, commits | 1 0.5 0 | 
| Appréciation générale | |
| UI | 0 -0.5 -1 | 
| UX | 0 -0.5 -1 | 
| Code | 0 -0.5 -1 | 
| Liste | |
| Mécanisme optimal | 1 0 | 
| Seeds | 1 0.5 0 | 
| Liste vide | 1 0.5 0 | 
| Item: icône, durée formatée, nom, description | 2 1.5 1 0 | 
| Séparateur | 1 0.5 0 | 
| Item clic, rétroaction, navigue vers le détail correspondant | 2 1.5 1 0 | 
| Mise à jour | 1 0.5 0 | 
Implémenter les fonctionnalités d'authentification et CRUDL des recettes via l'API HTTP Martha à partir des fichiers fournis.
Nom:
| Branche remise-http, commits | 1 0.5 0 | 
| Appréciation générale | |
| UI | 0 -0.5 -1 | 
| UX | 0 -0.5 -1 | 
| Code | 0 -0.5 -1 | 
| HTTP | |
| Authentification via Martha | 0 -1 | 
| C R U D L des recettes via Martha | 4 3.5 3 2 1 0 | 
| Gestion des erreurs | 1 0.5 0 | 
| Séparation judicieuse des responsabilités components, services, models | 3 2.5 2 1 0 | 
Pour favoriser l'intégration des rétroactions lors des remises itératives, vous avez l'opportunité de récupérer 50% des points perdus lors du laboratoire en implémentant les correctifs associés aux commentaires reçus.
Complétez les changements au plus tard vendredi 31 octobre 11h59 AM, votre répertoire sera récupéré et vous devrez me les démontrer individuellement pour valider votre ajustement de note.