Jobs App is a sample Android application 📱 showing IT jobs of the world 👓 built to demonstrate use of Modern Android development tools. Dedicated to all Android Developers with ❤️.
It simply loads IT Jobs data from API.
- Clean and Simple Material UI.
- Clean and Simple Architecture(MVVM).
It simply loads Jobs data from API. Jobs will be always loaded from Remote data (from API).
- Handle Network State Changes
- Clean and Simple Material UI.
- Clean and Simple Architecture(MVVM).
- This makes it offline capable.
- Pagination
- Unit test/Integrated Testing
Dummy API is used in this app. JSON response is statically hosted here.
This app uses MVVM (Model View View-Model) architecture.
- Kotlin - First class and official programming language for Android development.
- Coroutines - For asynchronous and more..
- Flow - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
- Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
- StateView - Flow APIs that enable flows to optimally emit state updates and emit values to multiple consumers.
- ViewModel - Stores UI-related data that isn't destroyed on UI changes.
- DataBinding - that allows you to bind UI components in your layouts to data sources in your app using a declarative format rather than programmatically.
- Room - SQLite object mapping library.
- Dependency Injection -
Koin
DI Version 🗡️
- Retrofit - A type-safe HTTP client for Android and Java.
- Moshi - A modern JSON library for Kotlin and Java.
- Moshi Converter - A Converter which uses Moshi for serialization to and from JSON.
- Glide - An image loading library for Android backed by Kotlin Coroutines.
- Material Components for Android - Modular and customizable Material Design UI components for Android.
- Jobs will be always loaded from local database. Remote data (from API) and Local data is always synchronized.
- Try with Hilt-Dagger - Standard library to incorporate Dagger dependency injection into an Android application.
Support it by joining stargazers for this repository. ⭐
And follow me for my next creations
Contributed By: islam elhady