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.
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
viewBinding true
from gradle and disable view binding.tools:viewBindingIgnore="true"
from layout files since it will be unnecessary after disabling view binding.Some Reminders on Code Style
Some Notes
safaorhan/succulent-shop
as a base and move all differences from your previous assignment(s) into it converting them into MVVMImportant: