# turnip - food was made for sharing.

## Inspiration

After reading about the possible projects, we decided to work with Velo by Wix on a food tech project. What are two things that we students never get tired of? Food and social media! We took some inspiration from Radish and GoodReads to throw together a platform for hungry students.
Have you ever wanted takeout but not been sure what you're in the mood for? turnip is here for you!

## What it does

turnip is a website that connects local friends with their favourite food takeout spots. You can leave reviews and share pictures, as well as post asking around for food recommendations. turnip also keeps track of your restaurant wishlist and past orders, so you never forget to check out that place your friend keeps telling you about. With integrated access to partnered restaurants, turnip would allow members to order right on the site seamlessly and get food delivered for cheap. Since the whole design is built around sharing (sharing thoughts, sharing secrets, sharing food), turnip would also allow users to place orders together, splitting the cost right at payment to avoid having to bring out the calculator and figure out who owes who what.

## How we built it

We used Velo by Wix for the entire project, with Carol leading the design of the website while Amir and Tudor worked on the functionality. We also used Wix's integrated "members" area and forum add-ons to implement the "feed".

## Challenges we ran into

One of the bigger challenges we had to face was that none of us had any experience developing full-stack, so we had to learn on the spot how to write a back-end and try to implement it into our website. It was honestly a lot of fun trying to "speedrun" learning the ins and outs of Javascript. Unfortunately, Wix made the project even more difficult to work on as it doesn't natively support multiple people working on it at the same time. As such, our plan to work concurrently fell through and we had to "pass the baton" when it came to working on the website and keep ourselves busy the rest of the time. Lastly, since we relied on Wix add-ons we were heavily limited in the functionality we could implement with Velo. We still created a few functions; however, much of it was already covered by the add-ons and what wasn't was made very difficult to access without rewriting the functionality of the modules from scratch. Given the time crunch, we made do with what we had and had to restrict the scope for McHacks.

## Accomplishments that we're proud of

We're super proud of how the design of the site came together, and all the art Carol drew really flowed great with the look we were aiming for. We're also very proud of what we managed to get together despite all the challenges we faced, and the back-end functionality we implemented.

## What we learned

Our team really learned about the importance of scope, as well as about the importance of really planning out the project before diving right in. Had we done some research to really familiarize ourselves with Wix and Velo we might have reconsidered the functionalities we would need to implement (and/or implemented them ourselves, which in hindsight would have been better), or chosen to tackle this project in a different way altogether!

## What's next for Turnip

We have a lot of features that we really wanted to implement but didn't quite have the time to.
A simple private messaging feature would have been great, as well as fully implementing the block feature (sometimes we don't get along with people, and that's okay!).
We love the idea that a food delivery service like Radish could implement some of our ideas, like the social media/recommendations/friends feature aspect of our project, and would love to help them do it.

Overall, we're extremely proud of the ideas we have come up with and what we have managed to implement, especially the fact that we kept in mind the environmental impact of meal deliveries with the order sharing.
## Inspiration

>
> Our team is full of food lovers and what’s a better way to show this passion than to design and develop a website related to it! We were inspired by the Hack The 6ix sponsor BMO, who proposed the challenge of answering “What to eat for dinner?”. We realized that this is probably the most asked question during the pandemic, since we can’t go out normally, and because we search our fridges every 15 minutes at home for something to eat. But don’t worry! TastyDinner is here for you!
>
>
>

## What it does

