TeamTrack is an open-source mobile application for outdoor events with a need to track the distance covered by their members. Users can adhere to groups and see in real-time their distance and that of their group and of the event.
TeamTrack is a fullstack javascript application based upon the following stack:
Concern | Solution |
---|---|
Server | Node 9.5 |
Server Framework | Express |
Database | RethinkDB |
Data Transport | GraphQL |
Client State | Redux |
Client Data Cache | Apollo |
Mobile Framework | React Native |
TeamTrack is coded using ECMAscript ES6/7 (including async/await). Transpilation is provided by babel.
TeamTrack's backend is fully dockerized, from dev to prod.
You will need to install yarn which can be installed by running npm install -g yarn
.
TeamTrack requires Node.js >=8.5.0 (I'm using 8.5.0 in development). and it also depends on RethinkDB. However those dependencies are hidden via docker.
$ git clone https://github.com/jo-va/team-track.git
$ cd team-track
$ yarn deploy:dev
Make sure you have an emulator or a connected device.
$ cd mobile
$ yarn
$ react-native upgrade
$ react-native link
Set android:windowSoftInputMode="adjustPan" in AndroidManifest.xml.
$ react-native run-android
To generate the release APK:
$ cd android && ./gradlew assembleRelease
$ react-native run-ios
During development, the use of react-native-debugger is suggested.