Skip to content

madar soft task using room clean clean architecture and dependency injection framework using dagger-hilt and coroutines for managing threads and navigation component . and make unit test of search use case and mocking the room

Notifications You must be signed in to change notification settings

alisamy10/MadarSoftTask

Repository files navigation

MadarSoftTask

madar soft task using room clean clean architecture and dependency injection framework using dagger-hilt and coroutines for managing threads and navigation component . and make unit test of search use case and mocking the room

Architecture

I choose to use MVVM (Model-View-ViewModel) as my project architecture in order to provide a cleaner code, with clear separation between the view, the data and the business logic. The following diagram shows all the modules and how each module interact with one another after. This architecture using a layered software architecture. 68747470733a2f2f646576656c6f7065722e616e64726f69642e636f6d2f746f7069632f6c69627261726965732f6172636869746563747572652f696d616765732f66696e616c2d6172636869746563747572652e706e67

Built With 🛠

  • Kotlin - official programming language for Android development .
  • Coroutines - for asynchronous programming .
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
    • LiveData - Data objects that notify views when the underlying database changes.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
    • Room - Access your app's SQLite database with in-app objects and compile-time checks.
    • Navigation -
  • dagger-hilt - Dependency Injection Framework (Kotlin).
  • Fragment
  • [unit testing]

About

madar soft task using room clean clean architecture and dependency injection framework using dagger-hilt and coroutines for managing threads and navigation component . and make unit test of search use case and mocking the room

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages