Skip to content

Latest commit

 

History

History
71 lines (52 loc) · 3.79 KB

README.md

File metadata and controls

71 lines (52 loc) · 3.79 KB

codecov License Codacy Badge

HateItOrRateIt

This application offers a straightforward way to keep track of products you like or dislike. It allows you to easily upload photos, names, descriptions, and store information, enabling you to make informed decisions about future purchases.

Install

Why This App Can Be Helpful

There are times when you purchase a product that you either like or dislike, only to realize later that you can't remember its name. This is particularly true for items like cheese, ham, etc., where there are countless variations and it's challenging to keep up with all the names. This app aims to solve that problem, enabling you to recall the exact product the next time you need it.

Screen_Recording_20240411_133915_Hate.Rate.mp4
drawing drawing
drawing drawing
drawing drawing

Codecov Graph

https://codecov.io/gh/Grigoriym/HateItOrRateIt/graphs/tree.svg?token=EPFJKZ1EJ7

This app offers

  1. Day/Night theme
  2. Language change: en, de, fr
  3. On/off crashlytics, analytics

TODOs

  1. Create some sort of synchronization
  2. Make the possibility to change the view type in the List (small tiles, big product tile)
  3. Kotest? Jacoco is just fine
  4. Privacy Policy
  5. Day night theme selector
  6. Languages selector
  7. Stubs for debug analytics
  8. Check for app updates
  9. StrictMode
  10. Add version in settings

Learnings

  1. No need to pass data to viewModel by hand. SavedStateHandle can do all the work
  2. Android Navigation does not support nullable Long values. More info here

Bugs

  1. Being in details, fast double click on back button -> empty screen | Solved by using safeClick extensions function
  2. In the screen where we add a product, add couple of images, swipe to the first image, change configuration, we are moved to the last image | Fixed by using firstRecomposition variable.
  3. What happens with the page indicator in Pager if we add many images?
  4. In add/details screen, click any textField, close keyboard, add image from gallery -> why the keyboard is shown?
  5. Bottom Nav Bar has some (8.dp) line at the top
  6. DarkMode Preferences click area