freeCodeCamp / freeCodeCamp/freeCodeCamp
Replace the REST API questions in the Introduction to Express quiz
- Dominant language
- TypeScript
- Stars
- 455k
- Forks
- 46.2k
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 215
Description
### Describe the Issue
`quiz-introduction-to-express` contains 6 questions that belong to the `rest-api-and-web-services` module, not to `introduction-to-express`:
1. `What is the relationship between an API and a web service?`
2. `Which HTTP header does a client use to tell the server which response format it wants?`
3. `What does statelessness mean in a REST architecture?`
4. `Which REST HTTP method is used to remove a resource?`
5. `What is a key advantage of microservices over a monolith?`
6. `Which of the following is true about SOAP compared to REST?`
These come from the `lecture-understanding-rest-api-and-web-services` lessons, which are now taught in a later module. PR #69518 moved `rest-api-and-web-services` after `introduction-to-express`, so the Introduction to Express quiz tests these concepts before they are taught. In PR #69503, the matching summary sections were removed from the Introduction to Express review page and moved to a new `review-rest-api-and-web-services` page, so these six questions no longer have a corresponding review section in their own module.
The six questions should be removed and replaced with 6 new questions on Express topics, so the quiz stays at 20 questions.
Creating the REST API and Web Services quiz that these questions belong to is tracked separately in #69504.
### Affected Page
https://www.freecodecamp.org/learn/back-end-development-and-apis-v9/quiz-introduction-to-express/quiz-introduction-to-express
### Expected behavior
`quiz-introduction-to-express` should have 20 questions, all covering topics from the `introduction-to-express` module's review page:
- What Express.js is, and what `express()` and `app.listen()` do
- Middleware and plugins
- Routing, route methods, route paths, route parameters and `req.params`
- Route handlers, `req` and `res`
- Response methods (`res.send()`, `res.json()`, `res.status()`, `res.redirect()`, `res.render()`)
- Chainable route handlers with `app.route()`
- Modular routing with `express.Router()`
- Serving static files with `express.static()`
The 6 questions listed above should no longer appear in the quiz.
### Additional context
Per the [quiz guide](https://contribute.freecodecamp.org/how-to-work-on-quizzes/), all quiz questions must come from the corresponding review page or prior workshops, and each question has 4 options (1 answer and 3 distractors).
## Want to Contribute?
This issue is part of the **Contributor Sprint** initiative! If you're interested in helping out:
1. Join our Discord: https://chat.freecodecamp.org
2. Claim the **Naomi's Sprints** role
3. Ping Naomi in `#naomis-sprints` to be assigned this ticket
Contributor guide
Research direction
Open the affected quiz page and compare its questions with the Introduction to Express review page, using the quiz guide for question and distractor requirements. Replace the six listed REST and SOAP questions with six Express-focused questions sourced from the module topics, then verify that the quiz has 20 questions and no longer tests concepts taught in the later module.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- express, javascript
- Domain
- content
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 74/100