An open API service indexing awesome lists of open source software.

https://github.com/malekkamel/udacity-shoe-store


https://github.com/malekkamel/udacity-shoe-store

Last synced: 7 months ago
JSON representation

Awesome Lists containing this project

README

          

# The Shoe Store

This project will consist of five screens. You don't have to create a shoe store, you can use any other item as long as you create the following screens. You will be creating:

1. Login screen: Email and password fields and labels plus create and login buttons
2. Welcome onboarding screen
3. Instructions onboarding screen
4. Shoe Listing screen
5. Shoe Detail screen for adding a new shoe

## Getting Started

Open the starter project in the latest stable version of Android Studio.

Open the starter project in Android Studio

##Steps

1. Open the starter project in Android Studio

2. Add the navigation libraries to the app build.gradle file

3. Add the safe-arg plugin to the main and app build.gradle file

4. Create a new navigation xml file

5. Create a new Login destination.

* Include email and password labels

- Include email and password fields
- Create buttons for creating a new login and logging in with an existing account
- Clicking either button should navigate to the Welcome Screen.

6. Create a new Welcome screen destination that includes:

* A new layout
* At least 2 textviews
* A navigation button with actions to navigate to the instructions screen

7. Create a new Instruction destination that includes:

* A new layout
* At least 2 textviews
* A navigation button with actions to navigate to the shoe list screen

8. Create a class that extends ViewModel

* Use a LiveData field that returns the list of shoes

9. Create a new Shoe List destination that includes:

* A new layout
* A ScrollView
* A LinearLayout for Shoe Items
* A FloatingActionButton with an action to navigate to the shoe detail screen

10. In MainActivity, setup the nav controller with the toolbar and an AppBarConfiguration.

11. Create a new Shoe Detail destination that includes:

* A new layout
* A TextView label and EditView for the
* Shoe Name
* Company
* Shoe Size
* Description
* A Cancel button with an action to navigate back to the shoe list screen
* A Save button with an action to navigate back to the shoe list screen and add a new Shoe to the Shoe View Model

12. Make sure you can’t go back to onboarding screens

13. In the Shoe List screen:

* Use an Activity level ViewModel to hold a list of Shoes (use by activityViewModels)
* Observe the shoes variable from the ViewModel
* Use DataBindingUtil to inflate the shoe_list layout
* Add a new layout item into the scrollview for each shoe.