Skip to content

Top Scorers is an Android application developed in Kotlin which It utilizes various modern technologies such as : MVVM Clean Architecture, Hilt, Retrofit, Coroutine, Flow, Espresso, Mockito

Notifications You must be signed in to change notification settings

reza-mahmoudimehran/TopScorers

Repository files navigation

Top Scorers Android Project

This Android project template is built using the following technologies:

  • MVVM (Model-View-ViewModel) architectural pattern
  • Clean Architecture
  • Hilt for dependency injection
  • Coroutines for asynchronous programming
  • MockFit for mock server responses
  • Retrofit for networking
  • Jackson for JSON parsing
  • Espresso for UI testing
  • Mockito for mocking dependencies
  • Truth for assertions
  • Data Binding for UI binding

Project Structure

The project follows the Clean Architecture principles, organizing code into layers:

  • app: Contains the main Android application module.
  • data: Implements the data layer, including repositories, data sources, and models.
  • domain: Defines the business logic layer, including use cases and domain models.
  • presentation: Implements the presentation layer, including ViewModels, UI components, and data binding.

Dependency Injection

Hilt is used for dependency injection, providing a simple and efficient way to manage dependencies throughout the application. The use of Hilt ensures a modular and testable codebase.

Asynchronous Programming

Coroutines are utilized for handling asynchronous operations in a concise and efficient manner. Coroutines simplify the code by providing structured concurrency and allowing developers to write asynchronous code in a sequential style.

Network Communication

Retrofit is employed for handling network communication, providing a robust and flexible framework for making API requests. Jackson is used for JSON parsing, ensuring efficient and reliable serialization and deserialization of data, and MockFit is used to mock server responses.

Mocking and Testing

Espresso is utilized for UI testing, Mockito for mocking dependencies, and Truth for expressive assertions.

Data Binding

Data Binding is integrated to bind UI components directly to data sources, reducing boilerplate code and enhancing the separation of concerns between the UI and the underlying data.

About

Top Scorers is an Android application developed in Kotlin which It utilizes various modern technologies such as : MVVM Clean Architecture, Hilt, Retrofit, Coroutine, Flow, Espresso, Mockito

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages