Inspiration
Many times when studying for exams, we wished that there was an easy way to search for practice problems without having to search through exam archives, where questions aren't separated by topics. This website is both run by the community and used by the community.
What it does
Students can upload questions from tests for other students to see. When uploading a question, the student adds tags indicating what topics the question is related to. Another student can then search this tag, and practice the question that has been uploaded, as well as any other related questions. Students can also add comments under a question if they need help with it, or they can post a solution to help other users.
How we built it
We built the website using ReactJS for the front end, Express.js and Node.js for the middleware and backend, and MySQL as the database system for storing questions, comments, etc.
Challenges we ran into
We initially had trouble implementing the cropping feature for questions, as the react-image-crop library wasn't working initially. After trying different versions of the library, we were able to implement the feature and store the cropped questions/images in the database.
Accomplishments that we're proud of
We were able to successfully create the search functionality which allows users to view questions based on tags. This includes loading comments and related topics as well. The UI to upload questions is also very intuitive and straightforward.
What we learned
We learned more about the capabilities of the MERN stack, and how to efficiently send data between the front and backend without delay and excessive calls.
What's next for Testify
It would be nice to add an upvote feature so that higher-quality questions are displayed before the others. This would ensure that users can get the best quality of practice possible.
Log in or sign up for Devpost to join the conversation.