Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/359024976

A Smart Recipe Recommendation System Based on Image Processing and


Deep Learning

Chapter · March 2022


DOI: 10.1007/978-3-030-94191-8_83

CITATIONS READS

2 1,999

2 authors:

Seda Kul Ahmet Sayar


The Scientific & Technological Research Council of Turkey Kocaeli University
28 PUBLICATIONS 233 CITATIONS 169 PUBLICATIONS 1,287 CITATIONS

SEE PROFILE SEE PROFILE

All content following this page was uploaded by Ahmet Sayar on 24 March 2022.

The user has requested enhancement of the downloaded file.


A Smart Recipe Recommendation System Based on
Image Processing and Deep Learning

Seda Kul [0000-0002-7481-3560] and Ahmet Sayar [0000-0002-6335-459X]

Kocaeli University, Baki Komsuoğlu bulvarı No:515, Umuttepe, 41001, Kocaeli, Turkey
seda.kul.06@gmail.com

Abstract. While technology facilitates our lives, it also allows us to lead a qual-
ity, efficient energy and to do more productive work in less time. One of our basic
needs that takes our time is to eat. One of the problems people face is, "What can
I cook today?" It is the question. The Smart Recipe Suggestion System (SRSS)
is a system that can make food recommendations to the person with the materials
available. This system is designed as a mobile application, including the deep
learning method, to answer people's questions during the day. This paper pro-
poses an approach that recognizes the person's materials with image processing
technology and presents the most suitable meal suggestions to be made with those
materials. Recipes are collected from web sites through RabbitMQ. Food items
are captured from images by using object detection processes through deep learn-
ing. Available food items are modeled as NoSQL and stored to MongoDB docu-
ment based databases. For the real-world application Firebase mobile cloud plat-
form is used.

Keywords: Object Recognition, Object Detection, Recipe Suggestions, Deep


Learning, Machine Learning, NoSQL, RabitMQ.

1 Introduction

The way of consuming food has undergone significant changes since the Coronavirus
outbreak in early 2020. People start to eat at their homes due to restrictions. However,
finding suitable recipes and ingredients can be quite time-consuming. Recipes had to
be noted in a notebook so that they were not forgotten. Obtaining recipes in this way
was making people waste a lot of time. Regarding this need, recipe sites were created
on the internet to compensate for the loss of time and access any desired food more
quickly. Recipe sites caused recipe books to disappear. People could easily find the
food they wanted by entering these sites instead of recipe books to save time.
One of the problems that every individual encounter in their own life are whether or
not the food ingredients are at home when they cook. For a person living alone, check-
ing these materials can only be done by going home and checking them. On the other
hand, the absence of anyone in the house, the absence of missing materials, and the lack
of awareness of this lead us to repeat control and repurchase the materials. All these
problems are the problems that everyone faces in their daily life, and they take a lot of
time from our daily life.
2

According to the research carried out at this time, where we spent time at home an
increase of 139% in visiting recipe sites was determined mainly because the Covid-19
virus affected the world. At this time, people began to cook their own food at home,
reducing eating out. This has increased the visit to sites with recipe contents. Figure 1
shows an increase in the number of people entering recipe sites.

Fig. 1. Graphical representation of the number of people visiting food sites [1]

With the technological developments in recent years, it is seen that people spend a
lot of time on recipe sites. For example, on sites that suggest recipes such as Allreci-
pes.com [2] and shared among people, titles such as 'Quarantine Dishes' were opened,
allowing people to cook more and share the dishes they cook. We propose a system as
a solution when there is so much access to recipe sites.
Today, some sites only determine the ingredients or give possible recipes when you
enter the material list with your hand. In this context, many people recently refer to
these websites when planning their menu Cookpad [3] and Yahoo! Recipe [4]. Cookpad
contains 900,000 recipes and has 10,000,000 users per month [5], but no system auto-
matically recommends recipes with your kitchen ingredients. In our study, we leave the
previous studies in this field and offer a new solution proposal.
SRSS that we will develop enables us to answer what can I cook with the ingredients
we have by recognizing the objects in our closet or kitchen with the image processing
method. Our goal is to provide a user with a suggestion system that you have these
materials, and you can make these dishes thanks to the phone you use. In this way, we
aim to save the user time and prevent the material from wasting. We aim to appeal to
people of all ages by offering the easiest interface to the user.
One of today's important health problems is convenience food consumption, and the
consumption of fast foods is increasing day by day. This increase drives people towards
obesity. Turkey Diabetes, Hypertension, Obesity, and Endocrinology Diseases Preva-
lence Study-I (TURDEP-I) based on the 20-80 age group in 1997-1998 was found to
be 7.2 percent of diabetes prevalence. According to TURDEP –II in 2010, the frequency
of diabetes increased to 13.7 percent. This result shows that the rate of diabetes in-
creased by 90 percent in 12 years [6]. In the recipe sites available on the internet today,
the ingredients and recipes of the food are entered manually by the site owner. Consid-
ering that there are millions of recipes, this process makes it difficult for site owners.
SRSS, at this point, by carrying out these procedures for the user, learns the ingredients
and recipes of the desired dish and suggests it to us.
3

SRSS facilitates people's cooking process at home and directs people to a healthy
diet. The proposed system is designed so that people of all ages and all walks of life
can use it easily with its straightforward interface. "What should I cook today?", "Was
there any ingredients at home?", "What different recipe can I try with the ingredients I
have?" Many different questions are answered.
This paper is structured as follows: Section 2 provides brief examples of related
works, while Section 3 outlines the methods used for food recognition and selecting the
best recipe for the ingredients. Turkish recipes were collected, and a data set was cre-
ated. By using the open-source library, the most suitable image processing and machine
learning algorithm has been determined for classifying objects. After deciding the in-
gredients, the most suitable recipes are determined. Suggestions are presented to the
user. With the developed project, recipes were proposed to the user as targeted. The
study's conclusion is covered in Section 4.
SRSS can help individuals who are trying to save time, do not know how to cook
or learn a new learner, and provide various facilities to a disabled or elderly person. It
allows user to make a delicious meal in the most accurate and short time without wast-
ing our material.

2 Related Works

The advancement in machine learning today, it has become easier to train a model to
classify various types of images. Image processing has gained great practice in real life.
In the literature there are some application of real-time object detection from captured
images [7-14]. They also use machine learning and deep learning algorithms. However,
they do not use multiple object detection at the same time.
In our suggestion system application, we also recognize the object from the image
and provide a list of recipes to the user through it. Thus, we use the TensorFlow library
for object recognition. Similar to our proposed system, Sanjay Kumar and Manish Ku-
mar [15] conducted a study using TensorFlow and Convolutional Neural Network
(CNN) for object detection. Their study's main goal is to develop a system that can
perform various calculations more efficiently and faster than traditional systems. For
this reason, based on their educational data, they carried out using the TensorFlow li-
brary, which is available as an open-source library for various classification types. Their
studies experimented on the image dataset by classifying the image as "male" or "fe-
male" according to the training of the model and later features. In our suggestion sys-
tem, we recognize the food in the picture with the TensorFlow library and offer a recipe
proposal to the user through the recognized object.
Object detection is also one of the literature topics, where a lot of work has been
done. Some studies have been developed to support humanity in many areas, from the
field of health to the materials used in the industry, and these studies continue. Bo-Ting
Wu [16] and her colleagues have also developed a food recognition system to find a
solution to a different topic. Wu and her team have found solutions in China. Since it
takes time to calculate the number of dishes on the plate, they have developed a system
that removes what is on the plate and pricing on live video. Wu and his team based on
YOLOv3, which we intended to use in the first steps of our project for object detection,
and Region-Based Convolutional Neural Network (RCNN), achieved a success of 70%
in their work.
4

