Success!

Note

Error

Session expiration Your session is going to expireClick here to extend

Budget:

800 - 1,500

Posted on

7/12/13 2:04 PM

Buyer:

ibC***

This project has expired

Why don't you register anyway? We are sure that you will find many similar projects out of the thousands waiting for you!

Post similar project now

Description

Overview

Development of an Android app for tablet devices.

The app will need to interface with the SymmetricDS Android client for automatic synchronising of data with remote cloud-hosted database.

Database synchronisation will be handled entirely by the SymmetricDS Android client. Synchronisation will take place when the device has a connection to the Internet available.

The app will be secured with a PIN number (the pin number will be maintained outside of the app and made available to the app via the database). The PIN number must be entered to start the app. If the app is inactive for two hours then it is locked and the PIN must be entered to unlock it.

The app will allow a delivery driver to create a list of deliveries for the current day by selecting each destination from a list of customer addresses.

Each customer address will have a grid reference saved in the database. The app will use this grid reference to sort the list of the day's deliveries so that the first delivery is the closest one to the device's current position and the next delivery is the one closest to the first and so on through the whole list (the app will need to use the device's current location in order to calculate the correct order).

The app will allow the user to bring up a Google Map showing the location of each delivery address plus driving directions from Google Maps Directions (assuming the device has an Internet connection).

The app will allow the user to record the receiver's name and signature and the current date and time (pre-filled) when an delivery is completed. The receiver's signature needs to be captured via the tablet device's touch-screen. For “controlled” deliveries, additional information will need to be captured.

 

The app will have 4 main “screens.” Below is a detailed description of each “screen.”

 

Customer Screen

Shows a list of all customer's in the database sorted by customers last name. Each line will show the customer's first name, last name, address city and address post code.

Elements required:

  • Search box which filters the list of customers as a customer name is entered.
  •         Button to clear the current search.
  • Button next to each customer record to add the customer to the current day's delivery list.
  •          If a customer has been added to the current day's delivery list the button should change to a “remove” button that removes that customer from the current day's delivery list.
  •          When the “add” button is clicked a pop-up window will show the following check-box options: “Fridge”, “Controlled Delivery.” Any options selected are to be recorded against the delivery record. The pop-up window will have OK and Cancel buttons.
  • Button to navigate to the “Today's Deliveries” screen.
  •         If disabled if no customers have been added to the current day's delivery list.

 

Today's Deliveries Screen

Shows a list of all of the current day's deliveries. The list should be automatically sorted starting with the delivery address closest to the device's current location. The list should automatically be re-sorted each time a new delivery is added and when a delivery is completed. Each delivery record should include the customer's name and full address. Completed deliveries should always be shown at the top of the list and clearly be marked as completed.

Elements required:

  • Button for hiding/showing completed deliveries.
  • Button for triggering an automated re-sorting of the list of deliveries.
  • Button next to each delivery for viewing a Google Map with the location marked.
  • Button next to each delivery for viewing Google Map Directions to that location (start point will be the device's current location).
  • Button next to each delivery for updating the grid reference of the customer's address based on the device's current location. When this button is presses a pop-up window will ask the user to confirm or cancel the update.
  • Buttons next to each delivery to navigate to the “Record Delivery” screen. This button is not shown if the delivery has been marked as a “Controlled Delivery.”
  • Buttons next to each delivery to navigate to the “Record Controlled Delivery” screen.
  • The device's hardware back button returns the user to the “Customer” screen.

 

Record Delivery Screen

Allows the user to record completion of the selected delivery.

Elements required:

  • Field for entering an optional delivery reference number.
  • Field for entering the receiver's name. Pre-filled with the customer's name. The record cannot be saved if this field is blank.
  • Field for entering the date and time of the delivery. Pre-filled with the current date and time. The date field has a button for selecting date from a pop-up calendar. The record cannot be saved if this field is blank.
  • Two check-box options: “Not home: left in pre-arranged alternative location” and “Not home: returned for re-delivery.”
  • Large area for receiver to make their signature via the device's touch-screen. A third-party Android signature capture library may be used.
  • Button for saving the delivery details (including the signature) and returning the user to the “Today's Deliveries” screen. If the “Not home: returned for re-delivery” option has not been selected, the delivery is marked as completed.
  • When changes to the delivery record are saved the app needs to check if the customer's address record includes a mobile phone number. If it does, then the app will send a notification SMS text message to the customer via the device's mobile network. If the device's mobile network is unavailable, the notification should be queued for re-delivery once the network is next available. The notification message will contain one of three messages depending on the outcome of the delivery plus an optional advertisement message if this is set in the database.
  • The device's hardware back button returns the user to the “Customer” screen.

 

Record Controlled Delivery Screen

Allows the user to record completion of the selected controlled delivery.

Elements required:

  • Field for entering an optional delivery reference number.
  • Field for entering the receiver's name. Pre-filled with the customer's name. The record cannot be saved if this field is blank.
  • Field for entering the date and time of the delivery. Pre-filled with the current date and time. The date field has a button for selecting date from a pop-up calendar. The record cannot be saved if this field is blank.
  • Two check-box options: “ID of receiver checked” and “Not home: returned for re-delivery.”
  • Large area for receiver to make their signature via the device's touch-screen. A third-party Android signature capture library may be used.
  • Large area for delivery driver to make their signature via the device's touch-screen.
  • Button for saving the delivery details (including the signatures) and returning the user to the “Today's Deliveries” screen. If the “Not home: returned for re-delivery” option has not been selected, the delivery is marked as completed.
  • When changes to the delivery record are saved the app needs to check if the customer's address record includes a mobile phone number. If it does, then the app will send a notification SMS text message to the customer via the device's mobile network. If the device's mobile network is unavailable, the notification should be queued for re-delivery once the network is next available. The notification message will contain one of three messages depending on the outcome of the delivery plus an optional advertisement message if this is set in the database.
  • The device's hardware back button returns the user to the “Customer” screen.

 

All source code is to be provided by the developer.