Skip to content

Capstone-Projects-2023-Spring/project-optimap

Repository files navigation

Open in Codespaces

OptiMap

Report Issue on Jira Deploy Docs Documentation Website Link

Website URL

OptiMap

Keywords

Section 002, React JS, FireBase, Node.js, Google Maps API, JEST Testing

Project Abstract

OptiMap is a React JS progressive web application that ensures users get the most efficient route to any list of locations they enter. This is determined by a few factors, such as location, arrival time and time spent at each location, and time or distance between locations. An example user may need to plug in 10 or more locations that they need to visit, as well as the amount of time they expect to spend at each location. Additionally, they may add a time they need to be all done by. Our application gives them the most efficient path between locations, and allows them to properly plan their day of driving.

High Level Requirement

This application can be used by a plethora of users. A typical user will log in and plug in as many locations as they want into the app after creating an account. By default, the entire trip is reordered in the most efficient manner in terms of time and distance from one location to the next. Users can further customize their trip by specifying the amount of time they expect to spend at each location or arrival time (or both). Our app is able to update the routes based on factors via Google Maps API such as traffic times, create the most efficient route, and give them an overview of their trip in general. One of the main features is redirecting users to Google Maps for the navigation itself. For example, a user may decide to use our app’s default feature of optimizing trip by time and distance on X locations. They will first enter X locations, followed by clicking start. This will redirect them to Google Maps with our optimized directions, turn by turn. The user will follow these directions and can return to the app to re-optimize a route if needed. The stored route within our app can also be shared via the OptiMap friend system backed by Firebase. You can friend other users and share saved routes with them to plan a trip with one another.

Conceptual Design

This application is written in React JS as a progressive web app. This allows the app to be accesible on any platform. The backend for user authentication and storage uses Google Firebase. This is a free application where login and new account processes can be done using their services, as well as storage of individual records or previous routes that the user has gone through.

Background

To be fully transparent, there are many apps out there that are for mapping routes, going from point A to point B, and overall figuring out the most efficient route for something like delivery. For example, the Doordash app will give you the routes from your location to the delivery location, even if you have many places to deliver to in a row. However, our app will offer a unique experience because you can now determine more specific details such as the amount of time you plan to spend on each location, and get the most efficient route between, say, 10 or more locations. We have not been able to find any mapping apps that offer what we are planning on offering, including the social media aspect and sharing routes. Furthermore, someone as big as Google maps only offers around 10 or so maximum destinations. We would like to offer more than this in an efficient manner and allow the user to plan their day so they can understand where they are headed at all moments and what time their day is expected to be “over”.

Required Resources

The required resources for this project are all software related, and it will mainly rely on React JS to create the app itself. Then, for the database and user authentication, Google Firebase can allow users to sign in and store any information about their previous routes. Finally, the Google Maps API is used to get direction and traffic / time information between locations.

Extra Challenge Requirement

To achieve the most efficient route, the app will take into account traffic, road closure, and wrong turns and reroute promptly.

Collaborators

BenjaminRittenhouse
Benjamin Rittenhouse
RickyWu
Ricky Wu
StevenLin
Steven Lin
AlexHarvey
Alex Harvey
StevenLin
Steven Lin
DatNguyen
Dat Nguyen
EndriPellumbi
Endri Pellumbi
KennyPhan
Kenny Phan