G.Pangestu and his team [17] use a smartphone app called Recepiece, which func-
tions as a place to store and search recipes based on ingredients the user has in their
work. This application was designed and developed especially based on a mobile ap-
plication for android smartphones. They performed the mobile application on the Ionic
platform and presented it for user approval. As a result, it has received 90% approval
from people using this application.
R. Kusumoto and his team [18] conducted a diet program in their research due to
health problems caused by the increase of unhealthy diets that endanger human life.
Their work kept daily food diary records that will contribute to establishing an auto-
matic recognition system of food images and managing diet life. With their easily ac-
cessible food images taken by mobile phones, they provide information about the users'
daily diets with structured food recognition systems. The BoF model represents approx-
imately every local identifier only as one predefined visual word and vectorizes an im-
age's local identifiers in a regular histogram, which may lose some important (distinc-
tive) information of local features, and no spatial information is taken into account. The
study obtained good performance by performing experiments on the objects obtained
using the Bag-of-Features (BoF) model over PFID and RFID datasets.
The first step of our application is to develop a food suggestion system that is suit-
able for the person, even though it is a food suggestion system according to the existing
objects. For this, we consider basing on the food users love. Like other suggestion sys-
tems, food suggestion systems are among the topics that have increased in popularity
today. A study by JAWARNEH et al. [19] aimed to develop a food suggestion system
using Deep Learning. According to their research, most literature studies focused on
including traditional contextual information using three models in their suggestion sys-
tems; prefiltration, final filtration, and modeling. And they aimed to add context aware-
ness according to their research. For example, users are rated multiple times in different
movies depending on where they are watching (home, cinema) and accompanying them
(friend, alone, or family). This source created a new NFC system and suggestion system
with data from Movielens 1M, DePaulMovie, and TripAdvisor. Suggestion systems are
developing and changing according to the environmental conditions that users love and
dislike. We aim to add the suggestion system that is most suitable for our study to our
application.
The system developed by Mouzhi Ge et al. [20] is focused on supporting a user who
wants to choose what to cook at home. The first step is to reveal the general preference.
The purpose of this step is to collect users' long-term (stable) cooking or eating prefer-
ences, and this step involves two stages: The first stage is where the system asks the
user to indicate the recipes they cook at home, and the second stage is where the user
gives their ratings and labels to the recipes they cook. After the user logs in to the sys-
tem, he can browse the full catalog of recipes and mark their experiences. The user can
mark their familiar recipes as "Tried (eaten)" or "Cooked". After the user has marked
the recipes he has experienced, some recipes are presented to the user for grading and
labeling. Active learning techniques, especially the Dual Prediction technique, have
been used to find these recipes. The system provides the user with recipe suggestions
one by one and asks the user to choose one. The user needs to browse the first sugges-
tion and move to the next one if it is not satisfied at the end. Recipes with the most
predictions are more likely to be relevant and are therefore recommended to the user.
Suggested recipes can be those that have never been tried by the user or those worth
cooking again. With this study carried out by Mouzhi Ge et al., The material is taken
from the system we are developing, and it is distinguished by recognizing the material
and suggesting the most appropriate recipe on the material.
5

Nowadays, questions such as what is food at home or what was missing material
create problems. Based on these problems, technologies such as smart refrigerators
were tried to be produced. Miniaoui and his team [21] aimed to keep a list of the refrig-
erator's existing objects by using RFID technologies in the smart refrigerator. In this
way, it was tried to prevent food waste in case of taking extra food and to save time
because the list of to-be items can be seen easily. We will prevent the waste of the
materials obtained in this system, which we will recommend a recipe with the materials
obtained in our study.

3 METHOD

In the proposed system, the pictures and materials obtained from the cupboard will be
determined. The most suitable meal suggestions that can be made with these materials
will be presented to the user. As shown in Figure 2, the first stage of the general flow
diagram of the project to be developed is to create our data set using open data sources
on the internet.
It is a NoSQL database that allows storing our MongoDB data to create our data
set. After creating our data set (see Section A), we took our data to Firebase, a cloud
environment, to use it in a mobile application. The biggest difference from the NoSQL
database's relational databases is that the data is kept in relation to the tables and col-
umns in relational database systems while keeping it in a JSON structure in NoSQL.
The important advantages of the NoSQL structure over relational databases are speed
and extensibility. MongoDB is an open-source NoSQL database developed in 2009.
Today, there are many NoSQL databases on the market, such as Cassandra, BigTable,
and Dynamo [22]. In MongoDB, each record is expressed as a document. And these
documents are stored in JSON format. The table structure, which is known to those who
are interested in relational databases, take the collection here, the row structure as the
document and the column structure as the field.

Fig. 2. General Structure of the Recommended System


6

3.1 Data Set Obtaining and Preprocessing

Data set created on the internet recipe websites such as nefisyemektarifleri.com. We


