Food Recipe App 6
Food Recipe App 6
A Project work submitted to the jesu arts and science college alangudi in partial
fulfilment of requirements the award of the degree of
Guided by
M.PANDIDURAI
MCA., M.Phil., B.Ed.,
CERTIFICATE
2.
Mr. M.Pandidurai MCA.,M.Phil.,B.Ed.,
Assistant Professor, Department of Computer Science
JESU ARTS AND SCIENCE COLLEGE
ALANGUDI - 622301.
CERTIFICATE
DATE :
PLACE :
ACKNOWLEDGEMENT
At the outset we wish to convey our sincere thanks to the staff members of Computer
Science Department and all our friends who guided in our endeavour.
1. M.RISHI
2. S.DINESH KUMAR
3. K.MANIKANDAN
4. V.ARULANANDHU
5. K.SRIVALLI
S.N
TITLE PAGE.NO
O
ABSTRACT
1 INTRODUCTION 1
2 SOFTWARE REQUIREMENTS SPECIFICATION
2.1
2.2
2.3
3 SYSTEM CONFIGURATION
2.1 Problem statement
2.2 Objectives
2.3 Motivation
4 SYSTEM ANALYSIS 6
4.1 Existing system
4.3 Summary
5 SYSTEM DESIGN 7
5.1 System architecture
6 IMPLEMENTATION 17
8 38
RESULTSCREENSHOTS
9 45
CONCLUSION
ABSTRACT
The use of mobile devices has increased significantly in the past decade. All these
devices use applications that are created for them. These applications can provide many
different services including, social media, music streaming, video streaming, ride
sharing, online shopping, and video games.
Some of these apps need to be constantly connected to the internet to function properly,
while others can work offline.
This paper presents a food recipe cross-platform application that helps users find and
view different food recipes based on different categories, as well as allowing them to
search recipes of their comfort using smart search-filters and categories. The users can
filter the list of recipes based on the ingredients used in the recipe, the prep time, cook
time, and diet.
The app aspires to run efficiently, while having an elegant user experience with essential
functionality that of an online application and yet remaining completely offline.
1. INTRODUCTION
Nowadays, it is safe to admit that the world has attained the form of global village,
where everything is accessible through technology. The advent of mobile phone has
shaped the life of many people. It is hard to pass a day by without checking and
rechecking your social network accounts. This can merely assert that mobile
applications has already made their ways to our lives.Research shows that regularly
eating home-cooked meals as a family is linked to healthier and happier kids, and
teens who are less likely to use alcohol, drugs, or cigarettes. According to Butler,
“In recent years, the emergence of smart phones has changed the definition of
mobile phones. Phone is no longer just a communication tool, but also an essential
part of the people's communication and daily life. Various applications added
unlimited fun for people's lives. It is certain that the future of the network will be
the mobile terminal.”
1
SOFTWARE REQUIREMENTS SPECIFICATION :
Hardware
The mobile app will be operating on Android and IOS.
Software
The mobile app will be compatible with the mobile and tablet(Android app) last
versions.
Developer Requirements:
Hardware specification
Software Specification
User Requirements:
2
.SYSTEM CONFIGURATION
Whether people love to cook or just love to eat, they have a collection of dishes and
recipes they'd like to try. Maybe they have a bunch handed down from a loved one.
In either case, they certainly need a better method to keep them organized for the
long haul than a bunch of index cards in a file folder, which old and tedious.
Therefore, cooking with your phone is a lot tastier when you have the right recipes.
Adults also reap considerable benefits from eating home-cooked meals. Research
finds that people who eat home-cooked meals on a regular basis tend to be happier
and healthier and consume less sugar and processed foods, which can result in
higher energy levels and better mental health. Eating home-cooked meals five or
more days a week is even associated with a longer life.
1.2 Objectives:
1.3 Motivation:
Recited application is a very useful app for people who love to cook and try out
new recipes. It provides user flexibility to search and save recipes from a database
and deleting recipe that are no longer required. This application is a time saver
providing recipes in few clicks. The interface is clean and simple. It makes use of
Flutter containers capability to display options on home screen with image icons.
The user can search recipes, view added favourite recipe list all from home screen.
3
SOFTWARE REQUIREMENTS SPECIFICATION :
Hardware
The mobile app will be operating on Android and IOS.
Software
The mobile app will be compatible with the mobile and tablet(Android app) last
versions.
Developer Requirements:
Hardware Requirements:
Software Requirements:
User Requirements:
4
Non-Functional Requirements:
• Security:
The data within the application must be protected from tampering.
• Availability:
The application will must available to the user without internet connection at all
times.
• Usability:
It has good UX/UI with elegant design and enough information to allow the user to
fully use the application.
• Performance:
The application must be responsive and should match the refresh-rate of the screen.
Product Requirements:
Usability Requirements:
The application shall be easy to use and intuitive.
The application shall have a user-friendly interface.
GUI shall be simple and clear.
Performance Requirements:
The application shall be fast and robust when loading.
The program shall not allow more than 10 min/year of failure.
Space Requirements:
The application shall have enough memory space in order to store high number of
data.
Reliability Requirements:
The application shall not produce an incorrect output.
Portability Requirements:
The software shall work in all different platforms.
5
4. SYSTEM ANALYSIS
The feasibility study, as its name indicates, aims at assessing the practicality of the
proposed project. As stated in the Initial Specifications Report, the objective of this
project is to develop a “Recited” mobile application to be used to elevate user’s
kitchen skills and streamline grocery shopping, instead of using index cards in a file
folder.
4.3 Summary:
The goal of this step is to ensure that the requirements are consistent, precise and
complete to ensure that we meet the final outcome expectations. There are two
types of requirements: functional and non-functional requirements. The functional
requirements are the ones that describes the functions of the app; whereas, the non-
functional requirements are the ones that present the app constraints and properties.
6
5.SYSTEM DESIGN
7
5.2 Use Case Diagrams:
8
b. Use case diagram for User:
9
5.3 Entity Relationship Diagram:
This flowchart illustrates how “entities” such as Users, objects or concepts relate to
each other within a system. They mirror grammatical structure, with entities as
nouns and relationships as verbs.
10
11
4.5 Android Application Design:
The Android’s user interface is built around Activities which are single focused
thing that a user can do. They are directly related to the functional requirement
defined for the application. Following are the derived, from the user requirements,
activities that should be implemented to fulfil the functional requirements .
12
4.6 Activity Diagram:
13
4.7 Class Diagram:
Class diagrams are the main building block in object-oriented modelling. They are
used to show the different objects in a system, their attributes, their operations and
the relationships among them. In our example, “recipes” are depicted.
14
5.IMPLEMENTATION
System requirements:
flutter_windows_1.22.5-stable.zip
For other release channels, and older builds, see the SDK
releases page.
2. Extract the zip file and place the contained flutter in the desired
installation location for the Flutter SDK (for example, C:\src\
flutter).
15
If you don’t want to install a fixed version of the installation
bundle, you can skip steps 1 and 2. Instead, get the source code
from the Flutter repo on Git Hub, and change branches or tags as
needed. For example:
content_ copy
From the Start search bar, enter ‘env’ and select Edit
environment variables for your account.
Under User variables check if there is an entry called Path:
o If the entry exists, append the full path to flutter\bin using ; as
a separator from existing values.n
o If the entry doesn’t exist, create a new user variable
named Path with the full path to flutter\bin as its value.
You have to close and reopen any existing console windows for these
changes to take effect.
content_copy
$ which flutter dart
/path-to-flutter-sad/bin/flutter
/user/local/bin/dart
As shown above, the two commands don’t come from the same bin directory.
Update your path to use commands
from /path-to-flutter-sad/bin before commands
from /user/local/bin (in this case). After updating your shell for the change
16
to take effect, running which or where command again should show that
the flutter and dart commands now come from the same directory.
Content_copy
$ which flutter dart
/path-to-flutter-sad/bin/flutter
/path-to-flutter-sad/bin/dart
To learn more about the dart command, run dart -h from the command line, or
see the dart tool page.
Run flutter doctor
From a console window that has the Flutter directory in the path
(see above), run the following command to see if there are any
platform dependencies you need to complete the setup:
content_ copy
C:\src\flutter>flutter doctor
This command checks your environment and displays a report of
the status of your Flutter installation. Check the output carefully
for other software you might need to install or further tasks to
perform (shown in bold text).
For example:
Content _ copy
[-] Android tool chain - develop for Android devices
• Android SDK at D:\Android\sdk
✗ Android SDK is missing command line tools; download
from https://goo.gl/XxQghQ
• Try re-installing or updating your Android SDK,
visit https://flutter.dev/setup/#android-setup for
detailed instructions.
The following sections describe how to perform these tasks and
finish the setup process. Once you have installed any missing
dependencies, you can run the flutter doctor command again
to verify that you’ve set everything up correctly.
Note: If flutter doctor returns that either the Flutter plug-in or Dart plug-in
of Android Studio are not installed, move on to Set up an editor to resolve this
issue.
Warning: The flutter tool uses Google Analytics to anonymously report
feature usage statistics and basic crash reports. This data is used to help improve
Flutter tools over time.
Flutter tool analytics are not sent on the very first run. To disable reporting,
type flutter confer --no-analytics. To display the current setting,
17
type flutter confer .If you opt out of analytics, an opt-out event is sent, and
then no further information is sent by the Flutter tool.
By downloading the Flutter SDK, you agree to the Google Terms of Service. Note:
The Google Privacy Policy describes how data is handled in this service.
Moreover, Flutter includes the Dart SDK, which may send usage metrics and crash
reports to Google.
Android setup
Note: Flutter relies on a full installation of Android Studio to supply its Android
platform dependencies. However, you can write your Flutter apps in a number of
editors; a later step discusses that.
Install Android Studio
18
To prepare to run and test your Flutter app on the Android
emulator, follow these steps:
1 .Smart search-filters:
19
Users can search or filter recipes by name-base ingredients and diet. When user
searches for an ingredient, all the related recipes to that ingredient will be shown to
the user and search based on diet is also displayed. For example, some people are
allergic to some ingredients and wish not to include them in their meal So the user
will be able to search the recipe based on diet or other requirement factors.The
search filter will return the appropriate recipes depending on the type of the search .
2. Categorized view:
In our application all recipes are categorized into various cuisine, food types, diets
and varieties. We collected the exclusive authentic recipes of various countries and
their cuisines are categorized on the type of food and the specific diet that the user
is seeking for and varieties.
3. Curated Collections:
We’ve gathered recipes from famous chefs around the world and listed their
signature recipes and collected various information and data about these recipes
from popular website and articles.
4. Pantry Manager:
Every user can manage their own personal pantry with the help of a pantry
manager, which we have included in our application.
5. Meal Planner:
One of the best solutions for busy people to eat better at home is to plan and prep
ahead. Preparing nutritious and delicious meals at home is especially critical these
days when eating out and food shopping are more challenging. For many people, it
can be hard to get started.So, our Meal planner feature enables the user to plan their
meal ahead of time or occasional dishes for special events and set a remainder with
meal planner
20
6. Shopping list:
We have also given a feature where the user can add ingredients into the shopping
list. So that the user can track all the missing ingredients and purchase them all at
once later when he/she visits for a grocery shopping.These shopping list feature
take out all the work for you, whether you want to share a virtual list with your
family and friends, or check out the nutrition facts for whatever you're buying.It can
be used and created by more than just a cell phone, as some apps can integrate with
smartwatches.
My app has a friendly and flexible Graphical User Interface. I have used Picasso as
an image loader. Also, I made sure that every single layout is scrollable. I have used
“Photoshop” as a soft ware to design the buttons, layouts and “Text views”
backgrounds.
21
• View Recipe
The user shall be able to see the recipes in the application. In other words, the user
shall be able to access the Recipe Forum, where all the user’s recipes are posted and
ordered by date of creation. Our application allows user to view recipe list with
images and title. Single recipe can be viewed with images, recipe title, and details
cooking directions.
22
• Search for a Recipe
Any registered user shall able to search for a recipe using the title as a criterion. The
search functionality will provide the users with a shortcut to find their targeted
recipes if posted before by the users.
• View Ingredients
The user of the app shall be able to view ingredients of a certain recipe. This option
will allow him/her to mark those ingredients as needed, and ultimately find them in
the shopping list.
23
• Add Recipe as Favourite
Once the user accesses the recipe information, he/she shall be able to mark a recipe
as favourite. Our application allows user to save recipe as favourite. When user
performs search operation, result is list of recipes. Each recipe in list has favourite
button on it. User can add recipe by clicking on favourite button. Heart in Figure 31
is to add to favourite button.
The choice of technology enablers that will be used for the development of the
application is essential for its success. The technology enablers should provide a
suitable way to fulfil the requirements stated before. Principles of enterprise class
applications should be kept in mind during the choice of these technologies. The
two main ones are that there is no best technology but instead suitable ones and that
we shouldn’t reinvent the wheel which means that we should take advantage on
what was already implemented and offered to the community.
ANDROID STUDIO:
• Android Studio is Android's official IDE. It is purpose built for Android to
accelerate your development and help you build the highest-quality apps for every
Android device. It offers tools custom-tailored for Android developers, including
24
rich code editing, debugging, testing, and profiling tools. I have selected Android
Studio for the following reasons:
• Instant Run: When you click Run or Debug, Android Studio's Instant Run feature
pushes code and resource changes to your running app. It intelligently understands
the changes and often delivers them without restarting your app or rebuilding your
APK, so you can see the effects immediately.
Intelligent Code Editor:The code editor helps you write better code, work faster,
and be more productive by offering advanced code completion, refactoring, and
code analysis.
• Optimized For All Android Devices: Android Studio provides a unified
environment where you can build apps for Android phones, tablets, Android Wear,
Android TV, and Android Auto. Structured code modules allow you to divide your
project into units of functionality that you can independently build, test, and debug .
• AVD emulator that can be used instead of the Android device. In somecases, it's as
good as or better than developing on actual devices.
Notepad++
• Notepad++ is a free source code editor and Notepad replacement that supports
several languages.
25
5.4 SIMPLE CODE
List Mexican = [
{
"serves"; "2",
"prepTime": "5min",
"cookTime": "10min",
"asset"; "assets/countries/blackbeansalad.jpeg",
"name": "Mexican Black Bean Salad",
"items":
"1 cup (200g) fresh corn kernels, or frozen corn kernels\n2 large corn tortillas\n2
tablespo
"process":
"1. Preheat the oven grill to high. Boil the kettle. Place corn in a heatproof bowl and
pour
"serves": "10",
"prepTime": "35min",
"cookTime": "5min",
"asset": "assets/countries/tacos.jpg",
"name":"Crispy Fish Tacos with Mango Salsa",
"items":
1/3 cup (50g) plain flour\n1 teaspoon smoked paprika (pimenton)\n1 teaspoon
ground cumin\na
"process":
26
"1.Combine flour and spices in a bowl and season. Place the egg and breadcrumbs
in separate
"serves": "4",
"prepTime": "10min",
"cookTime": "10min",
"asset": "assets/countries/chillitacos.jpg",
"name": Chilli Chicken Tacos With Green Goddess Mayo",
"items":
"6 (770g) Lilydale Free Range Chicken Thigh, trimmed\n1 cup (250ml) buttermilk\
n2% tsp smoked
"process":
"1.Place chicken, buttermilk and spices in a non-reactive bowl, cover and chill for 4
hours
flutterVersionName = '1.0'
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
compileSdkVersion28
sourceSets{
main.java.srcDirs += 'src/main/kotlin'
}
lintOptions{
disable 'InvalidPackage'
}
defaultConfer{
27
// TODO: Specify your own unique Application ID
(https://developer.android.com/studio/build/application-id.html).
applicationId"com.hollsinthesun.cookbook"
minSdkVersion16
targetSdkVersion28
versionCodeflutterVersionCode.toInteger()
versionNameflutterVersionName
}
buildTypes{
release {
// TODO: Add your own signing confer for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfersigningConfers.debug
}
}
: release {
// TODO: Add your own signing confer for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfersigningConfers.debug
}
}
flutter {
source '../..'
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version";
import 'package:cookbook/main.dart';
void main() {
testWidgets('Counter increments smoke test', (WidgetTester tester) async{
// Build our app and trigger a frame.
await tester.pumpWidget(CookBook());
29
<option name="LIBS_FOLDER_RELATIVE_PATH"
value="/app/src/main/libs" />
<option name="PROGUARD_LOGS_FOLDER_RELATIVE_PATH"
value="/app/src/main/proguard_logs" />
</conferuration>
</facet>
</component>
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolderurl="file://$MODULE_DIR$/app/src/main/java"
isTestSource="false" />
<sourceFolderurl="file://$MODULE_DIR$/app/src/main/kotlin"
isTestSource="false" />
<sourceFolderurl="file://$MODULE_DIR$/gen" isTestSource="false"
generated="true" />
</content>
<orderEntrytype="jdk" jdkName="Android API 25 Platform" jdkType="Android
SDK" />
<orderEntrytype="sourceFolder" forTests="false" />
<orderEntrytype="library" name="Flutter for Android" level="project" />
<orderEntrytype="library" name="KotlinJavaRuntime" level="project" />
</component>
</module>
Code for griddle android app
import 'package:cookbook/Pages/HomePage.dart';
import 'package:flutter/material.dart';
void main() {
runApp(CookBook());
30
}
33
Result for above code in android app
List Indian = [
{
"serves": "6",
"prepTime": "2 hours 45 mins",
"cookTime": "45 mins",
"asset": "assets/countries/indian/dum.jpg",
"name": "Hyderabadi dum biriyani",
"items":
"For Chicken Marination:\n11/2 kg chicken cut into large pieces\n2 tbsp ginger
garlic paste\n2 tbsp red chilli powder\n1 tsp turmeric powder\nsalt as per
taste\n1 bunch coriander leaves\n1 bunch mint leaves\n7 - 8 green chillies\n1
tsp caraway seeds shahi zeera\n3 - 4 cloves loung\n2 cinnamon sticks dalchini\
n3 - 4 cardamoms elaichi\n3 - 4 black pepper corns kali mirch\n2 cups fried
golden brown onions\n2 cups yogurt\n1 tbsp oil\n1 tbsp lemon juice\ntspgaram
masala powder\nFor the Rice:\nWater for boiling\n1 kg basmati rice\n2-3 cloves
loung\n1 cinnamon stick dalchini\n2-3 cardamoms elaichi\n1 tsp caraway seeds
shahi zeera\n2 - 3 black pepper corns kali mirch\n1 tbsp lemon juice\nsalt -
to taste\nFor Dum Seasoning:\n2 tbsp oil\n2 tbsp coriander leaves\n2 tbsp mint
leaves\n2 tbsp fried onions\n1 tbsp lemon juice\n1 cup saffron flavored milk\
n1 tbsp ghee\n1 cup water\nFor Garnishing:\nFried onions",
"process":
"For The Chicken Marination:\nWash the chicken pieces well with lemon juice
and water and strain the chicken completely.\nAdd ginger garlic paste into
it.\nAdd red chilli powder, turmeric powder, salt and mix well.\nIn a blender
add a bunch of coriander leaves, a bunch of mint leaves, green chillies, add a
pinch of salt and make the paste called as green paste or hara masala paste.\
nAdd the green paste to the chicken marinade.\nAdd whole garam masala that is
cardamom, cinnamon, cloves, black pepper corns, caraway seeds.\nMix the whole
mixture well.\nCrush the onions and add into the marinade.\nAdd beaten yogurt
and mix well.\nAdd oil over the marinade and mix well.\nAddgaram masala powder
and lemon juice and mix well.\nCheck the taste of salt and add if required.\
nRest this marinade inside the refrigerator for about 45 mins to 1 hour.\
nProcedure To Cook The Rice:\nFirstly, wash the basmati rice and soak it for
34
about 35 mins.\nTake a cooking pot, add water generously into it.\nInto the
water, add salt as per taste, cinnamon stick, cloves, shahi zeera, black
pepper corns, cardamoms.\nBring the water to a boil.\nWhen the water starts
boiling, add the soaked rice into it.\nCook the rice for about 6 - 7 mins
until it is three fourth done.\nStrain the rice completely and rest the
strained rice aside.\nProcedure To Give The Dum:\nIn a cooking pot, to the
base add oil and spill it all over the base.\nAdd the chicken marinade into it
and spread it evenly.\nAdd the rice which has been cooked into it.\nSpread the
rice evenly all over the marinade.\nSeason the rice with coriander leaves,
mint leaves, fried onions.\nAdd lemon juice all over the rice.\nAdd saffron
flavored milk(2 saffron strands added into the 1/4th cup of milk to get orange
red color).\nAdd ghee into it.\nAdd little water all over the rice(optional).\
nMake a chapathi dough and seal the lid and the cooking pot tightly with the
dough.\nSwitch on the flame, put the cooking pot onto the flame.\nDum the
biryani on sim flame for about 45 mins."
},
{
"serves": "4",
"prepTime": "10 mins",
"cookTime": "25 mins",
"asset": "assets/countries/indian/Chicken_makhani.jpg",
"name": "Chicken Makhani (Indian Butter Chicken)",
"items":
"1 tablespoon peanut oil\n1 shallot, finely chopped\n¼ white onion, chopped\n2
tablespoons butter\n2 teaspoons lemon juice\n1 tablespoon ginger garlic paste\
n1 teaspoon garam masala\n1 teaspoon chili powder\n1 teaspoon ground cumin\n1
bay leaf\n¼ cup plain yogurt\n1 cup half-and-half\n1 cup tomato puree\n¼
teaspoon cayenne pepper, or to taste\n1 pinch salt\n1 pinch black pepper\n1
tablespoon peanut oil\n1 pound boneless, skinless chicken thighs, cut into
bite-size pieces\n1 teaspoon garam masala\n1 pinch cayenne pepper\n1
tablespoon cornstarch\n¼ cup water",
"process":
"Step 1\nHeat 1 tablespoon oil in a large saucepan over medium high heat.
Sauter shallot and onion until soft and translucent. Stir in butter, lemon
juice, ginger-garlic paste, 1 teaspoon garam masala, chili powder, cumin and
bay leaf. Cook, stirring, for 1 minute. Add tomato sauce, and cook for 2 mins,
stirring frequently. Stir in half-and-half and yogurt. Reduce heat to low, and
simmer for 10 mins, stirring frequently. Season with salt pepper. Remove from
heat and set aside.\nStep 2\nHeat 1 tablespoon oil in a large heavy skillet
over medium heat. Cook chicken until lightly browned, about 10 mins. Reduce
heat, and season with 1 teaspoon garam masala and cayenne. Stir in a few
spoonfuls of sauce, and simmer until liquid has reduced, and chicken is no
longer pink. Stir cooked chicken into sauce.\nStep 3\nMix together cornstarch
and water, then stir into the sauce. Cook for 5 to 10 mins, or until
thickened."
},
{
"serves": "3",
"prepTime": "10 mins",
"cookTime": "30 mins",
"asset": "assets/countries/indian/bisibela.jpg",
"name": "Bisi Bela Bath",
"items":
"BISI BELE BATH MASALA:\n4 tsp coriander seeds\n4 tsp chana dal\n2 tsp urad
dal\n1 tsp jeera / cumin\n¼ tsp methi / fenugreek seeds\n½ tsp pepper\n3 pods
cardamom / each\n1 inch cinnamon / dalchini\n4 cloves / lavang\n2 tbsp dry
coconut / copra\n2 tsp poppy seeds / khuskhus\n1 tsp sesame seeds / til\n1 tsp
oil\n12 dried kashmiri red chilli\nfew curry leaves\npinch of hing /
asafoetida\nOTHER INGRIDENTS:\n½ carrot, chopped\n5 beans, chopped\n2
tbspmatar / peas\n½ potato / aloo, cubed\n2 tbsp peanuts\n2 cups water\n¼ tsp
turmeric / haldi\n1½ tsp salt\n¾ cup tamarind extract\n½ tsp jaggery / gud\n½
onions, petals\n1 cup toor dal, cooked\n2½ cup rice, cooked\n1 cup water\n1
tbsp ghee / clarified butter",
"process":
35
"firstly, cook vegetables, 2 tbsp peanuts, 2 cups water, ¼ tsp turmeric and 1
tsp salt.\nnow add ¾ cup tamarind extract, ½ tsp jaggery and ½ onions. boil
for 10 mins.\nfurther add 1 cup of cooked toor dal, 2½ cup of cooked rice and
1 cup water.\nadd 4 tsp of bisibisibele bath masala and simmer for 20 mins.\
npour the tempering and serve bisibele bath with boodi or mixture."
},
{
"serves": "4",
"prepTime": "10 mins",
"cookTime": "30 mins",
"asset": "assets/countries/indian/matar.jpg",
"name": "Matar Paneer",
"items":
"FOR ONION TOMATO PASTE:\n2 tbsp oil\n1 onion, sliced\n3 clove garlic,
chopped\n1 inch ginger\n3 tomato, sliced\nOTHER INGREDIENTS:\n2 tbsp oil\n1
bay leaf\n1 inch cinnamon stick\n2 pods cardamom\n1 tsp cumin / jeera\n¼ tsp
turmeric\n1 tsp kashmiri red chilli powder\n1 tbspbesan / gram flour\n¼ tsp
cumin powder\n1 tsp coriander powder\n1 tsp salt\n1 cup water\n1 cup peas /
matar\n12 cubes paneer / cottage cheese\n2 tbsp coriander, finely chopped\n¼
tsp garam masala\n1 tsp kasurimethi",
"process":
"in a large kadai heat 2 tbsp oil and saute spices.\nadd ¼ tsp turmeric, 1 tsp
chilli powder and 1 tbspbesan. roast well.\nadd in prepared onion tomato paste
and saute well.\nfurther add ¼ tsp cumin powder, 1 tsp coriander powder and 1
tsp salt.\nnow add 1 cup water and stir well.\nadd in 1 cup peas and stir
well. cover and cook for 10 mins.\nadd in 12 cubes paneer and simmer for 10
mins.\nnow add 2 tbsp coriander, ¼ tsp garam masala and 1 tsp kasurimethi.\
nfinally, enjoy matar paneer with roti or rice."
},
{
"serves": "",
"prepTime": "15 mins",
"cookTime": "40 mins",
"asset": "assets/countries/indian/Tandoori-Chicken.jpg",
"name": "Tandoori chicken",
"items":
"3 Tbsp vegetable oil\n1 teaspoon ground coriander\n1 teaspoon ground cumin\n1
teaspoon ground turmeric\n1 teaspoon cayenne\n1 Tbsp garam masala\n1 Tbsp
sweet (not hot) paprika\n1 cup plain yogurt (can sub buttermilk)\n2 Tbsp lemon
juice\n4 minced garlic cloves\n2 Tbsp minced fresh ginger\n1 teaspoon salt\n4
whole chicken legs (drumsticks and thighs), or its equivalent, skinless, bone-
in",
"process":
"1 Heat the spices in oil: Heat the oil in a small pan over medium heat, then
cook the coriander, cumin, turmeric, cayenne, garam masala and paprika,
stirring often, until fragrant (approximately 2-3 mins). Let cool completely.\
n2 Whisk spices into yogurt, add lemon juice, garlic, salt, ginger: Whisk the
cooled spice-oil mixture into the yogurt, then mix in the lemon juice, garlic,
salt and ginger.\n3 Cut deep slashes into chicken, coat with marinade, chill:
Cut deep slashes (to the bone) in 3-4 places on the leg/thigh pieces. Just
make 2-3 cuts if you are using separate drumsticks and thighs. Coat the
chicken in the marinade, cover and chill for at least an hour (preferably 6
hours), no more than 8 hours.\n4 Prepare grill: Prepare your grill so that one
side is quite hot over direct heat, the other side cooler, not over direct
heat. If using charcoal, leave one side of the grill without coals, so you
have a hot side and a cooler side. If you are using a gas grill, just turn on
one-half of the burners.\nUse tongs to wipe the grill grates with a paper
towel soaked in vegetable oil.\n5 Shake off excess marinade, place chicken on
hot side of grill: Take the chicken out of the marinade and shake off the
excess. You want the chicken coated, but not gloppy.\nPut the chicken pieces
on the hot side of the grill and cover. Cook 2-3 mins before checking.\nTurn
the chicken so it is brown (even a little bit charred) on all sides\n6 Move to
cool side of grill, cover and cook: Move chicken to the cool side of the
grill. Cover and cook for at least 20 mins, up to 40 mins (or longer)
36
depending on the size of the chicken and the temperature of the grill. The
chicken is done when its juices run clear.\nLet it rest for at least 5 mins
before serving. It’s also great at room temperature or even cold the next
day.\nServe with naan, and Indian flatbread, or with Indian style rice, with
yogurt-based raita on the side."
},
{
"serves": "6",
"prepTime": "20 mins",
"cookTime": "45 mins",
"asset": "assets/countries/indian/masala_dosa.jpeg",
"name": "Masala Dosa",
"items":
"FOR BATTER:\n3 cup sonamasuri rice\n½ tsp methi / fenugreek seeds\nwater, for
soaking\n1 cup urad dal\n2 tbsptoor dal\n2 tbspchana dal\n1 cup poha /
avalakki, rinsed\nFOR ALOO BHAJI:\n2 tbsp oil\n1 tsp mustard\n1 tsp urad dal\
n1 tsp chana dal\n1 dried red chilli\nfew curry leaves\npinchhing /
asafoetida\n2 chilli, finely chopped\n1 inch ginger, finely chopped\n1 onion,
sliced\n¼ tsp turmeric\n1 tsp salt\n3 potato, boiled & mashed\n2 tbsp
coriander, finely chopped\n2 tbsp lemon juice",
"process":
"MASALA DOSA BATTER PREPARATION:\nfirstly, in a large bowl take 3 cup
sonamasuri rice and ½ tsp methi.\nrinse well and soak in enough water for 4
hours.\nin another bowl take 1 cup urad dal, 2 tbsptoor dal and 2 tbspchana
dal.\nrinse well and soak in enough water for 2 hours.\nafter soaking dal for
2 hours, drain off the water and transfer to the grinder. you can also grind
in mixi if you do not have access to a grinder.\nadd water as required and
blend to smooth paste.\nscrape sides. the smooth and fluffy batter will be
ready after 40 mins.\ntransfer the batter to a large vessel and keep aside.\
nin the same grinder add soaked rice and 1 cup rinsed poha.\nadd water slowly
and scrape the sides. blend to a coarse paste.\ntransfer the rice batter to
the same urad dal batter.\nmix well making sure everything is well combined.\
nferment in a warm place for at least 8 hours or until the batter doubles in
volume. if you are leaving in a cold climate, then you can place the batter in
the warm oven (just heat the oven until it turns slightly warm and then turn
off) to ferment.\nonce the batter is well fermented, mix gently, without
disturbing the air pockets.\ntransfer 4 cups of fermented batter to a small
bowl and add 1 tsp salt.\nmix well until the salt is well combined. masala
dosa batter is ready. keep aside.\nALOO BHAJI PREPARATION:\nfirstly, in a
large kadai heat 2 tbsp oil and splutter 1 tsp mustard, 1 tsp urad dal, 1 tsp
chana dal, 1 dried red chilli, few curry leaves, pinch hing.\nnow add 2 chilli
and 1 inch ginger. saute well.\nalso, add 1 onion and saute until onions
shrink slightly.\nfurther, add ¼ tsp turmeric and 1 tsp salt. saute well.\nnow
add 3 potato and mix well, mash slightly making sure everything is well
combined.\nturn off the flame and add 2 tbsp coriander and 2 tbsp lemon
juice.\nmix well and aloo bhaji for masala dosa is ready. keep aside.\nMASALA
DOSA PREPARATION:\nfirstly, add a ladleful of batter on hot tawa.\nspread as
thin as possible making a crispy dosa.\ntake 1 tsp of butter and spread
uniformly.\nalso, place 2 tbsp of prepared aloo masala in the centre.\nroast
until the dosa turns golden brown and crisp.\nscrape the sides of dosa and
roll the dosa.\nfinally, masala dosa recipe is ready to serve with coconut
chutney and sambar."
},
{
"serves": "6",
"prepTime": "10 mins",
"cookTime": "45 mins",
"asset": "assets/countries/indian/rogan-josh.jpg",
"name": "Rogan Josh",
"items":
"1 Kg meat\n1 cup mustard/refined oil\n3 tsp red chili powder\n3 tsp fennel
powder\n2 tsp ginger powder\n2 tsp cumin powder\n3 tsp brown cardamom powder\
n1 tsp asafoetida\n4 Green cardamom\n2 Cinnamon sticks\n2 Bay leaves\n2
Cloves\n1/3 tsp saffron (optional)\n1 cup curd\nA pinch of salt",
37
"process":
"1.Wash the meat properly. Heat oil in a pressure cooker.\n2.Put cinnamon, bay
leaves, green cardamom, cloves, a teaspoon of salt, asafoetida, and meat
together.\n3.Fry meat till it turns brown. Once browned, pour a cup of water.\
n4.Add the red chili powder and saffron into the meat. Keep stirring for about
a minute.\n5.Mix the curd nicely in the mixer and pour it into the pressure
cooker.\n6.Keep on stirring till you get a reddish tinge.\n7.Add 2 cups of
water, fennel powder, ginger powder, and pressure cook for 2 mins.\n8.Check if
the meat is tender. Peel and grind green and brown cardamom and add to the
meat dish.\n9.Finally sprinkle cumin powder and simmer for a minute and
serve."
},
{
"serves": "2",
"prepTime": "5 mins",
"cookTime": "20 mins",
"asset": "assets/countries/indian/ven-pongal.jpg",
"name": "Pongal",
"items":
"FOR PRESSURE COOKING:\n1 tsp ghee / clarified butter\n½ cup rice, rinsed\n½
cup moong dal, rinsed\n4 cup water\n½ tsp salt\nFOR TEMPERING:\n2 tbsp ghee /
clarified butter\n1 tsp cumin / jeera\n½ tsp pepper, crushed\n1 inch ginger,
finely chopped\n2 chilli, slit\n10 cashew / kaju, halves\npinchhing /
asafoetida",
"process":
"firstly, in a pressure cooker heat 1 tsp ghee.\nadd ½ cup rice, ½ cup moong
dal and saute for a minute or until it turns aromatic.\nfurther, add 4 cup
water and ½ tsp salt. mix well.\ncover and pressure cook for 5 whistles on
medium flame.\nonce the pressure settles down, open the cooker and give a good
mix.\nfurthermore, in a pan heat 2 tbsp ghee.\nalso add 1 tsp cumin, ½ tsp
pepper, 1 inch ginger, 2 chilli, 10 cashew and pinch hing.\nsaute on low flame
until cashew turns golden brown.\npour the tempering over cooked rice and dal
mixture.\ngive a good mix, add more ghee if required.\nfinally, serve
venpongal/kharapongal with coconut chutney and sambar."
},
{
"serves": "21 pieces",
"prepTime": "30 mins",
"cookTime": "12 mins",
"asset": "assets/countries/indian/Dhokla.png",
"name": "Dhokla",
"items":
"FOR RAVA DHOKLA:\n1 cup rava / bombayrava / semolina / sooji\n1 cup thick
curd / yogurt, slightly sour\n½ tsp sugar\n1 tsp ginger / adrak, grated\n1 tsp
chili paste\n2 tsp oil\nsalt to taste\n¼ cup water, or as required\n1 tsp eno
fruit salt or ¾ tsp baking soda\nFOR TEMPERING:\n2 tsp oil\n1 tsp mustard
seeds / rai\n½ tsp jeera / cumin seeds\n½ tsp sesame seeds / til\npinch of
hing / asafoetida\nfew curry leaves\n2 green chili, slit\n2 tbsp coriander
leaves, finely chopped",
"process":
" firstly, in a large mixing bowl take rava and curd.\nadditionally add sugar,
ginger, chili paste and salt.\nmix well to form a thick batter.\nrest for 30
mins or till rava absorbs moisture.\nfurther add water as required and mix
well.\nget the dhokla to idli batter consistency.\nadditionally add eno fruit
salt.\nmix gently till the batter turns frothy.\ntransfer to the greased
plate.\nsteam the dhokla batter for 12 mins.\nprepare the tempering by heating
oil.\nfurther add mustard seeds, jeera, sesame seeds and hing.\nonce the
mustard seeds splutter add in curry leaves and green chili.\nsaute for a while
and once the tempering splutters spread the tempering over dhokla.\nalso
sprinkle coriander leaves.\nand cut the dhokla to desired shape.\nfinally
serve soft and spongy ravadhokla with green chutney."
},
{
"serves": "4 to 5",
38
"prepTime": "10 mins",
"cookTime": "45 mins",
"asset": "assets/countries/indian/chettinad.jpg",
"name": "Chettinad Fish Curry",
"items": "Fish – 1/2 kg ( We used Paarai fish) \nOil – 1 tblspn\nMustard Seeds
"
"/ Kaduku – 1 tsp\nOnion – 1 small chopped finely\nTomato – 1 large
cut into long slices\nCurry Leaves a sprig\nCoriander Leaves – 2 tblspn finely
chopped\nTamarind Pulp – 3 tblspn\nForSauteing and Grinding:\nOil – 1 tblspn\
nFennel Seeds / Saunf / Sombu – 1 tblspn\nOnions – 1 large sliced\nGarlic
Paste – 1 tblspn\nTomato – 1 large chopped\nChilli Powder – 1 tblspn or to
taste\nCoriander Powder – 2 tblspn\nTurmeric Powder / ManjalPodi – 1 tsp\
nCoconut – 1/2 cup grated",
"process":
"Heat oil in a earthernwarekadai. Add in fennel seeds and saute it for a min.\
nAdd in onions and saute for a min. Add in garlic and saute for 30 sec. Add in
tomatoes and saute well.\nAdd in spice powders and saute for a min. Add in
coconut and mix well. Take that in blender and puree it well. \nNow in the
same kadai, add in oil and heat it. Add in mustard seeds and crackle it.\nAdd
in onions and curry leaves. Saute till is golden.\nAdd in coconut masala and
mix well. Cook till oil separates. Add in the long sliced tomatoes and toss
well.\nAdd in tamarind pulp and some water. Mix it well and bring it to boil.
\nAdd in fish pieces and mix well. Season with salt.\nSimmer this for 8 to 10
mins till the fish is done. Add in coriander leaves and mix well.\nServe with
rice.."
}
];
6.SYSTEM TESTING
6.1 Tests:
The app development will consist of five parts. The first part will be devoted to data
gathering and software requirements specification. Consequently, I will have a look
at different mobile apps which target the same goal. They are plenty of Recipe
Organizer apps. Each one has some various features.
The second part will be dedicated to the design phase, including the app and the
database. Also, in this phase, the software tools to be used will be specified. For
example, the IDE, the database, the modelling language for the design, and finally
the software testing tools. The third part will be the implementation phase, here, the
39
design will be converted to code in order to develop the targeted app. The fourth
step will be devoted to testing the app. In this phase, two testing methods will be
used, namely: Black Box testing and White box testing. The last phase will be the
deployment phase.
40
7.RESULTSCREEN SHORTS
41
Figure 18: App interface (iii)
42
Figure 19: App interface (iv)
43
Figure 20: App interface (v)
44
Figure 21: App interface (vi)
45
46
Figure 22: App interface (vii)
8.
CONCLUSION
The Recetté application meets with the enterprise class application principles. It is
designed to be performing, scalable, extensible and highly available. Given that it
may be improved in many ways, the application is also easily maintainable.
This document summarizes the work that has been done since the beginning of this
semester. Indeed, it starts by giving an overview about the project specification and
requirements.
47
The document also states the methodology followed and which consists of 5 main
parts:
The first part will be devoted to data gathering and software requirements
specification. Consequently, I will have a look at different mobile apps which target
the same goal. They are plenty of Cookbook apps. Each one has some various
features.
The second part will be dedicated to the design phase, including the app and the
database. Also, in this phase, the software tools to be used will be specified. For
example, the IDE, the modelling language for the design, and finally the software
testing tools.
The third part will be the implementation phase, here, the design will be converted
to code in order to develop the targeted app.The last phase will be the deployment
phase.
48
9.BIBLIOGRAPHY
49