I made AhmCric to solve the problem of failing to remember wins and losses every time I played cricket with friends during the lockdowns (our gatherings were within the max capacity). AhmCric is a multi-screen (uses fragments) android app that lets me locally store the names of my friends and their wins, losses, draws and calculate win/loss ratio. It uses RoomDB which is an abstraction of SQlite. Additionally, the user can randomly generate two cricket teams (another problem we struggled with) and share/exchange their roster and stats with any users around the world using Firebase’s Real-time Database.
- I implemented a database with RoomDB, SQlite and Kotlin coroutines to make asynchronous and efficient queries on the background thread
- I leveraged the MVVM design pattern by having a ViewModel component that acted as the intermediary between the UI and the business logic
- I created a comprehensive UI/UX making use of RecyclerViews, CardViews, TextViews, Alert dialogs, Toasts, Buttons and Fragments for the layout
- I enabled user-to-user sharing of data by integrating the app with Firebase Real-time Database
- I published the app on Google Play