Merge branch 'master' into WORK-LPA
continuous-integration/drone/push Build is passing Details

WORK-RRE
Louison PARANT 1 year ago
commit 18232207bd

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 357 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 385 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 282 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 376 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

@ -1,5 +1,5 @@
import React, {useContext} from 'react'; import React, {useContext, useState} from 'react';
import {StyleSheet, Pressable, Text, View, Image, ScrollView} from 'react-native'; import {StyleSheet, Pressable, Text, View, Image, ScrollView, ImageSourcePropType} from 'react-native';
import brochette from '../assets/images/brochette.png'; import brochette from '../assets/images/brochette.png';
import Union_left from '../assets/images/Union_left.png'; import Union_left from '../assets/images/Union_left.png';
import Union_right from '../assets/images/Union_right.png'; import Union_right from '../assets/images/Union_right.png';
@ -22,6 +22,8 @@ import riceFish from '../assets/images/rice_fish.png';
import riceEgg from '../assets/images/riceEgg.png'; import riceEgg from '../assets/images/riceEgg.png';
import pasta from '../assets/images/pasta.png'; import pasta from '../assets/images/pasta.png';
import ColorContext from '../theme/ColorContext'; import ColorContext from '../theme/ColorContext';
import fruit from '../assets/images/fruit.png';
import fruitCake from '../assets/images/fruitcake.png';
import Recipes from '../Models/Recipes'; import Recipes from '../Models/Recipes';
@ -44,13 +46,25 @@ function convertToHoursMinutes(totalMinutes: number): string {
export default function RecipeElement(props: RecipeElementProps) { export default function RecipeElement(props: RecipeElementProps) {
const {colors} = useContext(ColorContext) const {colors} = useContext(ColorContext)
const meatDictionary: string[] = ["beef", "chicken", "turkey", "steak", "rabbit", "duck"] const meatDictionary: string[] = ["beef", "chicken", "turkey", "steak", "rabbit", "duck", "horse"]
const porkDictionary: string[] = ["pork", "lardon", "bacon", "ham"] const porkDictionary: string[] = ["pork", "lardon", "bacon", "ham", "pig"]
const fishDictionary: string[] = ["tuna", "whiting", "mullet", "sardine", "mackerel", "salmon", "monkfish", "conger", "bass", "cod", "hake"] const fishDictionary: string[] = ["tuna", "whiting", "mullet", "sardine", "mackerel", "salmon", "monkfish", "conger", "bass", "cod", "hake"]
const vegetablesDictionary: string[] = ["vegan", "vegetarian", "lentil", "artichoke", "aubergine", "beet", "chard", "broccoli", "carrot", "celery", "cabbage", "cauliflower", "zucchini", "spinach", "fennel", "curly", "bean", "lettuce", "apple", "corn", "onion", "parsnips", "leek", "pepper", "potato", "pumpkin", "radish", "scarole", "tomato"] const vegetablesDictionary: string[] = ["vegan", "vegetarian", "lentil", "artichoke", "aubergine", "beet", "chard", "broccoli", "carrot", "celery", "cabbage", "cauliflower", "zucchini", "spinach", "fennel", "curly", "bean", "lettuce", "apple", "corn", "onion", "parsnips", "leek", "pepper", "potato", "pumpkin", "radish", "scarole", "tomato"]
const riceDictionary: string[] = ["ric", "quinoa"] const fruitDictionnary: string[] = [
"fruit",
"berries",
"apple",
"banana",
"orange",
"grapes",
"strawberry",
"pineapple",
"watermelon",
"kiwi"
];
const riceDictionary: string[] = ["rice", "quinoa"]
const eggDictionary: string[] = ["egg", "omelette"]; const eggDictionary: string[] = ["egg", "omelette"];
const soupDictionary: string[] = ["soup"]; const soupDictionary: string[] = ["soup", "ragout"];
const pizzaDictionary: string[] = ["pizza"]; const pizzaDictionary: string[] = ["pizza"];
const dessertDictionary: string[] = ['cake', 'cupcake', 'muffin', 'cookie', 'brownie', 'pie', 'tart', 'macaron', 'doughnut', 'eclair', 'pancake', 'waffle', 'crepe', 'pudding', 'gelato', 'sorbet', 'ice cream', 'cheesecake', 'sugar']; const dessertDictionary: string[] = ['cake', 'cupcake', 'muffin', 'cookie', 'brownie', 'pie', 'tart', 'macaron', 'doughnut', 'eclair', 'pancake', 'waffle', 'crepe', 'pudding', 'gelato', 'sorbet', 'ice cream', 'cheesecake', 'sugar'];
const pastaDictionary: string[] = [ const pastaDictionary: string[] = [
@ -83,6 +97,7 @@ export default function RecipeElement(props: RecipeElementProps) {
soup : soupDictionary, soup : soupDictionary,
dessert : dessertDictionary, dessert : dessertDictionary,
pasta : pastaDictionary, pasta : pastaDictionary,
fruit : fruitDictionnary,
unknown: [], unknown: [],
}; };
@ -99,6 +114,7 @@ export default function RecipeElement(props: RecipeElementProps) {
soupMeat: ['soup', 'meat'], soupMeat: ['soup', 'meat'],
soupVeggie: ['soup', 'vegetables'], soupVeggie: ['soup', 'vegetables'],
soupFish: ['soup', 'fish'], soupFish: ['soup', 'fish'],
fruitDessert: ['fruit', 'dessert']
}; };
if(categories.length == 1){ if(categories.length == 1){
@ -168,6 +184,10 @@ export default function RecipeElement(props: RecipeElementProps) {
return soupMeat; return soupMeat;
case 'soupFish': case 'soupFish':
return soupFish; return soupFish;
case 'fruitDessert':
return fruitCake;
case 'fruit':
return fruit;
default: default:
return inconnu; return inconnu;
} }
@ -255,7 +275,7 @@ export default function RecipeElement(props: RecipeElementProps) {
<Text style={styles.text}>Description</Text> <Text style={styles.text}>Description</Text>
<Image source={Union_right} style={{width: "27%", marginLeft: "3%", resizeMode: "contain"}}/> <Image source={Union_right} style={{width: "27%", marginLeft: "3%", resizeMode: "contain"}}/>
</View> </View>
<ScrollView style={{marginTop: "3%", overflow: "hidden", maxHeight: 70}}> <ScrollView style={{marginTop: "3%", overflow: "hidden"}}>
<Text style={styles.smallText}>{props.recipe.description}</Text> <Text style={styles.smallText}>{props.recipe.description}</Text>
</ScrollView> </ScrollView>
</View> </View>
@ -263,5 +283,7 @@ export default function RecipeElement(props: RecipeElementProps) {
<Text style={styles.duration}>{convertToHoursMinutes(props.recipe.time_to_cook)}</Text> <Text style={styles.duration}>{convertToHoursMinutes(props.recipe.time_to_cook)}</Text>
</View> </View>
</Pressable> </Pressable>
); );
} }

@ -26,6 +26,8 @@ import riceFish from '../assets/images/rice_fish.png';
import riceEgg from '../assets/images/riceEgg.png'; import riceEgg from '../assets/images/riceEgg.png';
import brochette from '../assets/images/brochette.png'; import brochette from '../assets/images/brochette.png';
import pasta from '../assets/images/pasta.png'; import pasta from '../assets/images/pasta.png';
import fruit from '../assets/images/fruit.png';
import fruitCake from '../assets/images/fruitcake.png';
@ -41,13 +43,25 @@ export default function RecipeDetails({ route }) {
const { recipeId } = route.params; const { recipeId } = route.params;
const meatDictionary: string[] = ["beef", "chicken", "turkey", "steak", "rabbit", "duck"] const meatDictionary: string[] = ["beef", "chicken", "turkey", "steak", "rabbit", "duck", "horse"]
const porkDictionary: string[] = ["pork", "lardon", "bacon", "ham"] const porkDictionary: string[] = ["pork", "lardon", "bacon", "ham", "pig"]
const fishDictionary: string[] = ["tuna", "whiting", "mullet", "sardine", "mackerel", "salmon", "monkfish", "conger", "bass", "cod", "hake"] const fishDictionary: string[] = ["tuna", "whiting", "mullet", "sardine", "mackerel", "salmon", "monkfish", "conger", "bass", "cod", "hake"]
const vegetablesDictionary: string[] = ["vegan", "vegetarian", "lentil", "artichoke", "aubergine", "beet", "chard", "broccoli", "carrot", "celery", "cabbage", "cauliflower", "zucchini", "spinach", "fennel", "curly", "bean", "lettuce", "apple", "corn", "onion", "parsnips", "leek", "pepper", "potato", "pumpkin", "radish", "scarole", "tomato"] const vegetablesDictionary: string[] = ["vegan", "vegetarian", "lentil", "artichoke", "aubergine", "beet", "chard", "broccoli", "carrot", "celery", "cabbage", "cauliflower", "zucchini", "spinach", "fennel", "curly", "bean", "lettuce", "apple", "corn", "onion", "parsnips", "leek", "pepper", "potato", "pumpkin", "radish", "scarole", "tomato"]
const riceDictionary: string[] = ["ric", "quinoa"] const fruitDictionnary: string[] = [
"fruit",
"berries",
"apple",
"banana",
"orange",
"grapes",
"strawberry",
"pineapple",
"watermelon",
"kiwi"
];
const riceDictionary: string[] = ["rice", "quinoa"]
const eggDictionary: string[] = ["egg", "omelette"]; const eggDictionary: string[] = ["egg", "omelette"];
const soupDictionary: string[] = ["soup"]; const soupDictionary: string[] = ["soup", "ragout"];
const pizzaDictionary: string[] = ["pizza"]; const pizzaDictionary: string[] = ["pizza"];
const dessertDictionary: string[] = ['cake', 'cupcake', 'muffin', 'cookie', 'brownie', 'pie', 'tart', 'macaron', 'doughnut', 'eclair', 'pancake', 'waffle', 'crepe', 'pudding', 'gelato', 'sorbet', 'ice cream', 'cheesecake', 'sugar']; const dessertDictionary: string[] = ['cake', 'cupcake', 'muffin', 'cookie', 'brownie', 'pie', 'tart', 'macaron', 'doughnut', 'eclair', 'pancake', 'waffle', 'crepe', 'pudding', 'gelato', 'sorbet', 'ice cream', 'cheesecake', 'sugar'];
const pastaDictionary: string[] = [ const pastaDictionary: string[] = [
@ -80,6 +94,7 @@ export default function RecipeDetails({ route }) {
soup : soupDictionary, soup : soupDictionary,
dessert : dessertDictionary, dessert : dessertDictionary,
pasta : pastaDictionary, pasta : pastaDictionary,
fruit : fruitDictionnary,
unknown: [], unknown: [],
}; };
@ -96,6 +111,7 @@ export default function RecipeDetails({ route }) {
soupMeat: ['soup', 'meat'], soupMeat: ['soup', 'meat'],
soupVeggie: ['soup', 'vegetables'], soupVeggie: ['soup', 'vegetables'],
soupFish: ['soup', 'fish'], soupFish: ['soup', 'fish'],
fruitDessert: ['fruit', 'dessert']
}; };
if(categories.length == 1){ if(categories.length == 1){
@ -165,6 +181,10 @@ export default function RecipeDetails({ route }) {
return soupMeat; return soupMeat;
case 'soupFish': case 'soupFish':
return soupFish; return soupFish;
case 'fruitDessert':
return fruitCake;
case 'fruit':
return fruit;
default: default:
return inconnu; return inconnu;
} }

@ -1,36 +1,60 @@
<div align = center> <div align = center>
![Image de l'application](Images/LeftOvers_Logo.jpg) <img src="Images/LeftOvers_Logo.jpg" alt="Application image" height="300" />
</div> </div>
**Nom de lapplication** : LeftOvers :pizza: **Name of the application** : LeftOvers :pizza:
</br> </br>
**Thème de lapplication** : Trouver des recettes faisables avec les ingredients à disposition. **Thème de lapplication** : Suggest recipes with available ingredients.
</br> </br>
**Récapitulation de notre application** : 👇 **What is the application doing?** : 👇
</br> </br>
:information_source: Une application mobile (Ios/Android), dans lequel les utilisateurs pourront choisir des aliments et l'application leur fournira une liste de recette adaptée. :information_source: A mobile application (IOS/Android) that enables users to choose ingredients in order to cook. The app will return a list of adapted recipes.
# Répartition du Repository Git # Git Repository Repartition
La racine de notre repo est composée de deux dossiers essentiels au projet: The Git root is made of two majors repositories for the project:
[**LeftOvers**](LeftOvers) : **Toute la partie codage de l'application mobile** [**LeftOvers**](LeftOvers) : **The code part of the application**
[**Images**](Images) : **Images de l'application** [**Images**](Images) : **Application's Images**
👉 [**Solution de l'application**](LeftOvers/App.tsx) 👉 [**Application's solution**](LeftOvers/App.tsx)
# Fonctionnement # How it works?
# Environnement de Travail # Application's Visual Chart
Support de l'application : ## Light Theme
<div align = center>
<img src="Images/Screens/White/home.jpg" alt="Home" height="300" />
<img src="Images/Screens/White/profil.jpg" alt="Profiles" height="300" />
<img src="Images/Screens/White/modifyProfil.jpg" alt="CreateProfile" height="300" /><br/>
<img src="Images/Screens/White/ingredientSelection.jpg" alt="IngredientSelection" height="300" />
<img src="Images/Screens/White/recipeSuggestion.jpg" alt="RecipeSuggestion" height="300" />
<img src="Images/Screens/White/recipeDetail.jpg" alt="RecipeDetails" height="300" />
</div>
## Dark Theme
<div align = center>
<img src="Images/Screens/Black/home.jpg" alt="Home" height="300" />
<img src="Images/Screens/Black/profil.jpg" alt="Profiles" height="300" />
<img src="Images/Screens/Black/createProfil.jpg" alt="CreateProfile" height="300" /><br/>
<img src="Images/Screens/Black/ingredientSelection.jpg" alt="IngredientSelection" height="300" />
<img src="Images/Screens/Black/recipeSuggestion.jpg" alt="RecipeSuggestion" height="300" />
<img src="Images/Screens/Black/recipeDetail.jpg" alt="RecipeDetails" height="300" />
</div>
# Working Environment
Application's Support :
<div align = center> <div align = center>
@ -42,7 +66,7 @@ Support de l'application :
</div> </div>
Technologies utilisées : Technologies Used :
<div align = center> <div align = center>
@ -66,7 +90,7 @@ IDE :
</div> </div>
Moyen de communication : How do we communicate? :
<div align = center> <div align = center>
@ -92,16 +116,16 @@ Design :
# Technicien en charge de l'application # Application Developers and Admins
La composition pour le projet se voit réaliser par trois élèves de l'IUT d'Aubière: The team of the project is composed by three students from the Aubière's IUT in Computer Science:
<br> <br>
⚙️ Louison PARANT ⚙️ Louison PARANT
<br> <br>
⚙️ Rayhan HASSOU ⚙️ Rayhân HASSOU
<br> <br>
⚙️ Remi REGNAULT ⚙️ Remi REGNAULT
<div align = center> <div align = center>
© FI Groupe 2 © FI Group 2
</div> </div>
Loading…
Cancel
Save