CarFilteringApp
Simple app that queries a list of cars, displays it in a RecyclerView and allows the user to sort it by three factors: Distance, Plate Number & Battery Remaining.
Tasks
- Display cars in a list.
- Add a button to sort cars by distance from user
- Create filter for cars (by plate number & battery)
- Dagger
- MVVM
- Unit/UI tests
- Rx
Libraries Used
- Google Play Services Locations
- Material
- Navigation Architecture Component
- Coil
- RxPermission
- RxLocation
- Dagger 2
- Retrofit
- And others...
Future
What could've been done better | How it could've been done better |
---|---|
Improve design and XML code | Add styles & selectors for ViewHolder states |
Implement Responsive Error handling for RecyclerView | Define Sealed classes for three states: (Failure, Loading, Success) |
Create a map with Car markers on it | Create a new fragment with Google Map to which you could navigate by using BottomNavView |
Receive more accurate distance between user and the car | By using Distance Matrix API it is possible to receive information about distance and journey time to specified location |
Replace sorting of battery remaining to filtering | Add a slider that hides cars in relation to the slider threshold (could be located in BottomSheetDialogFragment) |