Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Hopped: A prototype food delivery platform using smart routing

77 views

Published on

Rachel Tee

Published in: Education
  • Be the first to comment

  • Be the first to like this

Hopped: A prototype food delivery platform using smart routing

  1. 1. Final Year Project RACHEL TEE 1461932 MARTIN CHAPMAN
  2. 2. Introduction ▪ This application is a food delivery service which provides convenience to users who want to order food on-demand. ▪ This has been a popular invention as individuals are getting busier everyday. ▪ The aim of this application is to get the orders sent out efficiently. ▪ Usable on computers and also mobile devices. ▪ Both the web and mobile platforms work similarly.
  3. 3. Website – Web Platform ▪ The website will feature the landing page – Hopped. ▪ represents ’quick’. ▪ Devices have to be connected to the Internet in order to load the system. ▪ To start using the service, the user has to input their delivery address at the address field provided. ▪ Proceed on with the search button to view the restaurants that are delivering. ▪ Account not required to browse restaurants and menu. ▪ Login required when user wants to check out their order.
  4. 4. Mobile – iOS Platform ▪ Runs on mobile but only for devices using iOS software. ▪ Requires Internet connection and location services. ▪ uses GPS (Global Positioning Systems) ▪ Works by calculating positions and detecting signals
  5. 5. Which language? ▪ The MeteorJS full-stack framework – consisting of MongoDB and Node.js ▪ Beneficial for individuals who do not have much experience in deciding on a selection of software subsystems. ▪ Easy to use because the pages will be automatically updated as codes update. ▪ Can utilize packages. ▪ Customizable packages to extend the functionalities. ▪ MongoDB is an open source database program. ▪ Node.js is a minimal framework which utilizes an event- driven asynchronous I/O model.
  6. 6. Existing Solution – Dijkstra’s Algorithm ▪ A well known algorithm to calculate the shortest path possible between two points ▪ An algorithm that favours the nearest nodes and efficiently finds the shortest paths in a graph consisting of nodes and edges ▪ Pick the vertex with minimum distance value and not already included in SPT (not in sptSET). ▪ Update the distance values of adjacent vertices of vertex 1. ▪The distance value of vertex 2 becomes 12. ▪We repeat the above steps until sptSet does not include all vertices of given graph. *spt: shortest path tree
  7. 7. Possible Solution ▪ Combining Dijkstra’s algorithm with traffic light algorithms. ▪ Focusing on getting the shortest route along with the least time spent waiting for the traffic light to turn green. ▪ Driving on a street takes a constant amount of time to reach the other end. ▪ Driving through a traffic light takes the amount of time you have to wait for it to turn green. ▪ Time: T Value of edge: V ▪ If an edge has value V, time spent traversing the edge will add the value V to the amount of time spent (T += v) ▪ Value of a node is denoted by N, and if traversing that node, it will have to wait until T is divisible by N. T += (N - T % N) % N
  8. 8. Scaled Example Routes: S –4–[1]–2–[5] | | 4 3 | | [4]–2–[5]–1– E Bottom route: Start: 0 + 4 → 4 4 % 1 == 0 #can pass 4 + 4 → 8 8 % 4 == 0 #can pass 8 + 2 → 10 10 % 5 == 0 #can pass 10 + 1 --> 11 End: 11 Time spent: 11 Top route: Start: 0 + 4 → 4 4 % 1 == 0 #can pass 4 + 2 → 6 6 % 5 != 0 #have to wait 6 + 4 → 10 10 % 5 != 0 #have to wait 10 + 3 --> 13 13 % 5 != 0 #have to wait 13 + 2 – 15 15 % 5 == 0 #we can pass End: 15 Time spent: 15The bottom route takes a much shorter time compared to the top route. As shown above, the amount of time spent waiting at destination vertex will be added when the length of path is computed. Key Edge Value Node Value
  9. 9. Conclusion of Possible Solution ▪ Beneficial to combine both algorithms that might provide a better result. ▪ Having the vehicles to reach the traffic light by the time it turns green ▪ The driver does not have to accelerate from zero speed. ▪ Accelerating from zero takes up more time than doing a slight brake then accelerating again.
  10. 10. Use Case Diagram ▪ A user is required to login into their account or register ▪ If the user forgets their password, they can reset it with a reset link sent to their registered email address. ▪ The user has to input their address to show the restaurants that are delivering ▪ The user is required to add the items they want to cart and proceed on to the next step. ▪Card payment details and full delivery addresses are required to complete the order. Additional notes are optional. ▪ After the payment has gone though, the order can be tracked until the order is delivered to the user.
  11. 11. Administrator Features ▪ This application consists of an administrator side which controls and monitors the front-facing website. ▪ Only the administrators are able to access this dashboard. ▪ Participating restaurants and their details are added into the database ▪ This is where all the important details can be seen and monitored.
  12. 12. Project Evaluation ▪ Research along with trials and errors. ▪ Background research done beforehand would have helped reduce the amount of issues faced. ▪ MeteorJS, was recently introduced so there were not much information it which may have caused extra time and work. ▪ The packages helped speed the development process. ▪ However, there were multiple packages available for each task so it was important to know which package will suit the project best.
  13. 13. Conclusion ▪ Prioritized the route finding algorithm. ▪ User interface and user experience design were crucial for this project. ▪The system works well and it does what it was supposed to do. ▪ Unfortunately, I was unable to implement my possible solution because it broke my codes. ▪ Additional features could be implemented to improve the application if more time or even a team of developers were to develop this application were allowed.

×