Skip to content

pabloper/albums

Repository files navigation

Albums

The two things well solved are MvvM reactive architecture together with a Dependency Injection.

Because of time constraints there are a series of things that I couldn't solve but I am aware of. If I had to pick only 2: From the usability perspective there is no mechanism to recover from network errors, and the user would need to resume/kill the app From the architecture perspective there is no domain layer and network services are directly used in view models.

But from a production ready app I am missing the following features or architectural changes:

  • Add mechanism to recover from network errors (Swipe refresh layout?)
  • Proper domain layer, don't use the network service directly in the view model
  • Division between network/ui models (mappers). Add types for Ids -> AlbumId.
  • Repository layer (offline storage?), possible easy win add network cache to Retrofit
  • Integrate MvvM with live data to keep the ui state
  • Unit tests for all non framework non model classes. Configure RX java test schedulers.
  • Navigator (or navigator component from architecture components)
  • Standardize view dimensions (margins, element sizes, colors)
  • Add touch feedback to list elements
  • Move some hardcoded strings to constants like fragment tags or the generic fragment id
  • Network errors ui layer generic error display
  • Beautify the app following material design guidelines

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages