Skip to content

nandrasaputra/AnyRecipes

Repository files navigation

AnyRecipes

AnyRecipes is a simple recipes for Android that allow user to view recipes and save their favorite recipes. This app is written in Kotlin with Clean Architecture and MVVM (Model-View-ViewModel) Architecture, Using Android Jetpack Library such as Navigation, Room, ViewModel, Paging and LiveData. Koin is used to perform dependencies injection in this app. This app apply modularization, there is 3 module: app module, core module and feature module. This app also using Kotlin Coroutine to perform asyncronous operation, Coroutine Flow to handle asyncronous data stream and Retrofit to communicate with REST API. All recipes data is provided by Spoonacular API. And last but not least, this app also apply Advanced Security such as Database Encryption, obfuscation with proguard and Certificate Pinning (to secure the connection with the API). This app was developed to complete Menjadi Android Developer Expert final project and got 5/5 score.

Preview

Demo

You can view the app demo on youtube: https://youtu.be/wVXGlu1AlEs

Project Setup

You need Spoonacular API Key to make this project work. Make a new file, api.properties, on the root folder and put your api key like this:

In your api.properties (AnyRecipes/api.properties) :

SPOONACULAR_API_KEY = "YOUR_API_KEY"

Built With

Android Jetpack - Room, Navigation, Paging, LiveData, ViewModel, Hilt etc.
Gson - A Java serialization/deserialization library to convert Java Objects into JSON and back.
Glide - An image loading and caching library for Android focused on smooth scrolling.
RoundedImageView - A fast ImageView that supports rounded corners, ovals, and circles.
Retrofit - A type-safe HTTP client for Android and Java.
Facebook Shimmer - An easy, flexible way to add a shimmering effect to any view in an Android app.
Lottie - Lottie is a mobile library for Android and iOS that parses Adobe After Effects animations exported as json with Bodymovin and renders them natively on mobile.

Author

Nandra Saputra

Download Application - APKs File and Installation Guide

This app require Android 5.0 - Lolipop or higher to run, Please check release section to download the APKs file. Please note that you need bundletool to install APKs file into your devices.

License

Apache 2.0. See the LICENSE file for details.