Tracking, geofencing and listener library for gps clients (devices).
This library, temporarily, caches every incoming data from devices, then saves those cached data to database as periodically bulk operations. Periodically means that server has collecting period. Server collects cached data and creates bulk operation in every N seconds. Also with this scenario, when a client make a request for monitoring device's last location on map, server will respond from the cache (not database)