Skip to content

TefiC/Baking-App-Project-3-Udacity

Repository files navigation

Baking App

Project 3 | Udacity Android Developer Nanodegree


A Baking App that displays recipes and resources provided by Udacity on this link.


Features


  • When the user first launches the app, available recipes will load. (If the device is a phone, they will display on a single column. Else if it's a tablet, they will display in two columns). Each recipe will display an image, its name and number of servings.

  • The user can swipe to the left to access the "Favorites" tab. If the user has previously selected favorite recipes, they will appear on this tab. Else, if the user has not selected any favorite recipes, a screen with a message will be displayed.

  • If the user clicks on a recipe, he/she will be taken to a details screen (if the device is a phone, a list of the recipe steps will be displayed. If it's a tablet, a details screen will be displayed with the list of steps on the left and the recipe ingredients (by default) on the right).

  • If the user is on a phone and clicks on a step, he/she will be taken to an activity where he/she can navigate through the steps by swiping to change tabs or clicking on the desired tab.

  • The ingredients screen will display the recipe image and a list of the ingredients, its quantity and unit.

  • Each step will display a video using ExoPlayer or if there is no video available, an image. If none of these are available, a placeholder image will be displayed. Additionally, a description of the step will be displayed.

  • The video can be toggled from full screen mode back to normal mode and vice versa.

  • To select a favorite recipe, the user must click on the heart icon on the top right corner of the details screen. An empty heart means that the recipe is not selected as favorite and a full heart means that the recipe has been selected as favorite.


Widget


  • The user can add a widget to the homescreen that will display the recipe's name, image, servings and a scrollable list of ingredients with their quantity and units.

  • The user can select a recipe to display on a widget by clicking on the overflow menu at the top right corner of the screen and checking the "Add to widget" option.

  • The user can toggle between an empty widget and a recipe to be displayed on the home screen widget.

  • If the user selects another recipe for the widget, it will automatically be updated.

  • All widgets will be updated with the same recipe data.

  • The widget is resizable horizontally.


Testing


  • Tests are divided into Test Suites. A test suite for phones, a test suite for tablets and a test suite with general tests.

  • UI Testing uses the Espresso library .


Handling various scenarios


  • If there is no internet connection, a dialog will be displayed warning the user to reconnect. If the user had loaded data previously, it the app will retain it and the user will be able to access the elements that don't require internet connection.

Atttributions


These were very helpful resources from which I found inspiration for elements in my code:

Images from Pixabay


About

Project 3 for Udacity's Android Developer Nanodegree

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages