DEV Community

Cover image for I Created 500+ Dev questions and Launched a Quiz platform πŸ†πŸŽ‰
Madza
Madza

Posted on

I Created 500+ Dev questions and Launched a Quiz platform πŸ†πŸŽ‰

Companies usually want to test a specific area of knowledge. Quizzes are an engaging method to measure your expertise in the particular field.

That's why I created DevQuizzes, an online platform where you can test your knowledge across various DEV topics.

Content

Over the last 6 months I read a lot of official documentation and studied dozens of tutorials to create the content basis for initial launch.

I ended up creating over 500 questions in 20 categories.

Main

Numbers in the parentheses show the questions in each quiz. Grey color represents the quizzes in progress, while white - all the new ones.

Percentages are shown just for completed quizzes, with green and red colors representing the passed and failed quizzes, respectively.

Quiz

When a category is selected, user gets presented with a quiz. By default unanswered questions are shown first.

Each question usually provides 2 to 4 possible answers. For the reference each question has a topic/title.

Correct

The next question is only available if the current question is answered. The previous questions are available as soon as there are some.

When provided, user can click a Hint button. This way an additional information about the question will be revealed.

Some questions do provide a code snipped, which the question is based on.

Progress

All the progress is stored in the Local storage.

Users are also able to clear the Local storage, for both - all quizzes at once or any particular quiz separately.

Progress

At any point during the quiz, the user has an access to the list of questions, meaning the questions can be manually picked or reviewed later.

Rewards

After completion of the quiz, user gets awarded ether gold (>90%), silver (>75%), bronze (>60%).

Results

If user scores in the range from 60% to 40%, test is passed but no award is given. All the results below 40% fail.

Users have an option to share their achievements in social media.

Contributions

Everyone is welcome to submit questions via Airtable form.

Questions will be accepted unless they duplicate an existing content. The database will be updated daily.

Each contributor gets credited as well as included in the the most recent and/or most active contributors list in the Top section.

Final notes

The project is live, feel free you try it. The quiz platform is responsive, meaning it is easy to play on both desktop and mobile devices.

I'm hoping the project will help the community. I'm also looking forward to add questions and features to the platform itself in the future.


If you have any questions, feel free to reach out!

Connect me on Twitter, LinkedIn and GitHub!

Top comments (44)

Collapse
 
afif profile image
Temani Afif

There are a few issues with the CSS quizz

1) The question about border is not valid because the order is not important. If you check the formal syntax (developer.mozilla.org/en-US/docs/W...) you will notice the use of || which mean any order so solid grey 1px is also valid (like grey solid 1px, grey 1px solid, etc). You should also remove the quotes '
2) The question about position:fixed is not very accurate because the element will not always say fixed on scroll. There are some particular cases where this will break. So technically the answer can be false (related: stackoverflow.com/q/52937708/8620333)
3) The question about !important is not very clear. Not sure what you meant by "user-defined" but !important simply increase the specificity and will not necessarily take precedence because we also need to check the selectors (we may have another rule with !important)
4) The overflow question is also not accurate because we aren't obliged to set height (or width). There are a lot of cases where other properties enter in play. Example: jsfiddle.net/e2atgo8d/ (we don't have height and no block elements)
5) for the one about z-index, we cannot say that only z-index control the layers. A lot of other properties enter in play and we can control the layers without using z-index. I can do it with only transform. So z-index is one property among many that can have an impact on the painting order.

Collapse
 
madza profile image
Madza • Edited

Thanks for the valuable input! πŸ‘β€
I will review the questions and edit them accordingly πŸ˜‰

Collapse
 
gealber profile image
Gealber Morales

Cool project, I already tested😌. By the way just one suggestion, allows the person that pass a quiz to review their answers, giving them a short explanation on what their failed. In that way they learn.

Collapse
 
madza profile image
Madza

Thanks so much for the feedback πŸ™β€
I agree, currently most of the explanations just point to the right answer. Expanding more on them is def something I look to improve in the the future πŸ˜‰

Collapse
 
mweeks profile image
m-weeks • Edited

I found a few issues/misleading questions in the JavaScript quiz:

Q9:

Which event occurs when the user clicks on an HTML element?

The answer on the quiz is onClick, but I think click is the valid answer. element.onclick is just one way to define a click handler, the other being element.addEventListener('click', () => {}). Mozilla even calls it the "click event" (developer.mozilla.org/en-US/docs/W...)

Q12:

If you supply only one parameter for Date, it will be treated as milliseconds.

The answer in the quiz is True, but Date can also accept a string as a single parameter, which will be parsed. So I think this question is misleading

Q38:

What character is used for reminder operator in JS?

I think the question was supposed to read "What character is used for the remainder operator in JS?"

May I suggest adding a way to provide feedback from within the site?

Overall though, it's a super nice way to test your knowledge!

Collapse
 
madza profile image
Madza

Thanks for the input! πŸ™πŸ’–
Just fixed the questions you noted πŸ˜‰
I might implement feedback from a site in the future πŸ˜‰

Collapse
 
rafaacioly profile image
Rafael Acioly • Edited

Hi Madza, this project is super nice, congratulations.

I've taken the git quizz and found a little mistake, there is this question:

Which of the following commands is used in
switching between branches?

- git switch
- git checkout
- git branch
- git change
Enter fullscreen mode Exit fullscreen mode

The correct answer can be git switch or git checkout depending on the git version.

