Bake It is baking recipe browser for Android tablets and smartphones running Android Lollipop (5.0) or newer. It allows the user to select a recipe and see video-guided steps for how to complete it. The app is built using Android Architecture Components such as the Lifecycle library, which includes LiveData and ViewModel, as well as Room persistence library.
App Features:
- Displays recipes from provided network resource
- Periodically updates recipe data in the background
- Stores recipe data locally to allow offline browsing
- Plays recipe videos using ExoPlayer including fullscreen mode
- Utilises RecyclerViews to show recipe, ingredient and step lists
- Displays ingredient list for desired recipe in homescreen widget
- Supports diffrent screen sizes by utilising master detail flow
- Includes isolated user interface test suite
To install the app on a connected device or running emulator, run:
git clone https://github.com/mattwiduch/BakeIt.git
cd BakeIt
./gradlew installDebug
Bake It uses following libraries:
- Android Support Library
- Android Architecture Components
- Butter Knife for View binding
- Circle ImageView for circular Views
- Dagger2 for dependency injection
- Espresso for user interface tests
- ExoPlayer for playing media
- Expandable Layout for expansion and collapse of layouts
- Firebase Job Dispatcher for scheduling background jobs
- Glide for image loading
- GSON for JSON conversion
- Mockito for mocking in tests
- Retrofit for REST api communication
Copyright (C) 2018 Mateusz Widuch
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.