Node.JS web application for GPS tracking
 
 
 
 
Go to file
Keith Irwin 6925839f9b
Patched slug CVE-2017-16117 by truncating input
2018-08-14 23:09:52 +00:00
config Patched slug CVE-2017-16117 by truncating input 2018-08-14 23:09:52 +00:00
res Changed permissions 2018-01-19 21:22:49 +00:00
static Attempted fix to scroll wheel 2018-08-14 02:10:32 +00:00
test Fixed password reset test 2018-02-25 18:42:37 +00:00
views Removed coinhive 2018-08-10 20:56:42 +00:00
.dockerignore Changed permissions 2018-01-19 21:22:49 +00:00
.gitignore Updated gitignore 2018-03-05 02:31:23 +00:00
.travis.yml Merged travis.yml 2018-03-06 04:01:36 +00:00
CHANGELOG.md Patched slug CVE-2017-16117 by truncating input 2018-08-14 23:09:52 +00:00
LICENSE.md Changed permissions 2018-01-19 21:22:49 +00:00
README.md Patched slug CVE-2017-16117 by truncating input 2018-08-14 23:09:52 +00:00
nodemon.json Changed permissions 2018-01-19 21:22:49 +00:00
package-lock.json Updated and audited packages 2018-08-14 19:38:13 +00:00
package.json Updated and audited packages 2018-08-14 19:38:13 +00:00
server.js Fixed fonts not loading 2018-08-13 23:32:26 +00:00
webpack.config.js Updated webpack with new sw.js location 2018-03-06 03:46:40 +00:00

README.md

TTracman

v 0.9.0

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

Travis Build Status Coverage Status JavaScript Style Guide

Installation

On unix-based systems:

git clone https://github.com/Tracman-org/Server.git 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.

Usage

Run Tracman with npm:

(npm run minify & npm run build) && npm start

...or with nodemon:

npm run nodemon

Nodemon will automatically minify and bundle files and restart the app when you make changes. Check out the nodemon.json configuration.

Contributing

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.

Changelog

view full changelog

v0.9.x
  • 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
v0.8.x
  • 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

v0.7.x

  • 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

License

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 http://www.gnu.org/licenses/.