Inspiration
Recently, while selecting the courses for the spring semester we were into hussle and need to search for seniors to ask for the feedback of the professor and courses. So, we found this challenge more relatble to solve as we faced the same problem.
What it does
CourseOpt helps students to find courses of their interest. Here they are allowed to choose their interested courses and based on this they will be recommended similar courses and thier respective professor. Also, It contains the link of the chat application for the respective class so that students can join and have a discussion and can network with people of similar interest and seniors.
How we built it
We used Python Streamlit library for hosting the similar courses recommendation. The courses are recommended based on the interests that the student choose and the topics/domains that gets covered in the course. From the selected courses, only top few are given to the student based on their ratings.
For Chat platform, we used ReactJS as front end development framework. At the start of application, you will be asked to login with your user id and password, after that you will be landed on our course recommender page, getting all our recommendation, you will see an "Group link" for each courses. hitting on that link, you will be at our chat application. Accepting class number from selcted group chat url, we are displaying discussion happened till date. There is "Join Group" option at the top right corner, so after joining the group only you will be authorized to participate in group. You can leave group at any time by clicking on "Leave Group" button. The Backend was bulit using Spring Boot framework (JAVA). Spring boot utilizes JPARepository to interacte with MySQL Database. We divided the schema of database into tables like Users, Courses, Chat_Messages, Chat_Subscription, etc. Finally, using the REST Controller we developed the API endpoints which will be used by frontend for CRUD operations.
Challenges we ran into
Implementing Group chat application, main hurdle was to manage display for the all group members.
Accomplishments that we're proud of
Linking the chat application with the recommender within the given time frame.
What we learned
Developing a chat application platform, hosting a webpage in Python using Streamlit and most importantly, time management. There were also other multiple skills that we learnt and can take away from this project like problem-solving, team work, etc.
What's next for CourseOpt
In the additional functionalities, we can add the reviews for courses from the students who have already taken the courses in their prior semesters. Can also extend it to the ratings of the professors to choose the section for that particular course. Also, we can provide the student with right resources to study from for the chosen courses which can help them during their studies.
Log in or sign up for Devpost to join the conversation.