This game is an inspiration from Drawize like games where users guess the sketches of each other. It has been created using Kotlin Compose Multiplatform, runs on both Android and iOS - all code has been written in Kotlin 💜 Uses sockets for the interaction between multiple players.
BE has been hosted on Heroku, feel free to play on your devices/simulators. If you want to check the source code of backend, you can find it here.
- Decompose - For navigation management
- Ktor - For REST calls and sockets
- Koin - Dependency Injection
- Multiplatform Settings - Saves key-value data to disk
- Napier - For logging
- Accurate synchronization of events between players.
- Canvas drawing should have compatible mapping across different device sizes.
- More robust error handling - since sockets have loads of cases to manage. I have focused on happy flows and handled disconnectivity issues.
- Use a design pattern like MVI