docs: update documentation with recent features

- Update README.md with tier system and recent features
- Add 3-tier account system (BASIC/SUPPORTER/COMFORT) to docs
- Document fairness algorithm and dual buffer system
- Add clickable usernames and country flags features
- Update test count to 285/286 passing (99.7%)
- Update database schema documentation with tier fields
- Update all last modified dates to 2025-11-29
This commit is contained in:
Radosław Gierwiało
2025-11-29 23:39:44 +01:00
parent aef1a35ee2
commit f187b3e44e
4 changed files with 54 additions and 24 deletions

View File

@@ -49,6 +49,7 @@ Browser A ←──────────────────────
## 🗃️ Modele bazy danych (Implemented)
- `users`: identyfikacja, email, hasło (bcrypt), avatar, profile data
- Account tiers: `accountTier` (BASIC/SUPPORTER/COMFORT), `recordingsDone`, `recordingsReceived`
- `events`: lista eventów (z worldsdc.com + manual entries)
- `divisions`: competition divisions (Novice, Intermediate, Advanced, etc.)
- `competition_types`: Jack & Jill, Strictly
@@ -58,7 +59,9 @@ Browser A ←──────────────────────
- `matches`: relacja między dwoma użytkownikami (CUID slugs for security)
- `ratings`: oceny po wymianie nagraniami (1-5, komentarz, collaboration preference)
- `event_participants`: tracking event participation
- Recording opt-out, competitor numbers, `accountTierOverride` (event-specific tier upgrades)
- `event_checkin_tokens`: QR code check-in system
- `recording_suggestions`: auto-matching results with collision detection
---
@@ -89,7 +92,7 @@ Browser A ←──────────────────────
- Socket.IO 4.8.1 (WebSocket)
- PostgreSQL 15 with Prisma ORM 5.8.0
- bcrypt + JWT authentication
- Jest + Supertest (286/286 tests passing, 73% coverage)
- Jest + Supertest (285/286 tests passing - 99.7%, 73% coverage)
### WebRTC
- RTCPeerConnection (implemented)
@@ -175,6 +178,6 @@ const wyslijWiadomosc = (wiadomosc) => {
---
**Last Updated:** 2025-11-23
**Last Updated:** 2025-11-29
**Status:** ✅ MVP Complete - All core features implemented and tested

View File

@@ -16,7 +16,7 @@
## Current Status
**Phase:** MVP Complete - Ready for Production Deployment
**Tests:** 286/286 backend tests passing (73% coverage)
**Tests:** 285/286 backend tests passing - 99.7% (73% coverage)
**Next Goal:** Infrastructure setup (server, domain, SSL)
### Core Features (All Implemented)
@@ -24,11 +24,15 @@
- Real-time chat (Socket.IO) - event rooms + private 1:1
- WebRTC P2P file transfer (RTCDataChannel, up to 700MB tested)
- Competition heats system for matchmaking
- Recording matching system (auto-assign recorders)
- Recording matching system with 3-tier account system (BASIC/SUPPORTER/COMFORT)
- Fairness algorithm (karma tracking: recordingsDone vs recordingsReceived)
- Dual buffer system (prep before + rest after dancing)
- Clickable usernames with @ prefix, country flags
- Matches & ratings API
- QR code event check-in
- PWA (offline support, iOS compatible)
- Security: CSRF, rate limiting, account lockout
- Test bot for automated testing
---
@@ -63,12 +67,13 @@
Key models:
- `users` - Auth, profile, social links, location, lockout fields
- Account tiers: `accountTier` (BASIC/SUPPORTER/COMFORT), `recordingsDone`, `recordingsReceived`
- `events` - Dance events with unique slugs
- `event_participants` - User-event relationship, competitorNumber
- `event_participants` - User-event relationship, competitorNumber, recorderOptOut, `accountTierOverride`
- `divisions` / `competition_types` / `event_user_heats` - Competition system
- `matches` - User pairings with CUID slugs
- `ratings` - 1-5 stars, comments
- `recording_suggestions` - Auto-matching results
- `recording_suggestions` - Auto-matching results with collision detection
- `chat_rooms` / `messages` - Real-time chat persistence
---
@@ -107,6 +112,11 @@ docker compose exec backend npm test
MATCH_STATUS: pending | accepted | rejected | completed
SUGGESTION_STATUS: pending | accepted | rejected | not_found
CONNECTION_STATE: disconnected | connecting | connected | failed
ACCOUNT_TIER: BASIC | SUPPORTER | COMFORT
// Tier fairness penalties
FAIRNESS_SUPPORTER_PENALTY: 10
FAIRNESS_COMFORT_PENALTY: 50
```
---
@@ -129,4 +139,4 @@ CONNECTION_STATE: disconnected | connecting | connected | failed
---
**Last Updated:** 2025-11-23
**Last Updated:** 2025-11-29

View File

@@ -7,14 +7,17 @@
## Current Status
**Phase:** MVP Complete - Ready for Production Deployment
**Tests:** 286/286 passing (73% coverage)
**Tests:** 285/286 passing - 99.7% (73% coverage)
**Status:** Awaiting infrastructure setup
### Recently Completed (2025-11-23)
- Recording Matching System (auto-assign recorders for heats)
- Competitor Number (Bib) Support
- Frontend Refactoring (component extraction, status constants)
- Dashboard with real-time updates (online count, unread messages)
### Recently Completed (2025-11-29)
- 3-Tier Account System (BASIC/SUPPORTER/COMFORT) with fairness algorithm
- Dual Buffer System (prep before + rest after dancing)
- Clickable Usernames with @ prefix in profiles
- Country Flags in Event Chat
- Mobile-first Design Improvements (page titles on mobile)
- Recording Matching System Improvements (collision detection, schedule config)
- Test Bot for Automated Testing
**Full history:** See `docs/archive/COMPLETED.md`
@@ -114,5 +117,5 @@ http://localhost:8080
---
**Last Updated:** 2025-11-23
**Last Updated:** 2025-11-29
**Full Details:** See `docs/archive/COMPLETED.md` for implementation details