While distance learning has been tough, I believe that one of the best aspects to arise from it is the Zoom chat. I've found that even though we're in a pandemic, the students are more engaged and the classes have more lively discussions in the chat. We've banded together to support each other and help each other during lecture. I want to keep this connectivity and this spirit going even after the pandemic is over, and we're back in classrooms, so I developed ClassChat to hopefully capture some of that. The other source of inspiration is Kahoot - how easily anyone can join a Kahoot through entering a pin.

What it does

A professor will create a chatroom that has a unique 5 digit pin. Students can join their class chatroom by entering in that pin. If you're lost in lecture, you can ask questions in the chat to be answered by other students or the professor. The professor can open up the chat whenever they want, and don't have to be interrupted in the middle of lecture to answer questions. Students can also send private messages to the professor, if they don't wish to ask their question out loud.

How I built it

It's an Angular web app, with Firebase real time database. Hosted on Google Cloud Platform.

Challenges I ran into

It's my first time working with Angular, Firebase, or GCP. A lot of the challenges came from simply not understanding how to do something in Angular or Firebase, and researching how to do it. I also worked solo, so staying focused was challenging for me, as I didn't have anyone to hold me accountable.

Accomplishments that I'm proud of

Was able to publish a working Angular app, and learned about Firebase database today. Also learned how to host on GCP.

What I learned

Although I've worked briefly with Angular in an internship, I've never created my own project from scratch with it. Doing so was a great experience for me, as I was able to see how different components are made and how they work together. I also learned how to create and store data as queries in Firebase, as well as retrieve and process them. It's also my first time hosting a project on Google Cloud Platform, so I was able to learn a bit about deploying to cloud (I previously stuck to using Github Pages for hosting static sites).

What's next for ClassChat

Unfortunately, I wasn't able to link my custom domain I redeemed from

I also wasn't able to finish the private message feature before the deadline. I would also clean up the UI, and learn more about Firebase so that I can store information securely. I'd also add in a feature where once the class is over and the professor closes the classroom, the chat logs (minus the private messages) can be emailed to them, which can them be posted on Piazza or Blackboard.

For MLH Best Registered Domain

My entry:

Share this project: