Food preference selection
The name JoyLuck comes from Amy Tan’s novel, The Joy Luck Club, where four immigrant mothers befriend one another by regularly eating together. JoyLuck was built with the idea of bringing people: strangers, acquaintances, best friends, alike to share a meal together in an easy-to-organize potluck. In our busy world, eating, what had once been a cherished, social event has become relegated to a quick, hasty task that more a necessity than a blessing. Especially among young adults and college students, this trend has become widespread, and social interaction has been taken online through social media. JoyLuck seeks to counteract this trend and bring local members of similar (culinary) interests and appetite together, promoting individuals to cook healthy, homemade dishes, and bringing the local community together.
What it does
Joy Luck is a platform that connects food lovers. Its usage is two-fold. First, JoyLuck connects groups of people with complementary food preferences and cooking specialities, and provides a platform that makes organizing potlucks simple. Second, if your passion is to cook, JoyLuck lets you be the chef for a night, with an option to present at menu and invite guests to your own home-restaurant.
How I built it
We implemented the backend using the Microsoft Azure database to store information about users, preferences, and groups. We used Flask to interact with the database and perform analysis on suggestions for users, while we built the front-end using Ember.
Challenges I ran into
Most of our technical challenges emerged from our varying realms of expertise. Specifically, we were split between people experienced in JS and those in Python. Thus, determining the best platform for the application was difficult -- for which we finally decided to use Flask and Ember.js for. Further down the line, we had problems at the start connecting to Microsoft’s Azure database and overcame this challenge (initially, to prevent standstills) by making local copies of the DB files and testing on them. Towards the end, we faced some issues syncing front and back end and determining how data would be communicated, as many of us were inexperienced with interacting between Ember.js and Flask.
Accomplishments that I'm proud of
The whole application! But more specifically, the user interface was a great highlight in our eyes. Specifically, the bubbles representing the preferences of a user and the map landing screen were quite slick in our eyes, which was a large focus of our group coming into this hackathon (due credit given to Apple and AirBnb). Further, our ability to adapt from our initial, fairly little experience with full web interaction to constructing this was quite remarkable.
What I learned
Practical techniques for coding and picking up new languages within 36 hours aside, we learned how to interact between a back-end developed in Flask and front-end in Ember.js. More specifically for the front-end, we had became far more comfortable and acquainted to the Ember.js API, learning how to navigate between pages, fill content, and pull from the DB. For many of us, this was also a large leap in interacting with DBs, which we usually would not be working with directly. So, the SQL experience was also novel for those of us on the back-end. There were also plenty of instances of using more specific APIs on the back-end, such as web scraping, Twilio (slightly), Wolfram Alpha, and Google.
What's next for JoyLuck
- Extension into mobile application
- Improve recommendation and suggestion algorithms
- Integrate Twillio for event notifications
- Expand globally!