Skip to content

mbarta/scr-redesign

Repository files navigation

Smart Contact Reminder redesign

Redesign of the contact screen and contact detail screen for Smart Contact Reminder app inspired by design by Yaroslav Zubko.

The original app is available from Google Play and project website.

App Architecture

Data

The network API is simulated by the FakeApi class with returns static data with a random delay. The repositories (ContactCategoryRepository and ContactPersonRepository) communicate directly with the API, obtain the data requested as DTOs and map them to Entities used within the domain layer.

Domain

In our very simple sample app, there's almost no business logic. The mappers map DTOs to Entities 1:1. However, a more complex application would require more advanced mapping of DTOs. It would also use UseCases for encapsulating and reusing of business logic.

Presentation

The sample app uses Activites and Fragments as basic UI screen elements. JetPack ViewModels are used for keeping state between configuration changes and directly communicate with Repositories. View state is represented by LiveData which is observed by the View component.

Other

  • Kotlin programming language
  • dependency injection implemented using Hilt
  • ASYNC operations implemented using Kotlin Coroutines

Design Features

  • custom view for drawing AppBar background
  • customised TabLayout appearance, animations
  • shared elements activity transitions
  • custom CoordinatorLayout behaviours for background view and FAB
  • material design components, view animations

Sample APK

Available in sample_apk directory in this repository or directly from this link (minSDK 21).

Screenshots

Contact list Contact detail

App Demo

App demo

About

Smart Contact Reminder redesign

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages