alexzheng587 / scholars-direct

Video and voice calling web app using WebRTC
2 stars 1 forks source link

Scholars Chat

Project Description

Scholars Chat is an online tutoring website where students can post questions and tutors can initiate a one-on-one video call session with them.


Group Members:


Project Goal

We wanted to build a website both for students who are looking for a tutor as well as tutors looking to find students to teach. Students will be able to ask questions and provide additional details and add subject tabs. Tutors will be able to choose from the pool of questions available and contact them to answer their questions.


Project Task Requirements:

Minimal Requirements:

Standard Requirements:

Stretch Requirements:


Required Tech Stack:


Next Steps:

The next step would be including a private shared whiteboard for users that are calling each other, and the ability to share screens. Another good addition would be enabling a rating system so every student can rank their tutor after a session to promote better tutoring..


Team Contributions:

Colin: I was responsible for the main question view of the webpage, including implementing adding questions and filtering questions by tabs, as well as the majority of the frontend direction, including the UI and setting up the general React/Redux structure. Also worked on backend endpoints/operations related to handling questions and contacts and also organized documentation.

Alexander: I contributed to the video calling portion of the app by creating a socketio signaling server and writing the code that sets up the WebRTC connection. I also implemented a live messaging service with graphql subscriptions. Finally, I figured out how to deploy everything to heroku and get the backend and frontend working together

Jialin: I have worked on some frontend components and backend routes, such as homedashboard, routes, but my main contribution is the profile Page, which includes building the frontend components using react framework and ui libraries including material-ui and sematic-ui, setting up a database model for profile and backend api routes to query and update presonal profile using mongoose and graphql, and lastly connecting frontend to backend.

Pengwei: I mainly focused on authentication. It includes login and registration for frontend and backend. Also, I add google Oauth to support google login. And I deploy project into heroku.