coder13 / coder13/LetsCube

Add opt-in racer preferences and discovery filters

Aperta
#190 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
area: social enhancement priority: P2
Lingua principale
JavaScript
Stelle
30
Fork
9
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

## Goal

After the Friend System MVP is stable, help cubers discover compatible racers beyond people they have already met in a room.

## Candidate profile fields

All fields must be optional, coarse, and independently hideable:

- preferred WCA events;
- language tags;
- timezone or broad availability windows;
- self-described pace bands per event.

Do not infer or publish age, exact location, email, hidden WCA identity, or solve history.

## Discovery contract

- Users are excluded from recommendations by default until they opt in.
- Filters and recommendations must respect blocks and profile visibility.
- Explain why a result matched; do not create opaque global rankings.
- Keep search bounded and rate-limited and provide a way to leave discovery immediately.
- Validate demand with Friend System usage before choosing the final fields or ranking logic.

## Acceptance criteria

- [ ] Research which two or three fields users will actually maintain and document the privacy tradeoffs.
- [ ] Add profile visibility and discovery opt-in controls with safe defaults.
- [ ] Define coarse, validated values rather than unrestricted location/speed text where possible.
- [ ] Add filtered discovery with pagination, rate limits, block enforcement, and explicit empty states.
- [ ] Add data retention/deletion behavior and privacy-safe adoption metrics.
- [ ] Test hidden fields, opt-out, blocking, pagination, and unauthorized access.

## Dependencies

- #75
- #82
- #188

## Non-goals

- Exact geolocation.
- Age-based matching.
- Automatic competitive ratings.
- Shipping as part of the Friend System MVP.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia esaminando le dipendenze #75, #82 e #188, quindi valida la domanda attraverso l’utilizzo di Friend System prima di definire i campi del profilo o la logica di ranking. Il lavoro è considerato completato quando i compromessi relativi alla privacy e i campi scelti sono documentati e sono presenti i controlli di discovery, i filtri, le misure di sicurezza, il comportamento di conservazione e i test di privacy e accesso elencati.

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

Valutazione

Stack tecnologico
javascript
Ambito
backend-api-design
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.