This is a web application for real-time collection of geolocation data, tracks viewing and management. Together with a dedicated μlogger mobile client it may be used as a complete self hosted server–client solution for logging and monitoring users' geolocation.
- http://ulogger-demo.herokuapp.com (test track upload with Android app and editing, login: demo, password: demo)
- PHP 5.5 (5.4 with password_compat)
- MySQL, PostgreSQL or SQLite (over PDO driver)
- browser with javascript enabled, cookies for authentication and saving preferences
- simple
- allows live tracking
- track statistics
- altitudes graph
- multiple users
- user authentication
- Google Maps
- OpenLayers (OpenStreet and other layers)
- ajax
- user preferences stored in cookies
- simple admin menu
- export tracks to gpx and kml
- import tracks from gpx
- Download zipped archive or clone the repository on your computer
- Move it to your web server directory (unzip if needed)
- Create database and database user (at least SELECT, INSERT, UPDATE, DELETE privileges, CREATE, DROP for setup script)
- Create a copy of
config.default.php
and rename it toconfig.php
. Customize it and add database credentials - Edit
scripts/setup.php
script, enable it by setting $enabled value totrue
- Make sure you have a web server running with PHP and chosen database
- Open http://YOUR_HOST/ulogger-server/scripts/setup.php page in your browser
- Follow instructions in setup script. It will add database tables and set up your μlogger user
- Remember to remove or disable
scripts/setup.php
script - Log in with your new user on http://YOUR_HOST/ulogger-server/
- You may also want to set your new user as an admin in config file.
- Folders
.docker/
and.tests/
as well as composer files are needed only for development. May be safely removed.
- Run
docker run --name ulogger -p 8080:80 -d bfabiszewski/ulogger
and accesshttp://localhost:8080
in your browser. Log in withadmin
:admin
credentials and change default password. - Optional configuration options with ENV variables, for list see Dockerfile. The variables correspond to main μlogger configuration parameteres.
- For example:
docker run --name ulogger -e ULOGGER_LANG="pl" -p 8080:80 -d bfabiszewski/ulogger
. - You may also build the image yourself. Run
docker build .
from the root folder whereDockerfile
reside. There are optional build-time arguments that allow you to set default database passwords for root and ulogger users. - For example:
docker build --build-arg DB_ROOT_PASS=secret1 --build-arg DB_USER_PASS=secret2 --build-arg DB_DRIVER=sqlite .
.
- Install tests dependecies.
composer install
- Integration tests may be run against docker image. We need exposed http and optionally database ports (eg. mapped to localhost 8080 and 8081). Below example for MySQL setup.
docker build -t ulogger .
docker run -d --name ulogger -p 8080:80 -p 8081:3306 --expose 3306 ulogger
- Use environment variables (or create
.env
file in.tests/
folder) to set up connection details (below database credentials are docker defaults)DB_DSN="mysql:host=127.0.0.1;port=8081;dbname=ulogger;charset=utf8"
DB_USER=ulogger
DB_PASS=secret2
ULOGGER_URL="http://127.0.0.1:8080"
- Run tests
./vendor/bin/phpunit -c .tests/phpunit.xml
- improve track editing
- track display filters (accurracy, provider)
- improve interface on mobile devices
- translations may be contributed via Transifex.
bc1qt3uwhze9x8tj6v73c587gprhufg9uur0rzxhvh
0x100C31C781C8124661413ed6d1AA9B1e2328fFA2
- GPL
- most icons come from iconmonstr