Through our app, we hope to help undergraduates navigate locations on campus. As freshmen at large universities, getting lost on campus was an unnecessary burden for us, especially given all of the other adjustments we had to make entering college. Especially when visiting unfamiliar university campuses for hackathons, including TreeHacks, navigation is an unnecessary stress. Thus, we are building an application providing indoor navigation at universities.

What it does

uMaps is an iOS application that integrates Google Maps with an indoor map of buildings at university campuses. Using crowdsourced user data and public floor plans, uMaps provides a comprehensive map of rooms within buildings and provides a user walking directions between rooms, similar to how Google Maps provides directions between buildings. At TreeHacks, we developed a proof-of-concept that navigates a user from a default room to any other room in floors 0 and 1 of Huang Center.

How I built it

We developed a front-end interface with Swift, integrating Google Maps API with our indoor map. Using floor plans and manually mapped data of the Huang Center, we built a Firestore database of “squares” to represent rooms, hallways, and walls in the building. Through the implementation of the A* algorithm in our object-oriented Python backend, we provided an interface for users to query a location and obtain walking directions to a specific room in the Huang Center.

Challenges I ran into

Implementing mapping algorithms with A*

Developing a user interface that integrates with Google Maps

Connecting mapping data between Python backend, Firestore database, and Swift frontend

Manually mapping floors in the Huang Center

Determining which features of our application are practical to build during the hackathon

Accomplishments that I'm proud of

Successfully providing users directions within the Huang Center

Integrating our application with Google Maps API to ensure user ease

Utilizing a flexible database that can be modified with user-contributed data for scalability

What I learned

We learned about methods for implementing geospatial algorithms utilizing plus codes, latitude and longitude coordinates, and graph formulas such as Flood Fill and A star. Furthermore, we learned how to integrate Google Maps and Firestore with an iOS application and Python backend. Most importantly, we learned to focus on practicality over scalability given the time and resource constraints of a hackathon.

What's next for uMaps

Develop an iOS interface for users to contribute to data collection

User outreach at university campuses for crowdsourced data collection, testing, and app brand awareness

In addition to a separate iOS app, implement an indoor map of university campuses directly on the Google Maps application

Share this project: