Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Assignment: MVVM Refactor #4

Open
safaorhan opened this issue May 24, 2021 · 1 comment
Open

Assignment: MVVM Refactor #4

safaorhan opened this issue May 24, 2021 · 1 comment

Comments

@safaorhan
Copy link
Owner

Background

In the last lectures we've refactored most of our app into MVVM structure using ViewModel + LiveData + Data Binding libraries.

However the screens / features you are responsible with (signup, related products, circular progress indicators, etc. ) and some parts we couldn't find time to migrate (ProductAdapter to Data Binding), still use the old programmatic approach instead of declarative / reactive approach.

You need to migrate everything into MVVM in this assignment.

Todo

  • Move Signup screen into MVVM pattern
  • Move Related products feature into MVVM pattern
  • Move all the logic that's not covered by my migration (showing circular progress indicators, checking jwtStore and opening product list if user logged in, your bonus features etc.)to MVVM pattern
  • Move ProductAdapter into Data Binding
  • Remove viewBinding true from gradle and disable view binding.
  • Remove tools:viewBindingIgnore="true" from layout files since it will be unnecessary after disabling view binding.

Some Reminders on Code Style

  • Please use Kotlin / Android Style Guide to check how to name your variables, format your code and use whitespace in your code.
  • Make sure auto-format and optimize imports are enabled before commit so that you never commit malformed code.
  • Don't include any unnecessary comments, comments in Turkish or commented-out code in your codebase.
  • Try to break down your code into meaningful functions and try to name variables properly and clearly.

Some Notes

  • When working on this assignment you are recommended to follow this strategy:
    • Use safaorhan/succulent-shop as a base and move all differences from your previous assignment(s) into it converting them into MVVM
    • Do additional stuff, double check if everything works.

Important:

  • Please do a manual testing session to see if there are any bugs in your code before you finish working on the assignment.
  • Please compare your screens with the design to see if they look the same.
  • Please do a code-review yourself after you think you are done with the assignment.
@safaorhan
Copy link
Owner Author

Github Classroom Link: https://classroom.github.com/a/ckLA30Qs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant