Inspiration

We were inspired to create this project because we often discuss inconsequential matters of opinion with one another. For instance, we could spend hours talking about what flavor of Arizona Tea we think is superior (mango was declared the winner). Sometimes, the best way to settle our disagreements is by branching out and seeing what others believe. ZotClash accomplishes this exactly.

What it does

ZotClash brings an exciting new interactivity to the classic game of "Would You Rather". Players answer a series of UCI-related questions, making decisions based on their personal preferences. Questions include discussions of high contention, including whether the Anteatery is superior to Brandywine, or if Mesa Court is superior to Middle Earth. At the end of the experience, the user receives a visualization of all previous answers from other users that have answered the same questions.

How we built it

Our foundation is built with the standard web development languages HTML, CSS, and JavaScript. We increased the strength and reach of our project by fetching our images and data from our database built with MongoDB.

Challenges we ran into

All of us were not familiar with MongoDB and JavaScript, so understanding the syntax and using a database was definitely a challenge. We had a hard time understanding how to structure our project, and how we would get and store user inputs. Writing scripts to fetch data from our database and sending that data so our frontend was a challenge as well. We essentially wrote an API from scratch that returns data as JSON so that a script running our frontend can parse and use that data. However, with our trusty mentor by our side, we slowly started to understand the wacky syntax of JS and how we could get data from an external database. Eventually, we started to finish the scripts needed for our frontend to work, and our database was able to be updated based on user input.

Accomplishments that we're proud of

We are proud of being able to use an external database to power our project. Being able to use an external database and being able to push updates to it, gives us the flexibility of scaling the project. Despite being beginners in the all the technologies used, we were able to construct a working application. As we incrementally implemented different request/response protocols, every working commit was a small victory in our books. One of the biggest accomplishments working on the backend was seeing the frontend come together to animate our work.

What we learned

We learned a lot about the funky behavior of request protocols. Complications with asynchronous programming and inserting data in to our MongoDB collections pushed our knowledge and called for more research in the various technologies. We also learned the conventions of coding with version control and making a project from the bottom up. Being able to test your code on postman and your local host was crucial for committing code and working as a team.

What's next for ZotClash

Our next steps for ZotClash is to scale it with more comparisons. Implementing PeterPortalAPI to import comparisons for professors/classes would be our next step and a possible option in the home page. Adding user suggestions to the end of the game to insert more data into our database would be another step to scale our project to be less repetitive and more enjoyable. Changes such as smoother animations and cleaner user interface should be another task to tackle.

Share this project:

Updates