used Java language and the Jsoup library to create the dataset. Since we will pull the
data from the recipe sites on the internet and a large amount of data, the data will take
a long time. We used RabbitMQ to speed up this process. Thanks to RabbitMQ, we ran
the work we would do on one machine, distributed on multiple machines. We have run
the workload of distributed work on our remote server, which we dockerize. Three
servers from Digital Ocean were used. Recorded recipes stored in MongoDB, we did
not want to lose speed in writing to the database. After obtaining the tariff links, we
recorded Recipe Preparation, Recipe Materials, how many recipes there are, and how
long it is made to MongoDB. Since there are 21 recipe categories and we prefer to
access 100 recipe links for each category, we have recorded 2100 different recipes from
21 different categories in the database.
After storing our data set in MongoDB, we transferred it to Firebase, which is a cloud
environment for usability in mobile applications. Figure 3 shows the structure of the
data held in Firebase.

(a)

(b)
Fig. 3. (a) MongoDB Data Record Example (b) Firebase Data Record Example
7

3.2 Object Detection


In the second stage, by using TensorFlow Lite, an open-source library with deep
learning software, a list of materials will be created by classifying which food it is from
the materials' image. TensorFlow is an open-source machine learning software library
published by Google in 2015, quickly becoming one of the essential machine learning
libraries used by researchers and practitioners worldwide [11].
By comparing the created material list with the Application Programming Interface
(API) developed on the Client / Server architecture, the required recipes will be returned
in response to the request by matching the recipes needed in the data set. The last step,
the recipe list that comes with the API will be displayed to the user.

3.3 Finding Suitable Recipes

A list of materials identified with TensorFlow Lite will be created. The created list
will be sent to the server via the API shown in Figure 4. The materials in the request
received through the API will be compared with the recipes' materials in the data set,
and appropriate recipes will be found. It is planned to sort the matching recipes accord-
ing to various parameters. The matching will be done with the queries we will send to
the database. The queries will be made by comparing the ingredients that need to be
made with the ingredients list. As a result of the query, we will have a matched recipe
list. After listing this recipe list according to the recipes that the user liked/disliked
before and similar preferences with other users, the answer will be returned through the
API.

Fig. 4. Rest API Architecture

It is the mobile application that the user will use at the last stage of our application.
We chose the Android platform for the mobile application. Android is a Linux-based
operating system developed by Google and the Open Handset Alliance for mobile de-
vices [12].
The recipe list is shown to the user in response to the API in the web or mobile
interface. The Android Platform has been used to show the recipes suitable for the user.
In practice, the recipe suggestion is made with the materials that the user knows over
the photographs he took or the materials he entered manually. In addition, the user is
8

offered 2 options to see the proposed recipes. The first option is to propose a recipe
based on the number of ingredients available, and the second option is a recipe with
more than average votes.
Due to the small number of objects recognized, we have presented recipe sugges-
tions that match the ingredients in the recipe based on the objects the user has added.
For this reason, which did not suit our purpose, we used the information extraction
formulas to present the user the similarity rate. The reason we want to apply the infor-
mation retrieval is to find the similarity of the ingredients added by the user and the
ingredients in the recipe. There are two important information retrieval criteria. These:
Precision: How much of the information brought relates to the desired information?
Recall: How much of the information should be brought?
Precision (1) and Recall (2) formula,
|{𝑟𝑒𝑙𝑒𝑣𝑎𝑛𝑡 𝑑𝑜𝑐𝑢𝑚𝑒𝑛𝑡𝑠}| ∩|{𝑟𝑒𝑡𝑟𝑖𝑒𝑣𝑒𝑑 𝑑𝑜𝑐𝑢𝑚𝑒𝑛𝑡𝑠}|}
𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = (1)
|{𝑟𝑒𝑡𝑟𝑖𝑒𝑣𝑒𝑑 𝑑𝑜𝑐𝑢𝑚𝑒𝑛𝑡𝑠}|

|{𝑟𝑒𝑙𝑒𝑣𝑎𝑛𝑡 𝑑𝑜𝑐𝑢𝑚𝑒𝑛𝑡𝑠}| ∩|{𝑟𝑒𝑡𝑟𝑖𝑒𝑣𝑒𝑑 𝑑𝑜𝑐𝑢𝑚𝑒𝑛𝑡𝑠}|


