What I built
An App to help families and friends decide what to eat.
Category Submission:
Random Roulette
App Link
Screenshots
Description
Day after day, families, couples, and any group of people wanting to eat together face the age-old question:
What's for dinner tonight?
This app can help. Build your own list of options, or search and copy results from Yelp. Share a link and see what people like! The vote can be set to automatically end when enough matches are found.
Link to Source Code
https://github.com/mealmatch/app
Permissive License
MIT
Background
My brother-in-law came up with this idea: Wouldn't it be great if there was something like a dating app, but for deciding what to eat?
How I built it
I started building this app in .net core because that is what I'm most comfortable with. The front page needed a bit of client-side magic, so I threw in some VueJS to handle that. The VueJS was simple enough that I could add it without any addition build (webpack) step.
I also wanted to try to build an app that respects privacy and doesn't even ask users for their emails. Vote sessions are assigned a random GUID. The user can bookmark the URL if they want to return to the page.
For data storage I used Azure Table Storage. It's a basic NoSQL database that's easy to use.
For getting Yelp results, I created a developer account at Yelp and used their REST API. I tried my best to follow their usage guidelines and make clear which results came from their data.
I tested the app locally until I got everything working. From there I created a Docker file to build it, put it on GitHub and created the Digital Ocean App instance.
I was pleasantly surprised at how seamless Digital Ocean App was. The platform automatically built my docker image and deployed it. Adding the needed environment variables and a custom domain was intuitive and took very little effort.
Additional Resources/Info
https://dotnet.microsoft.com/
https://vuejs.org/
https://www.yelp.com/developers/documentation/v3/business_search
https://azure.microsoft.com/en-us/services/storage/tables
Top comments (0)