Inspiration
Ever wandered around campus trying to remember which vending machine had that one sweet that you liked? Or how about when you finally remember and head over, only to find out that it was sold out? We present to you: VendMe! A one-click solution to all of your vending vexations.
What it does
Our mobile web app provides the UB community a way to see the location of vending machines as well as the items stocked there. Community members can upload photos of the machines to keep the stocked items info up to date. With a real-time map, finding the locations of any vending machines on campus has never been easier. As a community-driven app, we incentivize users to contribute by implementing a point system where users can earn points for reporting new machines, removed machines, new items, etc.. To ensure a safe environment, we also have a reporting system to take down non-related photos and also to ban frequent misbehaving users.
How we built it
Our progressive web app was built with React frontend, Flask on the backend, MongoDB for the database, and containerized with Docker.
Challenges we ran into
With all four team members coming from different CS backgrounds, all of us had to learn much of the tools we used on the fly. Another challenge we ran into was that we realized training an AI to learn to recognize different items in a vending machine was much harder and more time-consuming than we initially expected. Even though all of us were already familiar with Git Workflow, we constantly ran into merge conflicts, which we had to resolve while continuing on with the project.
Accomplishments that we're proud of
Firstly, we're proud that our project idea is genuinely unique while still serving a real issue that our community faces. Our app is also successfully deployed, being hosted on DigitalOcean. We also couldn't help but agree that the map API looked super cool on our app. We're also very proud of our authentication rules that were implemented for stricter user control; No login, no photo upload or reports. However no authentication is required in order to simply view the photos and the markers on our app.
What we learned
All of us became very familiar with the process of building a web app, especially with our tech stack tools and languages. We also learned to communicate better with each other in terms of coding style, especially after several annoying merge conflicts kept dragging us behind.
What's next for VendMe
We hope to continue to polish this app and to eventually pitch it to UB Dining. With valuable statistics about the vending machines (which items are popular, when do popular items sell out during the day, which vending machine could be improved, etc.), we hope to work together with UB Dining for potential rewards for the top contributors of the app. We thought it would be fitting for the rewards to be something like free drinks or a small amount of campus cash.

Log in or sign up for Devpost to join the conversation.