All Projects → bfabiszewski → Ulogger Server

bfabiszewski / Ulogger Server

Licence: gpl-3.0
μlogger • web viewer for tracks uploaded with μlogger mobile client

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Ulogger Server

Phpgpx
Simple library for reading and creating GPX files written in PHP.
Stars: ✭ 92 (-70.79%)
Mutual labels:  gps, geolocation
Coregpx
A library for parsing and creation of GPX location files. Purely Swift.
Stars: ✭ 132 (-58.1%)
Mutual labels:  gps, geolocation
P5.geolocation
a geolocation and geofencing library for p5.js
Stars: ✭ 75 (-76.19%)
Mutual labels:  gps, geolocation
Gpxsee
GPS log file viewer and analyzer with support for GPX, TCX, KML, FIT, IGC, NMEA, SLF, SML, LOC, GPI, GeoJSON and OziExplorer files.
Stars: ✭ 406 (+28.89%)
Mutual labels:  gps, viewer
Skylift
Wi-Fi Geolocation Spoofing with the ESP8266
Stars: ✭ 223 (-29.21%)
Mutual labels:  gps, geolocation
Ffwdme.js
[DEPRECATED!] 🛑 A JavaScript toolkit that aims to bring interactive GPS driving directions to the mobile browser
Stars: ✭ 150 (-52.38%)
Mutual labels:  gps, geolocation
Jpx
JPX - Java GPX library
Stars: ✭ 125 (-60.32%)
Mutual labels:  gps, geolocation
orange3-geo
🍊 🌍 Orange add-on for dealing with geography and geo-location
Stars: ✭ 22 (-93.02%)
Mutual labels:  gps, geolocation
Geolocation
Flutter geolocation plugin for Android and iOS.
Stars: ✭ 205 (-34.92%)
Mutual labels:  gps, geolocation
React Geolocated
React Higher-Order Component for using Geolocation API
Stars: ✭ 185 (-41.27%)
Mutual labels:  gps, geolocation
trackanimation
Track Animation is a Python 2 and 3 library that provides an easy and user-adjustable way of creating visualizations from GPS data.
Stars: ✭ 74 (-76.51%)
Mutual labels:  gps, geolocation
Avenue-GPX-Viewer
A simple and easy GPX viewer for macOS.
Stars: ✭ 42 (-86.67%)
Mutual labels:  viewer, geolocation
Picview
Fast Picture Viewer with compact UI, that can be hidden. Features image effects, galleries, image info and more. The app can automatically adjusts itself to your screen.
Stars: ✭ 259 (-17.78%)
Mutual labels:  viewer
Navego
NaveGo: an open-source MATLAB/GNU Octave toolbox for processing integrated navigation systems and performing inertial sensors analysis.
Stars: ✭ 294 (-6.67%)
Mutual labels:  gps
Mapillary Js
Interactive, customizable street imagery viewer in the browser, powered by WebGL
Stars: ✭ 261 (-17.14%)
Mutual labels:  viewer
Traccar
Traccar GPS Tracking System
Stars: ✭ 3,353 (+964.44%)
Mutual labels:  gps
React Native Baidumap Sdk
React Native BaiduMap SDK for Android + iOS
Stars: ✭ 309 (-1.9%)
Mutual labels:  geolocation
Ionic Img Viewer
Ionic 2+ component providing a Twitter inspired experience to visualize pictures.
Stars: ✭ 291 (-7.62%)
Mutual labels:  viewer
esp32-f9p-io-board
An IO-PCB (two motor-driver/H-bridge, CAN, RS232, ADS1115, relay, ethernet, ardusimple f9p compatible connector) with an ESP32 for 12V power, three 15V tolerant analog inputs, three 5V tolerant inputs.
Stars: ✭ 24 (-92.38%)
Mutual labels:  gps
ninja-scan-light
Ultra-small motion logger using Silicon Laboratories USB C8051 MCU
Stars: ✭ 28 (-91.11%)
Mutual labels:  gps

ulogger_logo_smallμlogger   Build Status

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.

Live demo:

  • https://ulogger.lima.zone
  • for testing track upload with Android app or track editing login with user: demo, password: demo
  • hosted by lima-city.de

Minimum requirements:

  • PHP 5.5
  • PHP extensions: ctype, json, pdo (with respective drivers), session, simplexml, xmlwriter, xdebug (only for tests)
  • MySQL, PostgreSQL or SQLite (over PDO driver)
  • browser with javascript enabled, cookies for authentication and saving preferences

Features:

  • simple
  • allows live tracking
  • track statistics
  • altitudes graph
  • multiple users
  • user authentication
  • Google Maps
  • OpenLayers (OpenStreet and other layers)
  • user preferences stored in cookies
  • simple admin menu
  • export tracks to gpx and kml
  • import tracks from gpx

Install

  • Download zipped archive or clone the repository on your computer
  • Move it to your web server directory (unzip if needed)
  • Fix folder permissions: uploads folder (for uploaded images) should be writeable by PHP scripts
  • In case of development version it is necessary to build javascript bundle from source files. You will need to install npm and run npm install and npm run build in root folder
  • Create database and database user (at least SELECT, INSERT, UPDATE, DELETE privileges, CREATE, DROP for setup script, SEQUENCES for postgreSQL)
  • Create a copy of config.default.php and rename it to config.php. Customize it and add database credentials
  • Edit scripts/setup.php script, enable it by setting $enabled value to true
  • 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

Upgrade to version 1.x

  • Incompatible changes include database and config file changes
  • Upgrading manually:
    • for database changes, see MySQL example script in scripts/migrate_to_1_x.mysql
    • set admin column in users table to true for admin users
    • edit configuration from application settings dialog
  • Upgrading with migration script from version 0.6:
    • create database backup
    • replace all project files with new ones, but keep old local config file: config.php
    • change directory to application root folder and run migration script from the console: php scripts/migrate_to_1_x.php
    • the script will update database schema and save old config variables to database
  • Additional tasks after manual or script update:
    • edit your config.php file and remove all variables except database settings, see config.default.php for valid values
    • make sure uploads folder (for images uploaded from client app) is writable by PHP
    • clear browser cache and restart web page

Docker

  • Run docker run --name ulogger -p 8080:80 -d bfabiszewski/ulogger and access http://localhost:8080 in your browser. Log in with admin: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 where Dockerfile 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 .

Tests

  • Install tests dependecies.
    • composer install
    • npm 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 -e ULOGGER_ENABLE_SETUP=1 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"
  • PHP tests
    • ./vendor/bin/phpunit -c .tests/phpunit.xml
  • JS tests
    • npm test
  • Other tests
    • npm run lint:js
    • npm run lint:css

Translations

  • translations may be contributed via Transifex

Donate

Donate paypal
Donate bitcoin bc1qt3uwhze9x8tj6v73c587gprhufg9uur0rzxhvh
Donate ethereum 0x100C31C781C8124661413ed6d1AA9B1e2328fFA2

License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].