Skip to content

Baking Recipes' app with video steps | Tablet | Widget | Exoplayer

Notifications You must be signed in to change notification settings

mooocer/baking_app

Repository files navigation

Baking Recipes

Project Overview

I productionized an app, taking it from a functional state to a production-ready state. This involved finding and handling error cases, adding accessibility features, allowing for localization, adding a widget, and adding a library.

Screenshots

Used Libraries

Why this Project?

Working Android developers often have to create and implement apps where they are responsible for designing and planning the steps they need to take to create a production-ready app. Unlike Popular Movies where Udacity gave me an implementation guide, it was left up to me to figure things out for the Baking App.

What did I Learn?

In this project I learnt to:

  • Use MediaPlayer/Exoplayer to display videos.
  • Handle error cases in Android.
  • Add a widget to your app experience.
  • Leverage a third-party library in your app.
  • Use Fragments to create a responsive design that works on phones and tablets.

Rubric

(My project had to meet all rubric specifications in order to get accepted)

General App Usage

  • App should display recipes from provided network resource.
  • App should allow navigation between individual recipes and recipe steps.
  • App uses RecyclerView and can handle recipe steps that include videos or images.
  • App conforms to common standards found in the Android Nanodegree General Project Guidelines.

Components and Libraries

  • Application uses Master Detail Flow to display recipe steps and navigation between them.
  • Application uses Exoplayer to display videos.
  • Application properly initializes and releases video assets when appropriate.
  • Application should properly retrieve media assets from the provided network links. It should properly handle network requests.
  • Application makes use of Espresso to test aspects of the UI.
  • Application sensibly utilizes a third-party library to enhance the app's features. That could be helper library to interface with Content Providers if you choose to store the recipes, a UI binding library to avoid writing findViewById a bunch of times, or something similar.

Homescreen Widget

  • Application has a companion homescreen widget.
  • Widget displays ingredient list for desired recipe.

Releases

No releases published

Packages

No packages published

Languages