𝑟𝑒𝑐𝑎𝑙𝑙 = (2)
|{𝑟𝑒𝑙𝑒𝑣𝑎𝑛𝑡 𝑑𝑜𝑐𝑢𝑚𝑒𝑛𝑡𝑠}|

In the light of these given formulas, F1 (3) is revealed when Precision p and Sensi-
tivity are r and their harmonic averages are taken,
𝑝.𝑟
𝐹1 = 2 (3)
𝑝+𝑟

It is also possible to link the F score to a value of β. In this case, the term Fβ (4)
score is used instead of the F1 score,
𝑝.𝑟
𝐹𝛽 = (1 + 𝛽2 ) (4)
𝛽2 .𝑝+𝑟

Based on this information, we have presented the user only the value of certainty in
this step of our application. The calculation of the similarity ratio is 0.06896.

4 CONCLUSION AND SUGGESTIONS

This proposed system aims to save people time and indirectly prevent the economic
loss, reduce the waste of food made, and decrease the frequency of eating out. We will
feed more healthily. Our work will directly benefit the two most valuable things (time
and health) we have in life. We see that our project can be commercialized in the future.
We think that we will see our project, which appeals to almost every segment, as a
product in most homes in the future. One of the most difficult parts of our project will
be getting to know the material and determining its amount. We will have to compare
the material part of the list we have identified and created with the list we have created
and find the matching ones. While the ingredients of the recipes were recorded on the
website, they were made without any order. Users can write the ingredients of the rec-
ipes as they wish. In this case, it will be a problem for us to find the recipe materials'
real material. Another problem in the comparison section seems to be speed.
9

1441 objects can be recognized in the library TensorFlow used in the object recog-
nition phase. Seventy-eight of these objects is food ingredients. With these known ma-
terials, the recipe is successfully proposed to the person with the query created. The
correct search for the material sought in the query was 100% calculated. According to
these calculations, we can say that the system makes a successful recipe proposal based
on the materials it knows. One of our future goals is to increase the number of recog-
nized objects and suggest more suitable recipes. Thus, it is one of our future works to
learn more objects by training the model with the data set we have created.
Multiple additions can be made for advanced versions of the project we have devel-
oped, such as recognizing two objects in the same photo. For this development, the
problem with image processing should be well known, and the best image processing
technique suitable for this problem should be determined. Answers to questions such
as which studies have been done about this technique, where and how it has been used
should be found. In this way, it is a correct method to find a solution to the problem.
It is one of our targets to prioritize the high similarity rate while recommending rec-
ipes that fit more with the ingredients of the recipe according to the number of objects
recognized. One of our study’s main goals is to design the project specifically for dia-
betic and blood pressure patients after all the targets are completed. We aim to contrib-
ute to people about healthy life and healthy food selection by developing a special diet
and appropriate food tracking system for all patients in the form of a recipe suggestion
system for diabetic patients.

References
1. Türkiye, M., 2020. Yemek Tarifi Sitelerini Ziyaret Edenlerin Oranı Yüzde 139 Arttı - Mar-
keting Türkiye. [online] Marketing Türkiye. Available at:
<https://www.marketingturkiye.com.tr/haberler/evde-kaliyoruz-yemek-yapiyoruz/> [Ac-
cessed 21 May 2020].
2. Allrecipes. 2020. Allrecipes | Food, Friends, And Recipe Inspiration. [online] Available at:
<https://www.allrecipes.com/> [Accessed 30 May 2020].
3. Cookpad. http://cookpad.com/, [Accessed 30 May 2020].
4. Yahoo! Recipe. http://recipe.gourmet.yahoo.co.jp/,[Accessed 30 May 2020].
5. Choose dishes using websites of cooking. (in Japanese), http://otona.-
yomiuri.co.jp/news/news110118 03.htm, [Accessed 30 May 2020].
6. “Obezite Kongresi: Türkiye Obezitede Avrupa'da Birinci Sırada.” Euronews, 22 Nov. 2019,
tr.euronews.com/2019/11/22/obezite-kongresi-turkiye-obezitede-avrupa-da-birinci-s-rada.
7. Kul, S., Eken, S., Sayar, A., (2019), Distributed and collaborative real-time vehicle detection
and classification over the video streams, 2017 International Conference on Engineering and
Technology (ICET), pp. 1-4.
8. A Şentaş, İ Tashiev, F Küçükayvaz, S Kul, S Eken, A Sayar, Y Becerikli (2020) Performance
evaluation of support vector machine and convolutional neural network algorithms in real-
time vehicle type and color classification, Evolutionary Intelligence 13 (1), 83-91
9. Kul, S., Eken, S., Sayar, A., (2019), A concise review on vehicle detection and classification,
International Journal of Advanced Robotic Systems 14 (4).
10

