The inspiration for this project really just came from our own knowledge of the importance of the environment. We wanted to create a change in our own, unique way to help save animals from endangerment and extinction.
What it does
The centerpiece of Animalia is the two-player game. A question is sent from the server to both players at the same time, and the first player to answer it correctly wins the point. The player with the most points at the end of nine questions wins. Surrounding the game are many other features, including a global chat system, rating system, leaderboard, statistics pages, and even various facts about endangered species from the U.S. Fish and Wildlife Service.
How we built it
Challenges we ran into
On the way, we ran into many road bumps, but learned valuable lessons from them at the end. For one, we were not entirely familiar with Bootstrap’s CSS before this hackathon, which caused a lot of head-scratching for seemingly simple tasks. Additionally, we weren’t sure how to develop a websocket server in python. We overcame this by using the websockets library’s documentation. We also had to deal with the quotas that our database provider (CockroachDB) set for the free tier. We did this by caching the user data for specific actions and updating the cache every 5 minutes. Another issue we ran into was when we made a profile page. This page had an accuracy statistic, which was calculated by the number of questions answered correctly divided by the number of questions asked. If the user was new, the number of questions asked would be 0, and because it is impossible to divide by 0, it caused an error. We resolved this by not calculating the user’s accuracy until the user has answered a question.
Accomplishments that we're proud of
We are proud that we were able to put together this app in such a short period of time, since this was our first hackathon ever. We’re also proud we were able to find a good, socially practical use for many of the technologies we had learned previously.
What we learned
As beginners, we really learned a lot throughout this hackathon. We learned how to use many different libraries and technologies. These include websockets in Python, which were really interesting to see integrated into our webapp. We learned more about frontend development, including Bootstrap and web design.
What's next for Animalia
In the future, we may expand the scope of the program. We may find more APIs, or even dynamically generate questions through web scraping and natural language processing. Additionally, we might use the infrastructure of the site to expand into other subjects that need more attention from the general public.