- MNazar is an iOS tracking app for sales employees.
- Developed by Aditya Dwivedi (ad629@cornell.edu).
- MNazar tracks the location of an employee and sends the collected data to a server. This information can be viewed by the employee's supervisor.
- MNazar uses the Google Maps SDK for iOS to display locations.
- MNazar also keeps a record of the total distance travelled by the employee.
- MNazar can be run in the background and does not need to remain open at all times.
- Users login using their employee id and password.
- They can log out at any given time. The server will stop receiving their location upon logout.
- The app logs the user out automatically at 7 P.M. local time i.e. at the end of their shift.
- Users cannot login after 7 P.M. or on Sundays.
- The app begins tracking location immediately after login.
- It updates location if
- An hour has passed since location was last updated.
- The employee moves by a distance greater than 100 metres.
- An employee can view his own locations listed in a table.
- Cells are ordered vertically from latest location to oldest.
- Cells display the time the location was first received and the distance travelled by the employee at that time.
- Each cell in the table contains a color coded marker indicating how long an employee stayed at that location. The colors are coded as follows
- Green: Less than 1 hour
- Yellow: 1-3 hours
- Red: More than 3 hours
- The app toggles between location accuracies to optimize battery usage.
- The app uses the Google Maps SDK for iOS to display user locations on an actual map.
- The marker on the map tells the user how many hours he spent at a place along with his employee code.
- The app sends the following data to the server in the form of JSON object-
- Employee code
- Latitude of location object
- Longitude of location object
- Timestamp of location object
- Distance travelled by user
- Time spent at location
- If the device is not connected to the internet, the app stores data locally and sends it upon reconnection.
- A server has not been setup to store locations. So the function call to send data to server has been commented out.
- Since the current version is not hooked up to an employee database, it accepts any valid string of length greater than 1 as employee code and password.