Inspiration
We were inspired to build an app that allows users to answer and ask questions while engaging in a game-like environment with friendly competition and awards. Apps like Duolingo have found success with this topic, but we wanted to make a free, more widely available app that students and adults can easily submit questions free of paywalls, advertisements, or any other restrictions. The theme of this hackathon is to help out our community, and we believe that Quexa can help out every community with aspiring students and experts who love learning, helping, and of course, climbing leaderboards.
What it does
Quexa has all of the features of a normal Q&A forum application but has a game-based twist to it. While we weren't able to fully implement every feature we hoped Quexa would have in its short development timeframe, we aspire for it to become a professional catalyst for both friendly competition and education. If you are a student who just needs an answer to a question, create a forum post and wait for responses. If you are an expert in your field or an educator, create an account and answer other's questions. However, if you are drawn towards the idea of gold, points, leaderboards, and in-game shops, we hope that your questions and responses are of a higher quality and speed as such factors lead to a better personal score!
How we built it
Ryan worked on the front end using HTML, CSS, and JavaScript. All scripts, style sheets, and page layouts were made completely from scratch for this Hackathon. The front-end process first consisted of page layout and structuring while communicating with Aahan about the buttons, links, and labels that would need to be later implemented through back-end methods and data. After each page was fully structured, the next process was styling, bug-fixing, and finally linking everything with the database.
Aahan worked on the back end using Python with Flask. The backend process involved receiving, processing, and storing data from the front end. SQL was used to query information to and from the database safely and securely. Different routes accommodated each service, allowing for an organized and methodical system to handle the user experience. I worked closely with Ryan to send data in a format that could be easily displayed in a visually appealing manner.
Challenges we ran into
In general, the development process was pretty smooth thanks to a small team and a shared goal, so the biggest challenges we faced were bug-fixing lack of planning, and too much ambition. There are multiple planned features that we had to drop to prioritize functionality (such as the store, post-filtering, and post-searching). Still, overall, we are satisfied with the quality of our developed product.
Accomplishments that we're proud of
Considering our team's restriction to mainly working on Saturday and Sunday because of school, we feel that Quexa's main functionality was fully implemented while still feeling fluid, professional, and representative of our original idea and goals. We are especially proud of the post-viewing page, both the styling, easy-to-use functionalities and complete linkage to the database and point system. We're also proud of the professional visuals for each of Quexa's web pages hand-made completely through CSS and JavaScript action events.
What we learned
Our two-person team learned the importance of agreeing on a solid, inspirational idea and communicating thoroughly throughout the entire development process. Although we split the work into front-end and back-end (which helped bypass the common merge conflict or messy Git branch organization), we learned to continuously communicate with one another, which helped us catch potential disagreements, unnecessary work, and last-minute scrambles. And, of course, we both learned more about our respective roles as we went about programming a full application in 48 hours. Taking on such an ambitious project was difficult to balance with schoolwork, yet seeing it through from start to finish helped both of us further understand the general development process of web applications.
What's next for Quexa
We hope to further finalize its main features, such as filtering and searching, as well as implement more cosmetic and competitive aspects through the shop, profile personalization, and more leaderboard features.
Log in or sign up for Devpost to join the conversation.