We feel that since the lockdown, the interaction between teachers and students has greatly reduced due to inefficiency of online classes. Even though most of the classes go smoothly, the lack of physical presence and interactions between student and teachers leave many doubts and issues as unsolved.
What it does
HandsUp will provide a platform for students to learn together, where student themselves will ask and answer academic questions along with sharing useful academic resources. Some key features include- Sign-in system using Gmail CRUD operations Leaderboard Search functionality Voting system for question and answers Filtering Feedback form Views system User profile Marking answers as correct
We aim to build core values of helping others in the student by contributions on the platform Maximize the benefit of doubt solving for everyone Encourage and empower students to ask all of their doubts through the platform
How we built it
we used VS code as our code editor and Github for collaborating withing our team.
Backend- mongoDB, node.js, express Frontend- html, css, bootstrap, EJS
Roles- Piyush- Backend Samyak- Frontend Nishil- Cleaning and fixing bugs on both backend and frontend, deploying the website
Throughout the hackathon, we used websites like Stack Overflow to ask our own doubts about feature implementation and sometimes also watched specific Youtube tutorials. Deployed on Heroku.
Challenges we ran into
Finding an idea that everybody in the team liked was difficult because of time constraints and varying preferences Deploying the app on Heroku was difficult, because we have not published a full stack app before OAuth system- the sign-in with google was easy to implement in code, however there is a lot of complexity about the redirects/ landing pages that we have to add on the google console developer Integrating the Question and Answer together- It was tough to integrate both of the Mongoose schema in the web app, because each question had an array of answers Small bugs- many times when we implemented one feature on top of another, the initial feature failed to work. Eg. when we built our frontend pages for specific questions, our voting system stopped working, because we made silly errors.
Accomplishments that we're proud of
We are proud that we completed the project to an extent, that we were able to deploy it for the world to see Our project is something that we would personally like to use Working extremely hard for the past two days so that our idea comes to fruition We were able to add complex features- voting system for questions and answers, search bar for questions, filter. In order to implement these features we had to continuously do research online Any new ideas that we could think of along the way, we implemented in the website
What we learned
Before this project, all of us had some experience in web dev, but we did not know how to implement such a wealth of features in our web app. Through this project, we learned a lot about the frameworks we are using and how they are all integrated together Working in a team, where all individuals are very different personalities can lead to unimaginable and innovative products For something to be of quality, dedication is a must We do not need to know everything in the web development to make a web app, learning along the way with websites like Stack Overflow is much better than just watching tutorials (learning by doing)
What's next for Hands Up
We don't want to just build something for a hackathon, we will approach various schools for implementation of Hands Up. If we want to implement this in the real world, we will have to polish the web app a lot and focus on fixing major many bugs as well. Since we focused more on the actual functionality, we must now also focus on the UI. Some more advanced features like finding the difficulty of the question (number of people who have upvoted, high percentage meaning more difficult) and implementing active recall (if asker marks as question to be solved, they will be asked to solve the question again after few weeks to confirm that they have understood, have option to mark at the end) for solved questions. Thinking of also making the web app personalized for each school, so a tight knit community of students are present. Also adding moderation by teachers to solve doubts and monitor wrong behavior of students