What it does
- The application generates a map of the UTK campus and can plot a path between a user's start and end goal; however don't expect the path to be convenient whatsoever.
- This project requires Python 3.9+ and PyQt6. PyQt6 installation scripts for Windows and Linux have been provided.
- You are presented with a map of UTK's main campus
- There are 2 boxes for you to select your current location, and your desired destination
- Once you've made your selection, press the Yeet button to get a unique path around campus to eventually reach your destination
How we built it
- We divided the overall project into different field and assigned members to them according to past experience and skillset. 2 members chose to work together and develop the Python integration of a UTK campus map, application UI, and path routing logic. Another member focused on all tasks related to digital art, including custom logo designs, website formatting, and path “stickers” that are used to display the generated path to the user. The last member was dedicated to maintaining uptime of website/databases services (the free tier webhosting subscription making such an especially annoying challenge) as well creating marketable, out of the box deployment ideas for the application.
Challenges we ran into
- At first, we wanted to work with either Google Maps and their APIs, or maybe Amazon's APIs, but both required payment depending on how much they were used, and we don't quite have the funding for that. Our goal was to avoid spending even a single penny on subscriptions or services and make do with whatever free services we could find.
Without a real maps API, we ended up working with a single image of UTK's campus, and had to draw out the paths for all the streets and their connections so we could highlight the route we provided, we had to do a lot of data entry by hand for this
Our aforementioned stubbornness about paid subscriptions especially proved challenging when attempting to create sustainable website/databases. Our free .tech domain could not be hosted on Domain.com (the original registrar) as no free web hosting plan was available to us; the one service we did find (000hostweb), however had significant limitations that encouraged free users to upgrade. Some of those disadvantages included very limited storage space, a max of 2 SQL databases (with one of them automatically used by Wordpress), a database query limit, and little access to advanced Wordpress website features.
The initial idea was to have a market ready product, with a website providing potential customers with ample information, and a server sided database for client sided software to activate, authenticate, and renew their license subscriptions. Unfortunately, communicating with the SQL databases from external sources like that requires a paid subscription, forcing us to adapt and formulate alternative solutions.
We wanted to have a market ready product, with a website that provided a client with their very own license, which would be put into an online database so they didn't share their copy around as their own, but database access was also an issue without funding
Accomplishments that we're proud of
- In the end, we do have a map that gives you a really inconvenient path to your destination
- We have a functional website you can visit, at link
What we learned
What's next for Garbage Maps
- If this became a large scale project, we would start using a maps API from Google or Amazon ** With this API, we could expand beyond just UTK to give you inconvenient routes all over the world ** This would also help with the user experience, as they would just tap their destination rather than the selection boxes in use now
- With more time and funding, we would polish the website and the download process ** Users need python3 and PyQt6 to run the program, but with more time we could set up config files to get all of that at once so the user wouldn't need a lot of time to set up ** A paid subscription to a webhost would allow bigger downloads from our website, which would be needed to include those config files
Built With
- 000webhost
- domain.com
- pyqt6
- python
Log in or sign up for Devpost to join the conversation.