Skip to content

sku0x20/AtmanaTodoApp

Repository files navigation

AtmanaTodoApp

check

Assignment Project.
It has two screens, one for Remote Data, which we cannot add or edit. And another screen which contains local data.
Room is used for storing data locally.
Since, I am in love with TDD, you can know more by looking at the code. It can answer better than me :)

atmana-todo.mp4

Features

  • Pagination. i.e. automatically load data at reaching end
  • Progress Bar when loading
  • Automatically Refresh when local data is Added or Edited.
  • Uses Coroutines, following Structured Concurrency Principles
  • Uses Flow, instead of relying on LiveData Android dependency
  • Good Coverage with End To End, Integration and Unit Tests
  • Material.io guide/components for Ui
  • Github Actions CI

Architecture

  • MVVM
  • Test Driven Development (TDD)
  • Emergent/Evolutionary/Incremental Design
  • Patterns applied as code asks, rather than forcing them
  • SOLID, DRY, KISS and YAGNI(now)

Dependency Injection

  • Hilt

Libraries

  • Android Jetpack Libraries
    • Room
    • Navigation
    • DataBinding
  • Kotlin
    • Flow
    • Coroutine
  • Third Party
    • Retrofit
    • GSON

Tests

  • mockito
  • Junit
  • Espresso
  • kotlinx-coroutines-test
  • mockwebserver

More Info

see scratchpad.txt

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published