Node.JS web application for GPS tracking
Go to file
Keith Irwin bcef51587f
2020-06-22 21:08:19 -05:00
config Merged hotfix-0.9.2 into develop 2018-08-15 23:34:29 +00:00
res Changed permissions 2018-01-19 21:22:49 +00:00
static Fixed merge conflicts pulling hotfix-0.9.1 into develop 2018-08-14 19:27:59 +00:00
test Deactivated broken test 2018-03-08 19:56:34 +00:00
views Fixed merge conflicts pulling hotfix-0.9.1 into develop 2018-08-14 19:27:59 +00:00
.dockerignore Changed permissions 2018-01-19 21:22:49 +00:00
.gitignore Merge accidental commits to master back into develop 2018-10-28 20:24:00 +00:00
.travis.yml #123 Replaced minifier with less and uglify-es 2018-03-09 02:19:48 +00:00 Patched slug CVE-2017-16117 by truncating input 2018-08-14 23:09:52 +00:00
Dockerfile Merged conflicts 2018-11-19 09:52:16 -06:00 Changed permissions 2018-01-19 21:22:49 +00:00 Update 2020-06-22 21:08:19 -05:00
package-lock.json npm update and audit 2018-11-19 05:08:37 +00:00
package.json npm update and audit 2018-11-19 05:08:37 +00:00
server.js Merged hotfix-0.9.2 into develop 2018-08-15 23:34:29 +00:00


v 0.9.0

This project is deprecated. Since Google increased the cost of their maps API, it no longer made financial sense to keep it running. I might revive or remix the project in the future.

node.js application to display a sharable map with user's location.

Travis Build Status Coverage Status JavaScript Style Guide


On unix-based systems:

git clone tracman-server &&\
cd tracman-server &&\
npm install

You will need to set up a configuration file at config/env/env.js. Use config/env/sample.js for an example. You can get API keys at the google developer's console. You will need to set up approved hosts and auth callbacks. There is more information in their documentation.

A good method is to simply copy the sample configuration and point config/env/env.js to the new version:

cp config/env/sample.js config/env/local-config.js
echo "module.exports = require('./local-config.js')" > config/env/env.js

Then edit config/env/local-config.js to match your local environment.


Run Tracman with npm:

npm run build && npm start

...or with nodemon:

npm run nodemon

Nodemon will automatically rebuild and restart the app when you make changes.


Tracman will be updated according to this branching model... more or less. If you know anything about programming Android, the Tracman android app is more desperate for help.


view full changelog

  • Removed coinhive
  • Fixed CSP rules
  • Improved debugging output
  • Tried to fix scrollwheel
  • Fixed security audited npm packages
  • #121 Fixed various security holes
  • #68 Added tests, mostly for authentication
  • #120 Split config/routes/settings.js into two files
  • Removed express validator and replaced with homegrown function
  • Fixed showing welcome message on every login
  • Removed naked domains
  • Patched CVE-2017-16117 on node-slug
  • Hotfixed service worker bugs
  • Added check to ensure only the newest location is sent
  • Removed buggy login/-out redirects
  • #111 Implemented service worker
  • #116 Switched promises for async/await
  • #64 Started using promises in model methods
  • #63 Disconnect inactive clients
  • #110 Implemented StandardJS
  • Removed emojis
  • #113 #114 Switched to useMongoClient
  • #67 Fixed invisible marker in demo
  • Shortened if statements and long lines


  • Fixed altitude sign
  • Added coinhive
  • Added HTML5 shiv
  • Added support for browser geolocation
  • Fixed streetview image bugs
  • Added sourcemaps for debugging
  • Fixed streetview bearing
  • #96 Replaced panorama with static images
  • #96 Continue to update panorama after creating element
  • #100 Moved CSS out of webpack
  • Fixed #108
  • Fixed bugs #105 and #107
  • #89 Can change marker color
  • Fixed #102 issue creating account


view full license

Tracman: GPS tracking service in node.js Copyright © 2018 Keith Irwin

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see