The transition to remote learning has been very rushed, and communication between students and professors is a challenge, especially during lecture. Livestream chats are used for questions, but its simplicity means that it can be overwhelmed with off-topic information and many repeated questions, leading to professors missing important questions from students. Online forums solve this issue, but are not in real-time, meaning students have to wait for their questions to be answered, sometimes more than a day. Because of these challenges, we wanted to design an application that creates a specific place for professors to answer questions during lecture.

What it does

AskQ aims to improve the student-professor communication, creating a specific space for questions to be asked and stored. The professors can view the questions, and answer them when they see fit.

How we built it

Our backend relies on Node.js for the server-client communication and Google Firebase Firestore to store the messages in a NoSQL database. We did this in order to be able to use a more complicated data structure for our messages, consisting of a hashed id, message content and rating system. Although only the content is used in our MVP, the other two parts of data will be used to implement a real-time rating system, as it allows us to reference specific messages and change their values in the database. Our user interface consists of html pages and some javascript to dynamically manipulate the DOM’s.

Challenges we ran into

Originally we planned on using python-flask to establish the server-client relationship and run the application. However, we ran into complications with getting the client to connect with the server, and had to switch to Node.js. This proved to be extremely problematic for us, as 3 of our members had no prior javascript experience, and essentially learned the language on the fly.

Accomplishments that we're proud of

Because of our group’s lack of javascript experience, we are proud of our MVP. It may not have all the features we initially planned, but to restart halfway through and make our MVP using frameworks and languages that we had little to no experience with is something we are proud of.

What we learned

This was the first hackathon for three of our group members, and they definitely learned how to manage the craziness of a 24 hour deadline, and how to quickly learn the basics of new frameworks and languages on the fly. The team also learned how to stay positive, especially in times of frustration.

What's next for AskQ

Next for AskQ, we want to implement a rating system for the questions. We want students to be able rate up questions that they think are good, or questions that they may also have. We want to dynamically sort the list, keeping the highest rated questions at the top, for the professors to answer first. We also want to implement containers for questions, so a question could get tagged with a specific topic, and go there.

Share this project: