/JUMBOGPS-T1

Real-time GPS-based Asset Tracking Application for Jumbotail.

Primary LanguageJavaScript

Realtime GPS based Asset Tracking Application

This project focuses on realtime asset tracking based on live stream GPS data being sent to the API servers by assets. An asset can be typically be a vehicle, salesperson etc.

Some of the application features include the following,

  • Asset View to have a glance of assets last location

Asset_View_Readme

  • Timeline View to track asset's location in the last 24 hrs.

Timeline_View_Readme

  • Time, type, id etc. based filters across views

View_Filters_Readme

  • Geofence an asset

Geofence_View_Readme

  • Define a preset route for an asset

Georoute_View_Readme

  • Realtime notifications on geofence and preset route violations

Realtime_Notification_Readme

  • State of the art Anomaly Detection Algorithm. See here

  • Realtime view to track live changes

Realtime_View_Readme

  • Responsiveness across various viewports

  • API to collect and analyse GPS Data from Assets

Tech

Application was made with ❤️ using the following technologies:

  • Bootstrap 5 - A lightweight mobile first front-end open source toolkit
  • Handlebars - An awesome templating engine
  • Node.js - Evented I/O for backend
  • Express - Fast Node.js network app framework
  • Socket IO - JavaScript library for realtime web applications
  • MongoDB - General purpose, document based NoSQL Database

Tools and Libraries

  • Mapbox - Vector Tiles based Map rendering service
  • geolib - Library for geospatial operations
  • MongoDB Atlas - MongoDB Cluster deployment in cloud
  • Postman - Industry standard for everything to do with APIs
  • Robo 3T - GUI to connect to MongoDB database, formerly Robomongo

Running the app as a Docker 🐳 Container

  • You can simply spin up the application using Docker locally by issuing this command from root of repo,
$ docker-compose up 

Note: Set the environment variable in docker-compose.yml file so that the app does not crash.

Note: Please make sure you have docker and docker-compose installed on your system.