Inspiration
Growing up, I always hated the social studies, with all of its boring facts being force fed and crammed into my head mere hours before my exams. Naturally, obviously I dropped all of them the second I got the opportunity this year. While this may have allowed my examination marks to stay consistent, my overall general knowledge about the world was always at an all time low. I always convinced myself that it was just not my forte, but nowadays on social media platforms like tiktok and instagram, you can't go 3 videos without grown adults showcasing their blissful ignorance about every country and race on the surface of this planet. This urged me to find a way to tackle this issue in an effective manner, and after finding a group of like minded people (my teammates), we decided to register for this hackathon in an attempt to create a solution. And lo and behold, we are now proud to present our interactive, fun, challenging website “Eduguesser” that does exactly this.
What it does
The website we built (Eduguesser) hosts a fun informational game which serves a multitude of purposes. The game itself involves users locating a country on an interactive atlas after being provided an initial image with a description and two fun facts about it. We have also implemented a scoring system which gives points based on how close you guess to the actual country and whether or not the users utilized the extra available hints before landing at the location.
How we built it
We got off to a rocky start with no one knowing what language or what environment to proceed with. We debated for a long while and finally decided to use the Pycharm environment and connect it to GitHub. Since we decided on python, we chose the flask framework to develop the web application on the BackEnd. We then learnt Javascript and Html to use for the FrontEnd. Luckily for us, these past weeks we have been learning about databases in school, and we were able to create a database, and a restAPI with CRUD. We then had to understand and implement public APIs to get data for GeoCoding and Map Data We decided to create To Do lists every morning, which is still viewable on the GitHub repository to track our progress. We rationed off various segments of code to different team members and then connected the pieces of the jigsaw. It being our first hackathon, we had to figure things out as we went. Our slow progress accelerated as we figured out how to use websites like Stackoverflow effectively, as well as collaborate better. After all those hours slaving away, we have finally landed at what we have now.
Challenges we ran into
Every segment of code we planned to tackle, ended up being a marathon and it was impossible to treat any of them as a sprint. We were stepping into new territory in virtually every part of this project. In fact, much of our time developing the project was spent scouring through forums. Even once the prototype was ready, we were not ready for all the bugs and issues we would encounter. For example, we spent quite some time stumped on an issue regarding asynchronous data exchange using ajax.
Accomplishments that we're proud of
We set a really ambitious goal in the beginning of the project, having close to zero knowledge on how to create a website, so we were really proud to see the culmination of our time and effort spent learning, researching and typing away slowly take shape and eventually accomplish what we first thought was implausible. In particular, we are really proud about getting the responsive map to work as that required a lot of research and trial and error to get it to work and cater to our needs.
What we learned
Our skills set only consisted of basic python and html and so we had to learn a lot about web development and went more in depth in several languages including javascript. We had to learn how to use several modules including flask and using jinja templating. Also, since this was our first hackathon, we had to learn how to collaborate and distribute work amongst ourselves in order to efficiently finish the required work.
What's next for Eduguesser
Our website is one that has major scope for development and progress. Our current project is a flask development server, which we need to change to a WSGI production server to host properly. We also need to add many more Locations to the Database. The main idea we can implement is multiplayer. Games like Scribbl.io have become insanely popular by allowing small groups of friends to compete against each other. The game can be made more inviting if collectibles start being awarded, suppose for total points accumulated or total games played by a user. Lastly, different age ranges can also be targeted as we can add audio/video prompts to attract a younger as well as a senior audience. By adding these implementations, we genuinely believe that this game has the potential to be played by, and to educate many many people.


Log in or sign up for Devpost to join the conversation.