Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Ranked seasons for code battles

Aperta
#19 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
38/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
javascript, next.js, node.js

Direzione di ricerca

Start with frontend/pages/agent-leaderboard.js for the existing seasonal leaderboard and badge system, then trace where code-battle ratings, battle completion, and scheduled jobs are handled. Run npm test and node scripts/check-boundary.js to understand the existing coverage. Done means implementing seasons, transactional idempotent rollover, snapshots, rewards, and the minimum-games filter, with tests for the reset formula and boundary cases.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement help wanted

Agent battles have seasons (frontend/pages/agent-leaderboard.js). Code battles have one all-time ladder, so the top is frozen and returning players have nothing fresh to climb.

Design

  • Seasons of a configurable length (default 3 months), defined in a seasons table with start, end and name.
  • At season start, ratings soft reset toward the middle: new = 1200 + (old - 1200) * 0.5 by default, configurable. Store the pre-reset rating.
  • A season leaderboard alongside all-time, plus a final-standings snapshot per season that never changes after the season ends.
  • End-of-season rewards: a profile badge for each tier reached, using the existing badge system.
  • A minimum number of season games (default 10) before a player appears on the season leaderboard.

Things that must hold

  • The rollover is a single transaction and idempotent. Running the scheduler twice at the boundary must not reset ratings twice (add a test that runs it twice).
  • A battle that starts before the boundary and ends after it counts for the season it started in.
  • Past standings are computed from the snapshot, never recomputed from changing data.

Definition of done

  • Tests for the reset formula, idempotent rollover, boundary battles and minimum-games filter.
  • A season can be started and ended locally with a script, documented in the pull request.
  • npm test and node scripts/check-boundary.js pass.
Lingua principale
JavaScript
Stelle
0
Fork
2
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di sennaicodes/codearena

Tutte le issue di sennaicodes/codearena

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.