Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Add progressive hints to practice problems

Open
#11 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active

Research direction

Read backend/arena/docs/problems.md and backend/arena/scripts/validate-problems.js to understand the problem format and validation, then trace how practice problems and battle payloads are assembled from frontend/pages/problems/[slug].js and frontend/pages/battle.js. Add and document optional hints, validate them, display them one at a time only in practice, and ensure battle responses omit them. Add examples for five problems and tests for validation and battle payloads; run npm test and node scripts/check-boundary.js.

Written by the indexing model from the issue text.

Description

enhancement help wanted

Players who are stuck get nothing between the examples and giving up. Problems have no hints field today.

What to do

  • Add an optional hints field to the problem format: an array of short strings, from gentle nudge to near-solution. Document it in backend/arena/docs/problems.md.
  • Teach backend/arena/scripts/validate-problems.js to accept it and reject empty or non-string hints.
  • In practice (frontend/pages/problems/[slug].js), show a "Show hint" button that reveals one hint at a time.
  • Hints must not be available during ranked battles (frontend/pages/battle.js). Make sure the backend does not send them to battle clients at all, not just hide them in the UI.
  • Write hints for at least five existing problems as examples.

Definition of done

  • Hints appear one by one in practice and never in a battle response (check the network payload).
  • Tests cover the validator and the battle payload.
  • npm test and node scripts/check-boundary.js pass.
Dominant language
JavaScript
Stars
0
Forks
2
PR merge metrics
No merged PRs in 30d

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from sennaicodes/codearena

All issues in sennaicodes/codearena

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.