Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
App Screens
Sample Mocks
app
gradle/wrapper
.gitignore
LICENSE
README.md
_config.yml
build.gradle
gradle.properties
gradlew
gradlew.bat
settings.gradle

README.md

Baking App

Udacity Android Developer Nanodegree Project# 4

Project Overview

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

Why this Project?

As a working Android developer, you often have to create and implement apps where you are responsible for designing and planning the steps you need to take to create a production-ready app. Unlike Popular Movies where we gave you an implementation guide, it will be up to you to figure things out for the Baking App.

What Will I Learn?

In this project you will:

  • 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.

App Description

Your task is to create a Android Baking App that will allow Udacity’s resident baker-in-chief, Miriam, to share her recipes with the world. You will create an app that will allow a user to select a recipe and see video-guided steps for how to complete it.

The JSON file contains the recipes' instructions, ingredients, videos and images you will need to complete this project. Don’t assume that all steps of the recipe have a video. Some may have a video, an image, or no visual media at all.

One of the skills you will demonstrate in this project is how to handle unexpected input in your data -- professional developers often cannot expect polished JSON data when building an app.

Sample Mocks

Here are some sample mocks that you can refer to as you build your app. Make sure your app functions properly on tablet devices as well as phones.

Select a Recipe - Portrait (Phone)

Select a Recipe - Portrait (Phone)

Select Recipe Detail View - Portrait (Phone)

Note that these step views are not necessarily cards. Be aware that over "cardifying" can make information hard to scan (Material Design guidelines).

Select Recipe Detail View - Portrait (Phone)

Select Recipe Step Detail View - Portrait (Phone)

Select Recipe Step Detail View - Portrait (Phone)

Select Recipe Step Detail View - Landscape (Phone)

Select Recipe Step Detail View - Landscape (Phone)

Select a Recipe (Tablet)

Select a Recipe (Tablet)

Select and View Recipe Step Detail (Tablet)

Select and View Recipe Step Detail (Tablet)


Project Review

You did Good job 👍 , and I can see all your good effort in the project . I have left few suggestions which will make your future apps outstanding. Keep the good work. All the best

Common Project Requirements

✔️ App is written solely in the Java Programming Language
✔️ App utilizes stable release versions of all libraries, Gradle, and Android Studio.

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 ContentProviders 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.

App Screens

Select a Recipe - Portrait (Phone)

Select a Recipe - Portrait (Phone)

Select Recipe Detail View - Portrait (Phone)

Select Recipe Detail View - Portrait (Phone)

Select Recipe Step Detail View - Portrait (Phone)

Select Recipe Step Detail View - Portrait (Phone)

Select Recipe Step Detail View - Landscape (Phone)

Select Recipe Step Detail View - Landscape (Phone)

Select a Recipe (Tablet)

Select a Recipe (Tablet)

Select and View Recipe Step Detail (Tablet)

Select and View Recipe Step Detail (Tablet)

You can’t perform that action at this time.