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

Build a feature-flagged multi-session competition room

Aperta
#201 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
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
cypress, javascript, mongodb, nodejs, react

Direzione di ricerca

Inizia leggendo l’issue #199 e il modello Room/RaceSession esistente, quindi esegui la copertura Cypress delle stanze normali prima di valutare il flusso delle stanze di competizione. Il lavoro è completato quando la funzionalità disabilitata per impostazione predefinita supporta entrare → selezionare l’evento → risolvere → cambiare evento → risolvere, conserva risultati di sessione separati, ripristina lo stato dopo un aggiornamento o una riconnessione e lascia invariate le stanze normali.

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

Descrizione

area: results enhancement priority: P1

Part of #199.

Goal

Prove the new Room/RaceSession model through a small user-visible competition-room flow without changing the simple normal-room experience.

Vertical slice

  • Create or seed one competition room associated with a competition.
  • Give it at least two event RaceSessions.
  • Allow an eligible user to enter the room, choose an event session, and race.
  • Keep attempts, waiting state, and results independent between sessions.
  • Allow switching sessions without leaving the room.
  • Preserve completed results when a session ends or another session becomes active.
  • Hide the feature behind a disabled-by-default configuration flag.

UX requirements

  • The ordinary home-page Create room action and copy-link flow remain unchanged.
  • Normal rooms do not show competition/session-selection UI.
  • Competition participants enter one room, then choose an event.
  • The active session and event must always be obvious.
  • Mobile layouts must not become a dashboard or require navigating a complex competition schedule.
  • Unsupported or unavailable sessions show a clear, recoverable state.

Acceptance criteria

  • One competition room can contain and display at least two event sessions.
  • Two users can race in one session while another session retains separate state.
  • Switching sessions cannot submit a solve to the wrong attempt.
  • Refresh and reconnect restore the selected room/session safely.
  • Permissions prevent unauthorized session creation or control.
  • Ended-session results remain available to authorized users.
  • Normal-room Cypress coverage proves no added step or visible complexity.
  • A competition-room Cypress flow covers join → select event → solve → switch event → solve.
  • The feature can be disabled without affecting normal rooms.

Deferred

  • Automatic creation three days before every WCA competition.
  • Complete competition discovery and registration syncing.
  • Friends, invitations, notifications, rankings, and Discord integration.
Lingua principale
JavaScript
Stelle
30
Fork
9
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Apri la guida per i contributori

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 coder13/LetsCube

Tutte le issue di coder13/LetsCube

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.