>
> TastyDinner is here to answer the question: “What to eat for dinner?” by:
>
>
> * Giving inspiration with a gallery of delicious food items to look at!
> * Outputting recipes you can make with the ingredients you already have!
> * Using Vision AI from Google Cloud’s Vision API for a cool experience!
>
>
> The gallery presented allows you to scroll and gather inspiration, which can help you find the answer to what you want to eat! It’s done by using the Flickr API, where the application dynamically gets many photos related to delicious food items to display for your eyes!
> As for the output of recipes, users are able to input ingredients they already have and our application will handle the rest! Our team implemented two ways for a user to input their ingredients. The first way is sending a photo of their ingredients list or receipt, and from there, it would be passed through the Google Cloud Vision API for processing of text! The second way is a simpler approach, where users could just type in ingredients themselves.
> After we efficiently process the received ingredients, we then use the Spoonacular API to receive a list of recipes one could make that best fits the ingredients given!
> With this web app, you can enter your list of ingredients available or take a picture of a written note and then we’ll recommend the ideal meal for you!
>
>
> ## How we built it
>
>
> The project was built in Visual Studio Code with MongoDB, Express, React.js, Node.js, HTML, CSS, and JavaScript. We also built an android version using Android Studio and Java that integrates with the same Node.js server being used on the web app.
>
>
>

## Challenges we ran into

>
> Our team is composed of beginner hackers, and we struggled with some of the most basic things. From trouble with github, and learning what a “pull request” was to being unable to connect our React frontend with our Node.js backend, somehow we were able to push through. After staying up till 3AM on the first day, and then pulling an all nighter on the last day of the hackathon, we worked really hard to get our current results!
> In the end, we had a huge blast laughing about the dumbest things past midnight, and we loved the process of fixing 3 hour long bugs. We learned in this hackathon that anything is possible, and that we were able to build a full stack app in just 36 hours!
>
>
>

## Accomplishments that we're proud of

>
> We are proud of developing a website/android app that looks aesthetically pleasing, and with a fully functioning, modularized backend given our skillset. Our team worked really hard together to develop all aspects of our product.
>
>
>

## What we learned

>
> We learned an incredible amount about web development and integrating the frontend and backend. Many of us came into the project with very diverse skills, so we were able to learn a lot from each other.
>
>
>

## What's next for TastyDinner

>
> Stay tuned, stay hungry, cause you are going to get a #TastyDinner.
> **TastyLunch coming soon!**
>
>
>
## Problem

In these times of isolation, many of us developers are stuck inside which makes it hard for us to work with our fellow peers. We also miss the times when we could just sit with our friends and collaborate to learn new programming concepts. But finding the motivation to do the same alone can be difficult.

## Solution

To solve this issue we have created an easy to connect, all in one platform where all you and your developer friends can come together to learn, code, and brainstorm together.

## About

Our platform provides a simple yet efficient User Experience with a straightforward and easy-to-use one-page interface.

We made it one page to have access to all the tools on one screen and transition between them easier.

We identify this page as a study room where users can collaborate and join with a simple URL.

Everything is Synced between users in real-time.

## Features

Our platform allows multiple users to enter one room and access tools like watching youtube tutorials, brainstorming on a drawable whiteboard, and code in our inbuilt browser IDE all in real-time. This platform makes collaboration between users seamless and also pushes them to become better developers.

## Technologies you used for both the front and back end

We use Node.js and Express the backend. On the front end, we use React. We use Socket.IO to establish bi-directional communication between them. We deployed the app using Docker and Google Kubernetes to automatically scale and balance loads.

## Challenges we ran into

A major challenge was collaborating effectively throughout the hackathon. A lot of the bugs we faced were solved through discussions. We realized communication was key for us to succeed in building our project under a time constraints. We ran into performance issues while syncing data between two clients where we were sending too much data or too many broadcast messages at the same time. We optimized the process significantly for smooth real-time interactions.

## What's next for Study Buddy

While we were working on this project, we came across several ideas that this could be a part of.
Our next step is to have each page categorized as an individual room where users can visit.
Adding more relevant tools, more tools, widgets, and expand on other work fields to increase our User demographic.
Include interface customizing options to allow User’s personalization of their rooms.

Try it live here: <http://35.203.169.42/>

Our hopeful product in the future: <https://www.figma.com/proto/zmYk6ah0dJK7yJmYZ5SZpm/nwHacks_2021?node-id=92%3A132&scaling=scale-down>

Thanks for checking us out!