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 | |
| Correctifs |
0 -0.25 -0.5 -0.75 -1 |
| 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-liste, commits |
1 0.5 0 |
| Appréciation générale | |
| Correctifs |
0 -0.25 -0.5 -0.75 -1 |
| 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 | |
| Correctifs |
0 -0.25 -0.5 -0.75 -1 |
| 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 |