The Internet is beautifully complex. Millions of nodes form a decentralized entity that allows us to access information from all over the world. But that got us thinking, what is life like as a packet of information traversing the internet? Here, at DNS Dash, you can experience what that is like. Race against friends to travel from a randomly generated IP to a specified target IP in the fastest time possible! Check out the leaderboards to see who the fastest packets are! Enter a name below and get to racing! If this is your first time playing, scroll down for instructions.
One team member came in with prior understanding of the DNS resolution process, and so we decided to take a twist on that by relying on both the ability for one nameserver to have multiple ips across the globe, as well as being authoritative for multiple domains regardless of tld zone. The backend API was build with Flask and PostgreSQL and deployed to heroku, and was responsible for managing game state and validating ip responses, as well as returning "adjacent" ips. The data for the adjacent ips was found by parsing ~700 zone files for their nameserver, domain, and ip relations. The frontend was done in Vue.js, with globe rendering and marker placement handled by the library globe.gl.
Challenges:
- Did not receive com, org, or net zone files in time
- API ran slow due to cost limitations
- Team started off at 4 people and ended up at 1.5
- One team member had to learn a substantial portion of Vue in a day
- Team was spread out across 3 time zones
Log in or sign up for Devpost to join the conversation.