Inspiration

We as a team enjoy playing the game Gartic Phone. In Gartic Phone, players create descriptions, and then they create images based on those description made by other players. With each consecutive description and image, they deviate further from the original. We decided to take this idea and turn in from a live multiplayer game into a asynchronous collaboration platform.

What it does

Users can sign up or choose to remain anonymous. When clicking play, they receive one of the many images or descriptions generated by another person from our MongoDB Atlas. They then can use the image or various canvas tools to create the next prompt for another person.

In addition to the ability to grow the database, users can view the entire "Doodle Tree" at once, and shows how it has evolved overtime from the original base prompt. This feature puts an emphasis on collaborating with other people.

How we built it

We decided to use a tech stack including Python and Flask for the backend functionality. For the website interface, we used a combination of HTML5, CSS, and JavaScript. Our database is powered using MongoDB Atlas.

Challenges we ran into

The problem that took up much of our time during the 24 hour period was dedicated to connecting our MongoDB Atlas to our JavaScript and Python files. Unfortunately, this caused some of our planned features to be implemented further along than we had planned for. Some of our members did not work much with Python and Flask before. Luckily, we were able to do our research and progress was steady after we could connect to the database. In the future, we would introduce strong typing to avoid many of the type conversion errors we kept stumbling on.

Accomplishments that we're proud of

We were able to combine our skills and interests to split up tasks, and be more efficient as a team. Lincoln was familiar with web development, but not so much MongoDB or Python. Andrew was familiar with MongoDB, but not so much Python either. Tyler was familiar with Python and some web development, but not MongoDB or Git. We were able to learn from each other and experience what it is like to work in a more professional development environment.

What we learned

Lincoln learned how to use GitHub more effectively, and how to code in the Python coding language. Andrew learned how to integrate database systems with other languages; specifically MongoDB connecting to Python. Tyler Learned how to work in a more professional development environment, and learned how to use Git.

What's next for Doodle Tree

Using our planned path system we use for our nodes, we can do effective searches across our database tree to find descendants, siblings, and ancestors easily. Using this functionality, we plan to implement more ways for users to interact with each other. For example, a dashboard that allows you to see what nodes you have created and how users responded to them. Furthermore, we want to enhance the community aspect through categorizing nodes through ranking interaction to create features like "trending" nodes.

Built With

Share this project:

Updates