Inspiration

When I want to test my knowledge in a subject, or to prepare for an interview, I go to look for MCQ questions and try solving them. MCQ questions give easy and quick way to test out knowledge. They also give us a good confidence in that knowledge if wee solve them well. So I said why not to develop an interactive MCQ platform for programming language.

What it does

It offers many MCQs in different programming languages, in interactive way That helps in learning, gathering knowledge and test that knowledge. It is also can be a fast way to learn a new programming language, because the MCQs shows the elements of the languages and user can compare with the prior knowledge. The platform has an interactive code editor that allows the user to show, modify and run the question code to get better understand. Also every question has an explanation why the right answer is true, and there is the ability to show more explanation using chatGPT through OpenAI api.

How I built it

I used MySQL as a database. backend with go (golang) and fiber framework. Frontend with Reactjs DB has the questions table and the related questions. Also the users table Backend get the required data from the DB bases in the request from the UI. Backend has many processing to achieve, like reading the sent code, format it, compile and run, and sent back the result. Also it handles the collecting of questions based on the selected programming language Frontend does a lot of thins, to show the questions in the proper way

Challenges I ran into

A lot of challenges, about collecting and showing the question very well, based on the selected programming language, the last solved question or based on the selected table, and offering the ability to move to the next question and the previous one Also about handling the ability of compiling and tun the codes and providing the output to user

Accomplishments that I'm proud of

I am very proud for all the project. I believe it is amazing and adds a valuable value. I am also proud about my ideas it provides, and my solution for the problems I faced to make it in this form

What I learned

I learned better about React, how to compile and run text program from my running program, how to solve edge cases, and more.

What's next for MCQ.Dev Platform

I have different ideas for the near future, like: 1- Organizing the code and make it more modular 2- Working on securing the platform 3- adding more programming languages 4- providing the ability for other subject with MCQs like ML, AI, Data science, Networking, DevOps, and others, all of them with an interactive and visualized way! 5- Adding leaderboard and contests. 6- Adding the ability to share questions, explanations and codes int different social networks 7- Creating mobile app

Built With

Share this project:

Updates