git checkout was introduced on version 2.4

git-scm.com/docs/git-checkout
git-checkout - Switch branches or restore working tree files

git switch was introduced on version 2.27.x

git-scm.com/docs/git-switch
git-switch - Switch branches

git switch was added to make the commands more precise, (git checkout had too many responsibilities), now instead of using git checkout to switch branchs or restore tree files we have two new commands:
git switch and git restore

Collapse
 
madza profile image
Madza • Edited

Thanks for the contribution! I've edited the question and included you in the Top contributors list πŸ‘πŸ†
Also you can submit edits directly from the platform... As soon as each question is answered there is an Edit option on the left. πŸ˜‰

Collapse
 
salarc123 profile image
SalarC123

Two pieces of feedback:

  1. I don’t think you should store the data in localStorage because it can be deleted when the browser history is cleared, so you should just make an authentication system and keep everything in a database.
  2. I think it would be more fun if you turned this into an HQ or Trivia Crack for developers (HQ is a popular trivia app where you do live competitions). You could also allow users to make and submit their own questions
Collapse
 
madza profile image
Madza

Thanks for the feedback, appreciate that πŸ™πŸ’–
When I developed this I was not sure if this was something worth of creating auth for, cause the initial idea was to create something freely accessible and simple to test the knowledge πŸ˜‰

Collapse
 
pallev profile image
Patrick

Looks neat - how often have people been asken when SQL was invented?
I find that knowledge irrelevant when measuring how good I am.

Collapse
 
andyinpembs profile image
andy

How often? Never. The only reason I knew it was I was taught it in college in 1988 and remember it had been round for yonks already.
There has to be some advantage of being old, yes? :D

Neat project Madza - looks & works awesome!

Collapse
 
madza profile image
Madza

Thanks a lot for trying out the project πŸ‘πŸ˜‰

Collapse
 
madza profile image
Madza

Thanks πŸ˜‰ Let's just assume, it goes out to show how rock solid it has been through the years, still being as relevant as ever πŸ’ͺπŸ˜€πŸ˜€

Collapse
 
cosmoverse profile image
Cosmoverse

Could add Python as one of the sections?

Collapse
 
madza profile image
Madza

Python is def planned in the future πŸ˜‰
For now I added it as submit option if users have ideas for questions πŸ˜‰

Collapse
 
cosmoverse profile image
Cosmoverse

Oh okay :)

Collapse
 
bobbyiliev profile image
Bobby Iliev

This is pretty awesome! I did a similar thing in the past with the Quiz API website πŸš€

Collapse
 
ghana7989 profile image
ghana

Why is github Auth system broken?

Collapse
 
bobbyiliev profile image
Bobby Iliev

I’ll look into it

Collapse
 
madza profile image
Madza

Awesome πŸ˜‰ I see you have extended the functionality by providing an API to embed quizzes on external websites πŸ‘ Very handy πŸ˜‰

Collapse
 
tijmen_de_jong profile image
Tijmen de JongπŸ’»

Found a question with a wrong answer

Collapse
 
madza profile image
Madza

Thanks for the input πŸ˜‰πŸ‘
What's the category and name, so I can fix it? πŸ› 

Collapse
 
tijmen_de_jong profile image
Tijmen de JongπŸ’» • Edited
Collapse
 
madza profile image
Madza

Thanks for the input! πŸ˜‰ Fixed the question.
I've also added a functionality for users to edit questions directly from the platform πŸ˜‰

Collapse
 
theonlytails profile image
TheOnlyTails

It would be nice to see the correct option if I answered wrong. After all, I'm trying to gain some new knowledge.

Collapse
 
madza profile image
Madza • Edited

Thank you for your suggestion πŸ‘β€
Currently I have that part of functionality commented out in the code and the right answer is presented as a text after the question is answered πŸ˜‰ I will re-consider your idea for sure πŸ’‘πŸ˜‰

Collapse
 
okyanusoz profile image
okyanusoz

Great! Just one thing: Can you open-source the project? Thanks.

Collapse
 
madza profile image
Madza • Edited

Thanks a lot! πŸ˜‰
Currently no plans to do that as both the platform itself and the questions are stored in a single GitHub repo. Going open source would sooner or later cause someone to clone all the content, deploy it under their own domain and claim it as theirs, the sad truth I've learned from blog posts and other content πŸ˜‰
If I ever decide to do backend and move questions to DB, I might re-consider to open source the platform itself. πŸ˜‰

Collapse
 
lamambasan profile image
San Lamamba

That’s what I call a full bundle, awesome work, fella! πŸ”₯πŸ”₯πŸ”₯πŸ”₯

Collapse
 
madza profile image
Madza • Edited

Thanks so much πŸ™β€ Means a lot πŸ˜‰

Collapse
 
nikolajsvendsen profile image
NikolajSvendsen

Awesome, thanks for this!

Collapse
 
madza profile image
Madza

Great to hear and you are welcome! πŸ™πŸ’–

Collapse
 
stevenmcgown profile image
StevenMcGown

Wonderful!

Collapse
 
madza profile image
Madza

Thanks a lot πŸ™πŸ’–

Collapse
 
adarsh45 profile image
Adarsh Shete

Awesome project ! Really Enjoyed it πŸ‘Œ

Collapse
 
madza profile image
Madza

Happy to hear! πŸ˜‰ Thanks! πŸ™πŸ’–