An application for managing diets and searching recipes which meet certain critera. It also features real-time nutritional analysis of food images taken from device camera.
This application is developed in cooperation with a classmate for our school-based mobile development course.
- Authentication with Facebook to store diets information
- Many diet customizations, including name, diet type, excluded ingredients, calories, fat, carbs and protein.
- Visual analysis of each diet by using progress circles.
- Searching recipes based on diet customizations.
- Details of each recipe, including source website and step-by-step instructions.
- Adding and removing recipes with ease, either from diet management activity or recipes searching activity.
- Many diets for each account. Only one is activated at a given time.
- Real-time nutritional analysis of food images.
- Clean Model-View-Presenter pattern with Dagger for dependency injection.
- RecyclerView with StaggeredGridLayoutManager to obtain the look of Pinterest.
- Using SnapHelper to snap items according to views.
- Implementing OnLongClickListener to enable contextual menu when holding an item in RecyclerView.
- Handling API calls with Retrofit.
- Managing database with Firebase.
- Android Support Library
- Butterknife
- GreenRobot EventBus
- Glide
- Retrofit
- Dagger
- GSON
- Parcerler
- CircleProgressView
- Clarifai
- Facebook SDK
- Firebase
- Spoonacular
- Clone the repo
- Contact me for gradle.properties (which contains several API keys) and put it in root folder
- Open the project in Android Studio
- Build and run
- Props to npkhoa2197 for his collaboration.
- This guy for his instructions on RecyclerView basics.
- And this guy for his detailed guide on SnapHelper.