Simple Android Application written in Kotlin. This project follows Clean Architecture with MVVM with Clean Architecture Design
Project consist of One Activity and 3 Fragments
- Home Fragment -> show list of the Menus Item
- Order Fragment -> show list of the item selected for order
- Dashboard Fragment -> Will do setup for user profile (Coming Soon)
- Kotlin - First class and official programming language for Android development.
- Kotlin Coroutine - 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.
- Navigation Component - Used it for the navigation from one fragment to another fragments
- Dependency Injection
- Dagger2 - Standard library to incorporate Dagger dependency injection into an Android application.
- Retrofit - A type-safe HTTP client for Android and Java.
- Glide - Used for loading images
- Material Components for Android - Modular and customizable Material Design UI components for Android.
- Timber -Used for loggging
- Junit - For Unit Testing
- Mockk - For mocking in Unit Testing
Diagram
folder contain App Architecture and design pattern structure diagrams
Screenshot
folder contain the app screenshots
core/
: contains the common functionsdata/
: contains the code to access to the data (repository pattern)domain/
: contains the business logic and the usecasesapp
: Presentation layer, contains the UI
for the simplicity of this project many things have been kept simple like
- ErrorHandling,
- Design of the app is also kept sample and can be improved much more
- write more test case and improve the UI design
comments are written with the function that what it will do.
also TODO are given in the area which we can improve more.