ExhibitApp is a sample exhibit android application 📱 The project was done in 2 hrs ⏰
It simply loads Phones data from API and shows it. Phones will be always loaded from remote (from API). Dummy API is used in this app. JSON response is statically hosted here
-
Kotlin - First class and official programming language for Android development.
-
Coroutines - For asynchronous and more.
-
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.
- ViewBinding - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
-
Dependency Injection - Not used in app just provided fake functions in ApiFactory
-
Retrofit - A type-safe HTTP client for Android and Java.
Following Linters are used internally by super linter (enabled for this project):
com.uran.exhibitapp # App Module
.
├── ui # Store Activity/View layer, VM, and adapters, etc.
│ ├── exhibit # Home Screen of app
└── util # Utility Classes / Kotlin extensions
.
com.uran.model # Models and Interface Module
.
com.uran.restexhibitsloader # Loader Module
.
└── network # Remote services && Retrofit API for remote end point