Inspiration
We were inspired by how we could use modern technology to solve problems in education. We wanted to help students learn in a fun way.
What it does
Currently our code opens a local server where users can connect to the same chatroom on that server. Chatters can see the current question, and if they enter the correct answer to the chatroom, then they gain a point, and might show up on the leaderboard. There's also messages for if a user gets a point, connects to the chatroom, or disconnects from the chatroom.
How we built it
We use node.js to create a local server on our computer. Once the server is running, users can connect to the same port to access our chatroom. Messages are sent from the client to the server using socket.io, which broadcasts information to everyone else in the chatroom. We also store a list of questions and iterate through them until all questions have been exhausted.
socket.on('correct-answer', data => {
appendMessage(`${data.name} answered correctly and now has ${data.points} points!`, data.name, 'correct-answer');
});
Challenges we ran into
We had a lot of difficulty setting up the server. We almost gave up because we had difficulty understanding the tutorial we were following. The tutorial used too many dependencies that we couldn't understand, so we ended up creating a simpler version, which is just as effective for our project.
Accomplishments that we're proud of
We're very proud of our server which took a lot of time and energy to create. It was our first time using node.js so we're happy we were able to learn it under a short period of time. We are also proud to have a working prototype that has no bugs.
What we learned
We learned how to create servers using node.js, express.js, and socket.io. We learned how to use GitHub and work on code as a team. Finally, we learned how to code in JavaScript and to design webpages in HTML/CSS.
What's next for Knowledge Knockout
We originally wanted to use AI and NFTs (yes, NFTs) in our project. We wanted AI to generate the questions, so that users can study for any topic they want. We also wanted to award those on the leaderboards with their own NFTs and display them in their profile page. Finally, we wanted to also provide the option for users to send their own questions, and also download a PDF "study sheet" of all the questions they got wrong. This project could easily be expanded and has lots of potential to grow.
Log in or sign up for Devpost to join the conversation.