docs: update documentation for Phase 2.5 completion and Phase 3 start

Update README.md:
- Add landing page to features
- Update test coverage section (43% backend, 116 tests passing)
- Add WebRTC tests information (7 tests passing)
- Update project structure (HomePage, hooks, utils, tests)
- Add STUN servers to WebRTC features
- Remove STUN/TURN and server upload fallback from Next Up
- Update roadmap to Phase 3 in progress
- Update test flow with landing page
- Update progress to ~80%

Update SESSION_CONTEXT.md:
- Current phase: Phase 3 (MVP Finalization) in progress
- Add landing page and WebRTC tests to What Works Now
- Update What's Missing (remove STUN, add coverage improvement)
- Add HomePage to routes and key files
- Add useWebRTC, webrtcDetection, test files to key files
- Update socket.js description with WebRTC signaling
- Update final status with all completed phases
- Update progress and date
This commit is contained in:
Radosław Gierwiało
2025-11-15 16:46:19 +01:00
parent 6086589f89
commit 95eebc3e63
2 changed files with 116 additions and 43 deletions

View File

@@ -16,12 +16,13 @@
## Current Status
**Phase:** 2.5 (WebRTC P2P File Transfer) - ✅ COMPLETED
**Current Phase:** 3 (MVP Finalization) - ⏳ IN PROGRESS
**Previous Phases:**
- Phase 2 (Matches & Ratings API) - ✅ COMPLETED
- Phase 1.6 (Competition Heats) - ✅ COMPLETED
- Phase 1.5 (Email & WSDC & Profiles & Security & QR Check-in) - ✅ COMPLETED
**Progress:** ~78% overall
**Next Goal:** Phase 3 - MVP Finalization (Security hardening, PWA, Production deployment)
**Progress:** ~80% overall
**Next Goal:** Security hardening, PWA features, Production deployment
### What Works Now
- ✅ Docker Compose (nginx:8080 + frontend + backend + PostgreSQL)
@@ -43,14 +44,17 @@
-**WebRTC signaling (SDP/ICE exchange via Socket.IO) - Phase 2.5**
-**WebRTC P2P file transfer (RTCDataChannel, 16KB chunks, up to 700MB tested) - Phase 2.5**
-**WebRTC detection & fallback UX (auto-detect browser capabilities) - Phase 2.5**
-**STUN servers for NAT traversal (production-ready) - Phase 2.5**
-**Landing page with hero section and features showcase - Phase 3**
-**WebRTC test suite (7 backend tests passing) - Phase 3**
- ✅ Real-time chat (Socket.IO for event & match rooms)
### What's Missing
- ⏳ STUN/TURN servers configuration for production (NAT traversal)
- ⏳ Server-based upload fallback (when WebRTC blocked)
- ⏳ Security hardening (CORS, CSRF, Helmet, CSP)
- ⏳ PWA features (manifest, service worker, offline support)
- ⏳ Production deployment & monitoring
- ⏳ Competition heats UI integration improvements
- ⏳ Improved test coverage (currently ~43% backend)
---
@@ -118,6 +122,7 @@
## Key Files
**Frontend:**
- `frontend/src/pages/HomePage.jsx` - **NEW: Landing page with hero section - Phase 3**
- `frontend/src/pages/RegisterPage.jsx` - Two-step registration (WSDC lookup + form)
- `frontend/src/pages/VerifyEmailPage.jsx` - Email verification (link + code)
- `frontend/src/pages/ForgotPasswordPage.jsx` - Request password reset
@@ -128,7 +133,10 @@
- `frontend/src/pages/EventChatPage.jsx` - **UPDATED: Heats integration (banner, badges, filtering) - Phase 1.6**
- `frontend/src/pages/EventDetailsPage.jsx` - **NEW: QR code display, participant list - Phase 1.5**
- `frontend/src/pages/EventCheckinPage.jsx` - **NEW: Check-in confirmation page - Phase 1.5**
- `frontend/src/pages/MatchChatPage.jsx` - Private chat + WebRTC mockup
- `frontend/src/pages/MatchChatPage.jsx` - **UPDATED: WebRTC P2P file transfer - Phase 2.5**
- `frontend/src/hooks/useWebRTC.js` - **NEW: WebRTC hook (RTCPeerConnection, RTCDataChannel) - Phase 2.5**
- `frontend/src/utils/webrtcDetection.js` - **NEW: WebRTC browser detection - Phase 2.5**
- `frontend/src/components/WebRTCWarning.jsx` - **NEW: WebRTC blocked warning component - Phase 2.5**
- `frontend/src/components/heats/HeatsBanner.jsx` - **NEW: Heats declaration form component - Phase 1.6**
- `frontend/src/components/common/PasswordStrengthIndicator.jsx` - Password strength indicator
- `frontend/src/components/common/VerificationBanner.jsx` - Email verification banner
@@ -136,6 +144,8 @@
- `frontend/src/services/api.js` - **UPDATED: Heats API (divisionsAPI, competitionTypesAPI, heatsAPI) - Phase 1.6**
- `frontend/src/services/socket.js` - Socket.IO client connection manager
- `frontend/src/data/countries.js` - **NEW: List of 195 countries - Phase 1.5**
- `frontend/src/utils/__tests__/webrtcDetection.test.js` - **NEW: WebRTC detection tests - Phase 3**
- `frontend/src/components/__tests__/WebRTCWarning.test.jsx` - **NEW: WebRTC warning tests - Phase 3**
**Backend:**
- `backend/src/controllers/auth.js` - Register, login, email verification, password reset
@@ -145,12 +155,16 @@
- `backend/src/routes/divisions.js` - **NEW: List all divisions - Phase 1.6**
- `backend/src/routes/competitionTypes.js` - **NEW: List all competition types - Phase 1.6**
- `backend/src/routes/users.js` - **UPDATED: Public profile endpoint - Phase 1.5**
- `backend/src/socket/index.js` - **UPDATED: heats_updated broadcast event, getIO export - Phase 1.6**
- `backend/src/socket/index.js` - **UPDATED: WebRTC signaling (offer/answer/ICE), heats_updated - Phase 2.5**
- `backend/src/utils/email.js` - AWS SES email service with HTML templates
- `backend/src/utils/auth.js` - Token generation utilities
- `backend/src/middleware/auth.js` - Email verification middleware
- `backend/src/middleware/validators.js` - **UPDATED: Social media URL validation - Phase 1.5**
- `backend/src/server.js` - Express server with Socket.IO integration
- `backend/src/__tests__/socket-webrtc.test.js` - **NEW: WebRTC signaling tests (7 tests) - Phase 3**
- `backend/src/__tests__/auth.test.js` - Authentication tests
- `backend/src/__tests__/events.test.js` - Events API tests
- `backend/src/__tests__/matches.test.js` - Matches API tests
- `backend/prisma/schema.prisma` - **UPDATED: 8 tables (EventCheckinToken added) - Phase 1.5**
- `backend/prisma/migrations/20251113151534_add_wsdc_and_email_verification/` - Phase 1.5 migration
- `backend/prisma/migrations/20251113202500_add_event_slug/` - **NEW: Event slugs migration - Phase 1.5**
@@ -330,6 +344,7 @@ RUN apk add --no-cache openssl
## Quick Reference - Frontend Routes
- `/` - Landing page with hero section, features showcase, CTAs
- `/login` - Login page
- `/register` - Two-step registration (WSDC lookup + form)
- `/verify-email` - Email verification (link + PIN code)
@@ -409,7 +424,7 @@ RUN apk add --no-cache openssl
---
**Last Updated:** 2025-11-14
**Last Updated:** 2025-11-15
**Phase 1 Status:** ✅ COMPLETED - Backend Foundation (Express + PostgreSQL + JWT + Socket.IO)
**Phase 1.5 Status:** ✅ COMPLETED - Email Verification & WSDC Integration & User Profiles & Security
- AWS SES email verification (link + PIN)
@@ -427,4 +442,20 @@ RUN apk add --no-cache openssl
- ✅ Frontend: HeatsBanner component for declaration
- ✅ EventChatPage integration: heat badges, filtering, Edit button
- ✅ Matchmaking disabled for users without declared heats
**Next Phase:** Phase 2 - Core Features (Matches API + Ratings + WebRTC)
**Phase 2 Status:** ✅ COMPLETED - Matches & Ratings API
- ✅ Matches API (create/accept/list matches with slugs)
- ✅ Ratings API (rate partners, 1-5 stars, comments)
- ✅ Real-time notifications via Socket.IO
**Phase 2.5 Status:** ✅ COMPLETED - WebRTC P2P File Transfer
- ✅ WebRTC signaling (SDP/ICE exchange via Socket.IO)
- ✅ P2P file transfer (RTCDataChannel, 16KB chunking, 700MB tested)
- ✅ STUN servers for NAT traversal
- ✅ WebRTC detection & fallback UX
- ✅ E2E encryption (DTLS)
**Phase 3 Status:** ⏳ IN PROGRESS - MVP Finalization
- ✅ Landing page with hero section
- ✅ WebRTC test suite (7 backend tests passing)
- ⏳ Security hardening (CORS, CSRF, Helmet, CSP)
- ⏳ PWA features (manifest, service worker)
- ⏳ Production deployment
**Next Goal:** Security hardening, PWA features, Production deployment