| Name | Value |
|---|---|
| Type | Product-based Project |
| Team ID | C242-PS136 |
| Project Topic | Health Innovation |
- 📌 Summary
- 📖 Table of contents
- 📝 Introduction
- 🗂️ Repositories
- 📲 Install the Application
- 👨💻 Our Team Members
- 🙏 Conclude
Maintaining a healthy body starts with eating nutritious food. However, achieving this goal is often more challenging than it seems. It's not just about eating healthy; we must also consider various factors, such as the nutritional value of the food, how to prepare it in a way that retains its nutrients, and how to make it taste delicious. These considerations can be overwhelming for many people, especially when they are unsure where to start.
To address this challenge, we created NYAM, which stands for Not Your Average Menu. We designed NYAM, an innovative application, to assist users in discovering healthy diet menus using ingredients they already have at home. The app uses image recognition technology to analyze an image of the ingredients uploaded by the user. It then predicts the content of the image and suggests recipes tailored to the user's BMI, making healthy eating more accessible and personalised than ever before.
We have organised this project into three major categories, each of which represents a core aspect of our work. We will provide a comprehensive overview of the responsibilities and tasks associated with each category, offering insights into the specific job roles and contributions involved. The categories are outlined as follows:
We developed two machine learning models using TensorFlow for our application. The first, an image classification model, uses the MobileNetV2 architecture to recognize ingredients in images categorized into 17 classes. The second model utilizes Body Mass Index (BMI) data to predict BMI categories into six distinct groups. We preprocessed the image data by resizing, sharpening, and categorizing it, and cleaned the BMI dataset using missing value imputation and duplicate removal. We saved both models in the.keras format to facilitate easy deployment and prediction on new data.
To create the planned program, we started by designing and developing the application's workflow, covering all features from start to finish as agreed upon during discussions. Next, we designed the UI/UX based on the existing workflow, striving to create an interface that is simple for users to understand while delivering the best possible experience. Afterward, we implemented the UI design into Android Studio (slicing). The process went smoothly but required some adjustments along the way. In implementing the necessary logic to ensure everything runs smoothly, we utilized MVVM, Retrofit for API calls, and Room Database. All processes, including login and various features, have been successfully developed. With the support of API deployment from the Cloud Computing team and model training from the Machine Learning team, all functionalities are now operating as intended.
Our project would not be working properly unless the Cloud Computing team provides backend applications and the ML model. The first step is to design a cloud architecture, which will help us understand the application's workflow. Next, we start developing a backend application using ExpressJS and a Flask API to facilitate communication between the machine learning model and the backend application. After developing the backend application, we first build it using Cloud Build to create the Docker image, and then we deploy it using Cloud Run.
Our team uses GitHub to manage and collaborate on the source code effectively. Before reviewing our source code, please put some attention on it because there are many branches in our repositories. Below are the repositories, categorised by our main focus areas:
| Learning Path | Repo Link |
|---|---|
| Machine Learning | Machine-Learning |
| Mobile Development | Mobile-Development |
| Cloud Computing | Cloud-Computing |
If you ask a question "Where can I download the application?", then we are very pleased to answer that we have released the application from link below.
Having difficulties during installation? Here some steps to install the apk:
- Find the latest version of our .apk file, then click on it,
- Scroll down to Assets, click on NYAM-app_vx.x.x.apk to download the apk,
- After waiting the download finished, click the file,
- Install the application.
We would like to extend our deepest gratitude to everyone who contributed to the success of the NYAM Food Apps project. This accomplishment would not have been possible without the support, guidance, and collaboration of various individuals and organisations.
- Bangkit Academy by Google, GoTo, and Traveloka: We are grateful for the platform, resources, and mentorship you provided, which allowed us to embark on this exciting journey and expand our knowledge.
- Mentors and Instructors: Your guidance and expertise were invaluable in helping us navigate challenges and refine our ideas into actionable solutions.
- Team Members: Each of you brought unique strengths and unwavering dedication to the project. This application is a testament to our shared efforts and collaboration.
- Friends and family: Your encouragement and support fuelled our motivation to achieve our goals.
Lastly, we thank everyone who took the time to review and engage with our project. We hope this application serves as a helpful tool for promoting healthier lifestyles.
With gratitude, NYAM Food
