Skip to content

MhmdIbrahim1/ShoesStore_NewVersion

Repository files navigation

ShoesStore App

ShoesIn

This App has been developed as part of the Udacity Android Kotlin Developer Nanodegree Course for the Exercise Project "Shoe Store app". In this project I applyed my skills in building layouts and navigation files by building a Shoe Store app. The app is building with 6 screens:

  • Login
  • Regiester
  • Welcome
  • Instruction
  • Shoe list
  • Shoe detail
Login Register Welcome screen
Login reg Welcome
Instruction Screen List Add
instruction list add
Search by name Menu deleteAll
search menu d

Rubric followed for the Project

Code Quality

  • Correctly use ViewModel and LiveData lifecycle classes and Room Database in an Android app -

    • The Detail screen needs to add the new item to the view model. The listing screen should be listening to that model and show the new item.
  • Correctly implement Single Activity architecture

    • There should only be one activity: MainActivity. Each screen should be a fragment.
  • Write error-free code

    • The project's code is error-free.

Layouts

  • Create layouts using the correct ViewGroups and Views in an Android app.

    • The project correctly implements LinearLayout and ConstraintLayout to match the complexity of the layout of a page. Using code comments, the project justifies the use of ConstraintLayout or LinearLayout
  • Apply Databinding in Layouts to show the correct data to users in multiple layouts.

    1. All layouts will use the tag to support Databinding.
    2. Detail screen uses the element.
    3. Databinding is set to the appropriate setting in the app build.gradle file
  • Correctly use the and elements within the layout.

    • The detail layout contains an element with the name of the variable and the class associated with it.
      • All EditViews correctly refer to created class variable
  • Create a multi-screened Android Application using Android widgets.

    • The app contains at least 5 screens.
    • The app contains correctly laid-out labels and edit fields for each screen.
    • The app contains button positioned below the text fields
  • List screen uses RecuclerView for showing a list of items Creates a layout for the item.

    1. A new item layout is created for each item
    2. New item layout is added to LinearLayout
    3. Layout is updated with items added on the detail screen

Navigation

  • Create a navigation file that correctly takes a user from one page to the next in an Android app

    • The app needs to traverse the following screens in the correct order:
      • Login
      • Regiester
      • Welcome
      • Instructions screen
      • Listing screen
      • Detail screens The app should also be able to navigate back via the back arrow or the back button.
      • A navigation file has been created that defines a start destination.
      • All destinations have a fragment, label and action associated with it
  • Use Databinding for click listeners on a navigation screen in an Android app.

    1. All code will use the DataBindingUtil class to inflate the layout.
    2. All click listeners are connected via the DataBindingUtil class and uses the NavController to navigate to the next screen.
  • Create a Logout menu to return to the Login screen.

    • This menu will appear only on the Shoe Listing screen and will return the user to the login screen

About

New Version with new UI\UX

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages