A simple Android project created for practicing Machine Coding Round assignments. It demonstrates clean architecture, MVVM pattern, and usage of Jetpack libraries with Kotlin.
- Kotlin β Programming Language
- MVVM Architecture β separation of concerns
- ViewModel & Flows β Lifecycle-aware data handling
- Jetpack Compose β Modern declarative UI toolkit
- Coroutines β For background operations
- Hilt (Dagger) β Dependency Injection
- Retrofit β API calls
- Gson β JSON parsing
- Fetches and displays data from API (Cat Breeds / Quotes etc.)
- Example of UI State Management using sealed classes
- Navigation Component integration with Compose
- Clean Repository + ViewModel flow for network requests
- Error and loading state handling
com.example.machinecodingroundsample
β
βββ data
β βββ model # Data classes
β βββ network # Retrofit API service
β βββ repository # Repository layer
β
βββ di # Hilt modules
βββ ui
β βββ view # Compose UI Screens
β βββ viewmodel # ViewModels
β
βββ utils # Utility classes / helpers
- Clone this repository
git clone https://github.com/richarst12/MachineCodingRoundsample.git
- Open in Android Studio (latest version recommended)
- Sync Gradle & run the app on an emulator or device
- Add pagination for loading
- MVVM Clean
- Pull-to-refresh support on Home screen
- Offline caching using Room
- Unit and UI tests
Richa Sharma | Android Engineer | Medium Blogger π LinkedIn π Medium