Run Challenge
Run Challenge is a Realtime-running application. The goal is to allows up to 4 people to run a 2 kilometer dash against eachother.
This project is a rewrite of a protoype that was highly unstable and was using unencrypted traffic.
TODO
-
Networking
-
De/Serlization
-
Encryption & Decryption
-
Game logic
- Finite state machine (ready -> running -> finished) (Working on)
-
GPS foreground service - implmenet async pushing updates
- Update going from react to using co-routines (RxJava was a bit overkill, like killing an insect with a bazzoka) (Working on)
-
Game Views
-
Sign in & Sign out
-
Simple Home View
-
Prefernces
-
Day Night Theme support
Toolkit
This project relies on amazing libaries used in the android community such as
-
Android Jetpack - Jetpack is a suite of libraries, tools, and guidance to help developers write high-quality apps easier.
-
Architecture Components - Classes for managing your UI component lifecycle and handling data persistence (part of jetpack)
-
Google play services - (used for Fused-location for tacking movement and Realtime-client networking)
-
Dagger 2 - Depenency injection
-
Coroutines - Kotlin async library
-
Kotlin serialization - reflection less serilzation. (using protobuf)