bfabiszewski / Ulogger Server
Licence: gpl-3.0
μlogger • web viewer for tracks uploaded with μlogger mobile client
Stars: ✭ 315
Programming Languages
javascript
184084 projects - #8 most used programming language
Labels
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
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
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
μlogger
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 runnpm install
andnpm 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 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
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 inusers
table to true for admin users - edit configuration from application settings dialog
- for database changes, see MySQL example script in
- 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
- edit your
Docker
- 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 .
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
bc1qt3uwhze9x8tj6v73c587gprhufg9uur0rzxhvh
0x100C31C781C8124661413ed6d1AA9B1e2328fFA2
License
- GPL
- most icons come from iconmonstr
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].