We need to update an existing android application to detect if the geo location has been spoofed or if the time has been changed. The time will be validated by some of the default NTP servers. The current app currently reports only the location and it doesn't work in the background.
The app will function as a background service and will ping the details to the server at regular intervals, say 250 ms to 3000ms (configurable in the current app). The pings will contain, the device identifiers, server time, the device time, username, location, spoofed flag, alert flag, accuracy, location source (network/gps/cache) as reported by the location services. The link will also be signed to prevent fradulent usage. You can (optionally) make use of pubnub/pusher or SingnalR Java(script) libraries. The app should allow me to configure the username to be pushed, how frequently to push the data to the server, ntp server details, the database server to which it will ping.
The real time dashboard will report the following details. It will be a responsive website making use of bootstrap.
1. Number of unique devices that are currently reporting to the server.
2. Map of the location of all the devices. You can use any maps, though I prefer Google, but open street map is also an alternative that can be used. The location of the devices will get updated in realtime on the map. In addition, if any of the location/time is spoofed or changed, the icon on the map turns red. the mouse over or click on the icon provide the details like device id, location and time as reported (spoofed ones)
3. A table of all the devices that have spoofed locations. The updates to the locations much be done in place, i.e. no scrolling updates, instead it will refresh in place at every X seconds. In addition, there needs to be an alert if the user goes from normal->spoof->normal, like a light red background. This can be a separate table if required. The table will report only today's value.
4. A separate static report that can be generated for the user/deviceid/date or location ranges.
5. A summary page that will show the high level metrics, like number of devices connected, number of devices with spoofed location, number of devices with invalid time etc.
6. The android app maps need to be transitioned from ESRI to Google/Bing maps.
7. You will also keep a placeholder for an offline support. we will discuss it separately on how to enable it.
We will provide you with the android application code for you to build on.
Please create the mockup of the application before you code a single line of work.
13 freelancers are bidding on average $590 for this job
Hello, I expertise in creating rich and attractive user experience. I have worked with background services and location servers extensively. Let us discuss more about your project in detail in pm