Ponyexpress App

Post on 17-Jul-2016

5 views 2 download

description

Slide About Pony Express App. for Academic pourposes

Transcript of Ponyexpress App

PONYEXPRESS APP

PONYEXPRESS APPMobile Application DevelopmentBy. Federico Arroyave - Sebastian Ocampo Professor. Giovanni Malnati

IndexIntroductionRequirementsSolutionsImplementationDatabaseSome Diagrams

2Mobile Application Development - Politecnico di Torino Introduction3Mobile Application Development - Politecnico di Torino The project encompasses the design and development of a mobile client-server system that supports the operation of a citywide, low-cost, small parcel fast-delivery service, based on a network of bikers.

Requirements List4Mobile Application Development - Politecnico di Torino Server-partAllow fulfill the form and create the respective code (tracking and delivery)Notify to the sender and receiver via email of the new service.Calculate the optimal route and send a notification to the agent and assign him the new task to complete.Allow to log in and log off the agent managing the related constraints

Requirements List5Mobile Application Development - Politecnico di Torino Mobile-partAllow to the agent do the log in an log out of the applicationAllow to change his password and data.Get the actual position each minute and send it to the server.Allow to the agent modify and reorder the list of task.Show the list of task in a map and in a list.Calculate the path to deliver or pick up the parcel.Get the sign of the client and send it to the server.Get the answer of the survey and send it to the server.Validate and send the respective code(Tracking or delivery) to communicate to the server and update the status service.Show the timestamp to arrive to each destination.

Solutions6Mobile Application Development - Politecnico di Torino

Server ImplementationAPIs used:

Google geocode: Used to get information about the addresses. https://developers.google.com/maps/documentation/geocoding/Google distance matrix: Used to get information about the expected times and distances between addresses. https://developers.google.com/maps/documentation/distancematrix/Google cloud messaging: Used to send push notifications.

7Mobile Application Development - Politecnico di Torino Server ImplementationExtern libraries used:

Restos: Framework to manage the rest web services. Allows a easy implementation of a RESTful web service.

PHPmailer: Library used to send emails to the sender and recipient.

Curl: Php library to send http request, used in the communication with the APIs, a correspondent .dll file must be enable in the server8Mobile Application Development - Politecnico di Torino Server ImplementationMain methods:searchAgent($lat, $lon, ): This method selects an agent from all agents logged. If there is only one logged, that agent is selected. If there are two or more agents, is calculated the distance between the agent current position, all destinations points, and the pick up position. Then a list sorted by the nearest agent is created. The same operation is made with the delivery position and the agent with the best position in the two lists is selected.

getAgentOrderPath($dist_matrix, $destinations): This method sorts the agent destinations list. The algorithm used was the nearest neiborhood, making available in each step only de pick ups and the deliveries corresponding to a pick up already reached or sorted.9Mobile Application Development - Politecnico di Torino Mobile Implementation10Mobile Application Development - Politecnico di Torino Libraries Used:

Google play services: provides you with easy access to Google services and is tightly integrated with the Android OS. https://developer.android.com/google/play-services/index.html

Android-support-v7-appcompat: This library adds support for This library adds support for the Action Bar user interface design pattern. https://developer.android.com/tools/support-library/features.html

Loopj: Used to manage the asynchronousHTTP requests to the web services and handle responses inanonymous callbacks http://loopj.com/android-async-http/

Mobile Implementation11Mobile Application Development - Politecnico di Torino Main Activities

Map ActivityDrag and Drop listSignature ActivitySurvey ActivityService for position notificationService for push notification

Database12Mobile Application Development - Politecnico di Torino

Class Diagram13Mobile Application Development - Politecnico di Torino

Class Diagram14Mobile Application Development - Politecnico di Torino

Class Diagram15Mobile Application Development - Politecnico di Torino

Class Diagram16Mobile Application Development - Politecnico di Torino

Class Diagram17Mobile Application Development - Politecnico di Torino

Class Diagram18Mobile Application Development - Politecnico di Torino

Class Diagram19Mobile Application Development - Politecnico di Torino

Sequence Diagram20Mobile Application Development - Politecnico di Torino

Technologies used21Mobile Application Development - Politecnico di Torino