10. T. M. Denizgez, O. Kamiloğlu, S. Kul and A. Sayar, "Guiding Visually Impaired People to
Find an Object by Using Image to Speech over the Smart Phone Cameras," 2021 Interna-
tional Conference on INnovations in Intelligent SysTems and Applications (INISTA), 2021,
pp. 1-5, doi: 10.1109/INISTA52262.2021.9548122.
11. G. Gülmez, K. Cebbar, S. Kul and A. Sayar, "A Framework for Using Contactless Technol-
ogies in Operating Rooms," 2021 International Conference on INnovations in Intelligent
SysTems and Applications (INISTA), 2021, pp. 1-6, doi:
10.1109/INISTA52262.2021.9548346.
12. Konvolüsyonel Sinir Ağı Kullanarak Gerçek Zamanlı Araç Tipi Sınıflandırması Confer-
ence: 1.Ulusal Bulut Bilişim ve Büyük Veri Sempozyumu B3S'17At: Antalya, Türkiye.
13. S. Kul, S. Eken and A. Sayar, "Evaluation of Real-Time Performance for BGSLibrary Al-
gorithms: A Case Study on Traffic Surveillance Video," 2016 6th International Conference
on IT Convergence and Security (ICITCS), 2016, pp. 1-4, doi:
10.1109/ICITCS.2016.7740330..
14. S. Kul and A. Sayar, "Entity Name Recognition in Job Postings and Resumes," 2021 3rd
International Congress on Human-Computer Interaction, Optimization and Robotic Appli-
cations (HORA), 2021, pp. 1-6, doi: 10.1109/HORA52670.2021.9461326.
15. S. Kumar and M. Kumar, "A Study on the Image Detection Using Convolution Neural Net-
works and TenserFlow," 2018 International Conference on Inventive Research in Compu-
ting Applications (ICIRCA), Coimbatore, 2018, pp. 1080-1083.
16. B. Wu, Y. Tsou, E. Tan and F. Chang, "Image Recognition Approach for Expediting Chinese
Cafeteria Checkout Process," 2020 IEEE 2nd Global Conference on Life Sciences and Tech-
nologies (LifeTech), Kyoto, Japan, 2020, pp. 35-38.
17. G.Pangestu, A. A. Supianto and F. Utaminingrum, "Food Recipe Finder Mobile Applica-
tions Based On Similarity Of Materials," 2018 International Conference on Sustainable In-
formation Engineering and Technology (SIET), Malang, Indonesia, 2018, pp. 156-161.
18. R. Kusumoto, X. Han and Y. Chen, "Sparse model in hierarchic spatial structure for food
image recognition," 2013 6th International Conference on Biomedical Engineering and In-
formatics, Hangzhou, 2013, pp. 851-855.
19. I.M.A. Jawarneh et al., "A Pre-Filtering Approach for Incorporating Contextual Information
Into Deep Learning Based Recommender Systems," in IEEE Access, vol. 8, pp. 40485-
40498, 2020.
20. MouzhiGe, Mehdi Elahi, Ignacio Fernández-Tobías, Francesco Ricci, David Massimo , Us-
ing Tags and Latent Factors in a Food Recommender System,DH '15: Proceedings of the
5th International Conference on Digital Health 2015May 2015Pages 105–112
https://doi.org/10.1145/2750511.2750528
21. S. Miniaoui, S. Atalla and K. F. Bin Hashim, "Introducing Innovative Item Management
Process Towards Providing Smart Fridges," 2019 2nd International Conference on Commu-
nication Engineering and Technology (ICCET), Nagoya, Japan, 2019, pp. 62-67.
22. Medium. 2020. Nedir Bu Mongodb ?. [online] Available at: <https://me-
dium.com/@berkekurnaz/nedir-bu-mongodb-994a94a9d1df> [Accessed 30 May 2020]

View publication stats

You might also like