Sangeeth Amirthanathan
Caloriy is an App that will suggest daily meals with users preferenece (How much of calories they want to gain for a day ?)
Time spent: 1 day spent in total
MVVM stands for Model, View, ViewModel.
-
Model: This holds the data of the application. It cannot directly talk to the View. Generally, it’s recommended to expose the data to the ViewModel through Observables.
-
View: It represents the UI of the application devoid of any Application Logic. It observes the ViewModel.
-
ViewModel: It acts as a link between the Model and the View. It’s responsible for transforming the data from the Model. It provides data streams to the View. It also uses hooks or callbacks to update the View. It’ll ask for the data from the Model.
The following flow illustrates the core MVVM Pattern.
The following required functionality is completed:
- Splash Screen
- Activities
- Shimmer Animations - Facebook
- View Holder
- Lifecycle
- Activity Navigations
- Data tranfer within Activities
- Webview
- Retrofit
- Recycler View
- Google Ads
The following extensions are implemented:
- User can enter the calorie value
- User can get recipies informations
- User can see the web view of specific recipie item in app.
Here's a walkthrough of implemented user stories:
| Screen | Search Meals by Calorie Amount | Get Meals | Item Meal Web View |
|---|---|---|---|
| Imaages | ![]() |
![]() |
![]() |
Describe any challenges encountered while building the app.
- Navigating Activities
- Passing data between Activities
- Dealing with build.gradle
- Designing Application in XML
- Design UI
- Deal with retrofit
- Deal with data classed and JSON objects classws
Copyright 2022 Sangeeth Amirthanathan
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.





