/php-tracks-recorder

PHP front & backend for owntracks & overland payload

Primary LanguagePHPGNU General Public License v3.0GPL-3.0

php-tracks-recorder & client

A simple and responsive self-hosted solution to record and map Owntracks http payloads or Overland payloads.

Screenshots

Location records mapping

Desktop view

Responsible interface & controls

Responsive view

Features

  • HTTP payloads recoding into database, currently from Owntracks & Overland mobile apps
  • Interface to map location records
  • Responsive : accessible on mobile and tablet !
  • Calendar to select location records period

Installation

Requirements

  • PHP 7 and above
  • MySQL (or equivalent MariaDB,...) or SQLite
  • self hosted / dedicated server / mutualized hosting

That's it !

Installation instructions

PHP Client

  1. Download the source code and copy the content of the directory to your prefered location
  2. Edit the config.inc.sample.php file to setup access to your database and rename to config.inc.php :
	$_config['recorder']          // recorder type 'owntracks' or 'overland'

	$_config['sql_type']          // database type 'mysql' (MySQL/MariaDB) or 'sqlite'
	$_config['sql_host']          // sql server hostname (only needed for 'mysql')
	$_config['sql_user']          // sql server username (only needed for 'mysql')
	$_config['sql_pass']          // sql server username password (only needed for 'mysql')
	$_config['sql_db']            // database name or SQLite filename
	$_config['sql_prefix']        // table prefix (only needed for 'mysql')

	$_config['default_accuracy']  // default maximum accuracy for location record to be displayed on the map

	$_config['enable_geo_reverse'] // set to TRUE to enable geo decoding of location records
	$_config['geo_reverse_lookup_url'] // geodecoding api url, will be appended with lat= & lon= attributes
  1. Create datatable using schema_mysql.sql or schema_sqlite.sql (in the 'sql' directory)

Owntracks app

Follow Owntracks Booklet to setup your Owntracks app :

  1. Setup your Owntracks app :
  2. Mode : HTTP
  3. URL : http://your_host/your_dir/record.php

Overland app

Follow [Overland-iOS documentation](https://github.com/aaronpk/Overland-iOS#settings) to setup your Overland app :

1. Setup your Overland app :
  1. Receiver Endpoint : http://your_host/your_dir/record.php

Usage

First time access

Access map of today's recorded locations at : http://your_host/your_dir/

Navigate through your recorded locations

  • Use the "Previous" and "Next" buttons
  • Manually change the From / To dates (next to the "Previous" button)

Adjust map settings

  • Use the "Config" button to :
    • Display or hide the individual markers (first and last markers for the period will always be displayed)
    • Change maximum accuracy for displayed location records

Contributing

So far my team is small - just 1 person, but I'm willing to work with you!

I'd really like for you to bring a few more people along to join in.

Credits

  • jQuery : the fast, small, and feature-rich JavaScript library
  • Bootstrap : the sleek, intuitive, and powerful mobile first front-end framework for faster and easier web development
  • Bootstrap-Datepicker :
  • MomentJS : Full featured date library for parsing, validating, manipulating, and formatting dates
  • LeafletJS : an open-source JavaScript library for mobile-friendly interactive maps
  • Leaflet Hotline : A Leaflet plugin for drawing colored gradients along polylines.
  • js-cookie : A simple, lightweight JavaScript API for handling browser cookies

License

This project is published under the GNU General Public License v3.0