Team-Locator is a mobile app developed using Python Kivy framework. The app improves coordination of outdoor games by displaying participants' locations.
There is only android version, no iOS one, sorry.
App is compiled via Buildozer and is using a legacy Mapview library directly imported into project.
Run python server.py
on a computer connected to the network, that has port 5050
opened. Read more in the Server section.
Install teamlocator.apk
, then launch app. Allow it to access device's location - without it You won't be able to use Team-Locator.
IP address - IP address of the server.
Nickname - username that will be displayed on the map.
Team / Host code - token for team obtained from Host or a special Host token for game supervisor.
There are 2 types of users:
It is advised for the Host to have access to the server (eg. using Thermux ssh).
Host is the supervisor of the game. Host manages the game, creates required number of teams (1-10), starts/ends game and provides tokens to teams. This person is also the only one able to see all players on the map while having the ability to share own location with everyone or remain transparent.
- To become host, one must provide special token obtained form server's console after startup. The default token is
/00/
and is hardcoded in theserver.py
(You are free to change it any time). After filling all inputs the Host can useHost Game
button.
IMPORTANT: If pressing Connect/Host Game buttons doesn't navigate you to another screen it means you couldn't connect to the server. Whether IP and Password is incorrect or port 5050 is closed on server's computer. - Now you can choose whether You want to be visible (
Host widoczny
) and adjust number of teams. Colors of teams' names correspond to their pins on map. It is worth noting that the Host is always black. - Now click
connect
. - After landing on the map go to
Codes
(top left) and provide one token for each team. Each game generates new tokens. - To finish the game go to the
Stop
(top right). You will be asked to confirm. AfterYes
, the Host and all players will be redirected to the main screen.
Players can only see their teammates on map. After receiving token from Host just click Connect Game
.
Server is the core and allows mobile devices with Team-Locator to exchange data about location. Server (server.py
) must be running on a computer with an internet connection and port 5050
opened for global traffic. (Therefore, we recommend running it on some kind of VM server - we used DigitalOcean's droplet with Linux). Script can be run like any Python script, because it relies only on the standard library. Remeber, that you can always access these kind of servers from your phone, using ssh (Thermux is awesome for that!)
Run server: python server.py
(be sure to use python 3.x).
Custom host code: python server.py abcd
(then host code is "abcd").
Stop server: Ctrl + C
in server's console.
Server can handle multpile games but not at the same time. You can run it once and forget about it. Everything else can be configured from app's level.
Poor quality of gifs is an outcome of very large video files. App itself is very lightweight.
You don't stop being game supervisor after leaving and reentering the game.
Jakub Solecki |
Patryk Skupień |