Inspiration
I have found practice tests extremely useful at school but found them hard to find, and even when I did find some, they did not address the topics I needed help with. I wondered if there was a way to make tests that addressed all of my needs on the go. That's why I decided to make Test-Maker Pro.
What it does
Test-Maker Pro makes dynamic and customizable tests. You just have to specify the type of test you want and it'll create it. You can include any detail you want such as the subject, topic, grade level, language, number of questions, or other criteria and it'll make a custom-tailored test for your specific needs. It will automatically grade the test and give you an explanation of the questions as well. You can log in to save your test and your score so the next time you log back in, you can go over the same test and see your previous score.
How I built it
I built Test-Maker Pro using Python, React, and MySQL. I used Python to add tests, get tests, and store and retrieve login information in the MySQL database. I also used Python in the backend to generate the test questions, answer choices, and explanations using ChatGPT. I asked ChatGPT to give me all the responses in JSON so I could directly send them to the front end. I used the Flask framework to send the tests to the front end and displayed them using React.
Challenges I ran into
One big challenge I faced was the time constraint. I had to manage my time well so that I got everything done on time. It was especially challenging since I was working solo. Another big challenge I faced was learning how to use the ChatGPT API to generate tests in a format I could display in the front end. ChatGPT would often give me tests in the incorrect format or would give me tests with incorrect JSON so I had to make sure my instructions were specific. I had to check ChatGPT's output to make sure it was proper JSON.
Accomplishments that I'm proud of
An accomplishment I'm proud of is making the login and saving tests system work properly since I didn't have much time to finish those parts of the website. I'm also really proud that the website works pretty well and without any obvious bugs.
What I learned
While making Test-Maker Pro I learned how to use the ChatGPT API in Python. I learned how to make ChatGPT give me information in the format I needed. I also learned how to make a website using both React and Python since I didn't have much experience using both of those languages together.
What's next for Test-Maker Pro
I plan on adding a notetaking feature which would allow you to take notes for each question within the website itself. I also plan on allowing the user to make free response questions which would be checked, scored, and critiqued by ChatGPT. I want to use ChatGPT to identify weaknesses of the user and give advice to the user based on their performance on tests. I also want to improve ChatGPT's performance by training it by providing data on how the tests should look to avoid any incorrectly formatted responses and more customized topics with relevant questions.
Log in or sign up for Devpost to join the conversation.