Google Maps API Used
Distance Matrix API- finding pairwise minimum distance without using Floyd-Warshall algorithm or its equivalents.
The Distance Matrix API has helped build the dense graph with edges to the order of O(n^2)
Google Maps UI display with popup markers- To build and display the User Interface for the application, Google Maps has been used and works flawlessly
The Issue
Commercial vehicular activities are the major contributors to the rising Carbon emissions out of all travel related activities (F Kamakate, L Schipper -Energy Policy, 2009 -Elsevier) Although commercial vehicular Carbon emissions cannot be nullified, they can be greatly reduced.
๐ตB.R.A.S.R.โ
- the solution is a customised 1960 Travelling Salesman Problem approach, outperforming industry algorithms
The Magic Solution
๐ตB.R.A.S.R.โ
goes beyond the hackathon project requirements, optimising commercial vehicular routes, reducing carbon emissions
Can be integrated with ANY calendar on Earth (Outlook, Teams, Google, Yahoo, Apple, etc)
Average appointment time can be customised for ALL locations individually
Stateless deAuth approach for null security, privacy-first approach
๐ตB.R.A.S.R.โ
aligns with Sustainable Development Goals 9 and 12
Deliverables-
RESTful API- schedule, confirm appointments โ
UI Maps interface- agenda, schedule visualised โ
Universal calendar integration- Integrates with any calendar on Earth โ
One-click solution- literally, fully automated โ
Stateless deAuth approach for null security, privacy-first approach โ
GDPR-compliance free, useful for international operations
User data, credentials never stored- completely secure
Tech Stack
โข REST API
โข Frontend Framework
โข Custom-built scheduling and routing algorithm
o Uses a 32-bit Bitmasking Recursive approach using an NP-hard solution framework o Recursively finds the shortest path w.r.t time with given constraints
o Uses graph-algorithmic approach
o Uses bitmasking to store mid-execution state of algorithm
Outlook, Teams, and all calendars integration
ICS-based approach- Has business-centric efficient approach
An out of the box solution, using ICS files has many advantages in this integration activity
Stateless management of activities. Auth integration not required, anonymous user calendar generation
Secure with null privacy concerns as opposed to sharing auth details/token to integrate calendar
Shareable calendar, can be shared inside and outside office team, including vendors, friends, clients, potential clients, etc
ICS file is generated and downloaded automatically in the UI based approach Using GET request on server url http://localhost:5000/calendar for API approach
Solution Flow
User enters locations to visit, entering information in a simple form- clicks Save button Form response is appended to a global array consisting of locations added so far
User clicks Show Schedule button, global array is sent as a JSON array of objects as body request to the Cross-Platform server
[ { "id": "place0", "coords": { "lat": 51.51198245486377, "lng": -0.1278277598563 }, "start": 0, "end": 1000, "z": 0 "id": "Home", "coords": { "lat": 51.503120589264064, "lng": -0.15282095066100 }, { "id": "place0", "coords": { "lat": 51.51198245486377, "lng": -0.1278277598563 }, "start": 0, "end": 1000, "z": 0 "id": "Home", "coords": { "lat": 51.503120589264064, "lng": -0.15282095066100 } ] actual request.body sent to server
The Cross-Platform Modular Server parses the JSON array in the input parsing node
Server send an internal request to perform the calculative task using the B.R.A.S.R.โ algorithm
o Calculative function sends an external POST request to Time Travel Matrix API, obtaining information on least distance and time between each node
o Parses external API response into an n x n matrix, n = number of nodes o Constructs a dense network as opposed to a sparse network of nodes
ยง Number of edges = nC2 = n(n-1)/2 nodes
o B.R.A.S.R.โ algorithm runs on constructed dense network, returns object
Server reformats output as a union of request.body parameters and B.R.A.S.R.โ output JSON output
Server sends an internal request to ICS generating function
o External POST request sent, response obtained with necessary ICS configuration o ICS calendar file generated
Server reformats output for ICS file obtained
ICS files can be imported, shared via email etc, and integrated with any modern calendar, including but not limited to Outlook, Teams, Google Calendar, Apple Calendar, Yahoo Calendar, etc.
{ "ans": 3108, "vec": [ { "day": 0, "name": "Home", "start": "2022-07-02T13:18:09.862Z", "end": "2022-07-02T13:18:09.862Z" }, { "day": 0, "name": "Office", "start": "2022-07-02T14:18:09.862Z", "end": "2022-07-02T15:18:09.862Z" }, { "day": 0, "name": "Home", "start": "2022-07-02T16:18:09.862Z", "end": "2022-07-02T18:18:09.862Z" } ] }
Log in or sign up for Devpost to join the conversation.