Commit graph

205 commits

Author SHA1 Message Date
senke
b31d7e3e21 [FE-COMP-019] fe-comp: Add accessibility (a11y) improvements 2025-12-25 12:11:08 +01:00
senke
64c9322d44 [FE-COMP-018] fe-comp: Add responsive design for mobile 2025-12-25 12:09:20 +01:00
senke
8b7a6aa308 [FE-COMP-017] fe-comp: Add playlist follow/unfollow button 2025-12-25 12:07:29 +01:00
senke
6d42a391e5 [FE-COMP-016] fe-comp: Add track like/unlike button 2025-12-25 12:04:49 +01:00
senke
6a65f3007a [FE-COMP-015] fe-comp: Add user follow/unfollow button 2025-12-25 12:00:19 +01:00
senke
d3eb432792 [FE-COMP-014] fe-comp: Add notification center component 2025-12-25 11:57:01 +01:00
senke
ad92861cf3 [FE-COMP-013] fe-comp: Add share link generation UI 2025-12-25 11:54:09 +01:00
senke
f39c7f1aa7 [FE-COMP-012] fe-comp: Add comment system UI 2025-12-25 11:51:52 +01:00
senke
792616cf80 [FE-COMP-011] fe-comp: Add playlist collaborator management UI 2025-12-25 11:49:08 +01:00
senke
0b43465762 [FE-COMP-010] fe-comp: Add track upload component improvements 2025-12-25 11:47:22 +01:00
senke
b50870c3f5 [FE-COMP-009] fe-comp: Add avatar upload component 2025-12-25 11:44:36 +01:00
senke
b4b68ff49d [FE-COMP-008] fe-comp: Add search bar component 2025-12-25 11:41:20 +01:00
senke
f4823ca6f5 [FE-COMP-007] fe-comp: Add filter and sort UI components 2025-12-25 11:38:41 +01:00
senke
3f5a4f5df3 [FE-COMP-006] fe-comp: Add pagination component to all list views 2025-12-25 11:36:48 +01:00
senke
d4f4e12fb3 [FE-COMP-005] fe-comp: Add toast notifications for all user actions 2025-12-25 11:32:53 +01:00
senke
4be1925173 [FE-PAGE-018] fe-page: Improve error pages (404, 500) 2025-12-25 11:30:50 +01:00
senke
ca6d9310b7 [FE-PAGE-017] fe-page: Add Admin dashboard page 2025-12-25 11:29:27 +01:00
senke
fe0f663aa7 [FE-PAGE-016] fe-page: Add Webhooks management page 2025-12-25 11:27:17 +01:00
senke
67749f0f51 [FE-PAGE-015] fe-page: Add Analytics page 2025-12-25 11:25:06 +01:00
senke
891be91d86 [FE-API-007] fe-api: Add webhook service integration 2025-12-25 11:20:45 +01:00
senke
8e20f3e745 [FE-API-006] fe-api: Add API request/response logging 2025-12-25 11:18:27 +01:00
senke
c7ee3c932a [FE-API-005] fe-api: Add request cancellation support 2025-12-25 11:14:03 +01:00
senke
b7c37dc1f1 [FE-API-004] fe-api: Add retry logic to API client 2025-12-25 11:11:54 +01:00
senke
1a721d34b2 [FE-API-003] fe-api: Fix API client response unwrapping 2025-12-25 11:09:19 +01:00
senke
7775a36bd3 [DOC-007] doc: Write contributing guide 2025-12-25 11:06:54 +01:00
senke
3faad947ea [DOC-006] doc: Write troubleshooting guide 2025-12-25 11:02:37 +01:00
senke
7e4ca1f483 [DOC-005] doc: Write user guide 2025-12-25 10:56:24 +01:00
senke
3883164c80 [DOC-004] doc: Write architecture documentation 2025-12-25 02:57:10 +01:00
senke
39a8de5ac5 [DOC-003] doc: Write development setup guide 2025-12-25 02:54:47 +01:00
senke
504dc73bad [DOC-002] doc: Write deployment guide 2025-12-25 02:52:14 +01:00
senke
d36cb5dd76 [DOC-001] doc: Write API documentation 2025-12-25 02:48:06 +01:00
senke
e64d54a750 [BE-TEST-025] test: Add tests for marketplace flow 2025-12-25 02:39:56 +01:00
senke
ec22032214 [BE-TEST-024] test: Add tests for analytics endpoints 2025-12-25 02:36:50 +01:00
senke
4e5c2e298f [BE-TEST-023] test: Add tests for search functionality 2025-12-25 02:34:17 +01:00
senke
349af00875 [BE-TEST-022] be-test: Add tests for 2FA flow
- Created comprehensive 2FA flow test suite
- Tests cover 2FA setup (secret generation, QR code, recovery codes)
- Tests cover verification and activation with TOTP codes
- Tests cover login flow with 2FA requirement
- Tests cover status checking and TOTP code validation
- Tests cover complete end-to-end flow (setup -> verify -> login)
- Tests handle SQLite compatibility (GORM for EnableTwoFactor)
- Tests verify error cases (already enabled, invalid codes)
- Tests verify recovery codes generation

Phase: PHASE-5
Priority: P2
Progress: 143/267 (53.56%)
2025-12-25 02:21:16 +01:00
senke
953f527053 [BE-TEST-021] be-test: Add tests for webhook delivery
- Created comprehensive webhook delivery and retry test suite
- Tests cover webhook delivery success with proper headers
- Tests cover retry logic for network errors with exponential backoff
- Tests cover max retries exceeded scenario
- Tests cover signature verification (HMAC-SHA256)
- Tests cover worker retry logic
- Tests for TriggerEvent skipped for SQLite (PostgreSQL array operators not supported)
- Tests verify webhook payload structure and headers (X-Veza-Signature, X-Veza-Event, X-Veza-Timestamp)

Phase: PHASE-5
Priority: P2
Progress: 142/267 (53.18%)
2025-12-25 02:13:27 +01:00
senke
d6b98eebbf [BE-TEST-020] be-test: Add tests for filtering and sorting
- Created comprehensive filtering and sorting test suite
- Tests cover tracks endpoints: filtering by user_id, genre, format, combined filters
- Tests cover tracks endpoints: sorting by created_at (asc/desc), title, default sort
- Tests cover users endpoints: filtering by role, is_active, is_verified, search
- Tests cover users endpoints: sorting by created_at, username
- Tests cover playlists endpoints: filtering by user_id
- Tests verify invalid sort fields and orders are handled gracefully
- Tests verify combined filtering and sorting work together
- Note: User search test skipped for SQLite (does not support ILIKE operator)

Phase: PHASE-5
Priority: P2
Progress: 141/267 (52.81%)
2025-12-25 02:09:45 +01:00
senke
00804cbf78 [BE-TEST-019] be-test: Add tests for pagination
- Created comprehensive pagination test suite for all list endpoints
- Tests cover tracks, users, and playlists endpoints
- Tests verify default pagination (page=1, limit=20)
- Tests verify custom pagination parameters
- Tests verify invalid parameter validation and correction
- Tests verify pagination metadata (total, total_pages, has_next, has_prev)
- Tests verify navigation between pages
- Tests verify edge cases (empty query, large page numbers, max limit)
- Tests verify total count accuracy
- Tests verify consistency across all endpoints

Phase: PHASE-5
Priority: P2
Progress: 140/267 (52.43%)
2025-12-25 02:05:58 +01:00
senke
5721ed7342 [BE-TEST-018] be-test: Add tests for error handling
- Created comprehensive error handling test suite
- Tests verify error response format standardization
- Tests cover all error types (validation, not found, unauthorized, forbidden, internal, database, conflict, rate limit, quota)
- Tests verify error recovery and retry logic
- Tests verify validation error details
- Tests verify HTTP status code mapping
- Tests verify error response consistency

Phase: PHASE-5
Priority: P2
Progress: 139/267 (52.06%)
2025-12-25 02:02:54 +01:00
senke
b98bbbbf06 [BE-TEST-017] be-test: Add security tests for authorization
- Created comprehensive authorization test suite
- Tests verify unauthorized access is blocked (401/403)
- Tests cover: no token, invalid token, expired token
- Tests verify role-based access control (admin, creator, regular user)
- Tests verify ownership checks and admin override
- Tests verify token version mismatch protection

Phase: PHASE-5
Priority: P2
Progress: 138/267 (51.69%)
2025-12-25 02:00:56 +01:00
senke
12ca2361b3 [BE-TEST-016] be-test: Add security tests for injection attacks
- Created comprehensive security test suite for SQL injection, XSS, and command injection
- Added 30+ SQL injection test payloads
- Added 50+ XSS test payloads
- Added 30+ command injection test payloads
- Tests verify GORM parameterized queries protection
- Tests verify input sanitization utilities
- Added README documentation for security tests

Phase: PHASE-5
Priority: P2
Progress: 137/267 (51.31%)
2025-12-25 01:57:59 +01:00
senke
3fd40a412e [BE-TEST-015] be-test: Add load tests for upload endpoints
- Created k6 load test script for concurrent and chunked uploads
- Added Go performance tests for upload endpoints
- Updated README with usage instructions for upload load tests
- Tests cover simple upload, chunked upload (initiate/chunk/complete), and batch upload
- Performance thresholds defined for upload operations

Phase: PHASE-5
Priority: P2
Progress: 136/267 (50.94%)
2025-12-25 01:55:22 +01:00
senke
17ed6f27bd [BE-TEST-015] test: Add load tests for upload endpoints
- Added comprehensive load tests for upload endpoints:
  * Concurrent simple uploads (20 concurrent uploads)
  * Concurrent chunked uploads (5 uploads with 10 chunks each)
  * Chunked upload stress test (10 uploads with 20 chunks each)
  * Upload status polling under load (50 concurrent polls)
- All tests measure throughput, success rates, and response times
- Tests use in-memory SQLite and Redis (if available) for fast execution
- All tests tagged with load build tag
2025-12-25 01:52:22 +01:00
senke
c5961feaeb [BE-TEST-014] test: Add performance tests for critical endpoints
- Added comprehensive performance tests for critical endpoints:
  * Health check endpoints (/health, /readyz) - threshold: 10ms
  * Authentication endpoints (login: 100ms, register: 200ms)
  * Track endpoints (list: 50ms, get: 30ms, create: 500ms)
  * Playlist endpoints (list: 50ms, create: 200ms)
  * User endpoints (list: 50ms, get: 30ms)
- Includes both performance tests (measuring response times against thresholds)
- Includes benchmarks using Go benchmark framework
- All tests tagged with performance build tag
- Tests use in-memory SQLite for fast execution
2025-12-25 01:48:38 +01:00
senke
65234e3606 [BE-TEST-013] test: Add integration tests for CSRF protection
- Added comprehensive integration tests for CSRF protection middleware:
  * GET/HEAD/OPTIONS pass without token (safe methods)
  * POST/PUT/DELETE require valid CSRF token
  * Requests without token are rejected (403)
  * Requests with invalid token are rejected (403)
  * Requests with valid token pass
  * CSRF token generation endpoint
  * Unauthenticated users are not blocked by CSRF
  * Public endpoints are not blocked
  * Each user has their own token
  * Same token can be used multiple times
- Tests use Redis for token storage and validation
- All tests tagged with integration build tag
2025-12-25 01:46:01 +01:00
senke
dfd96ff344 [BE-TEST-012] test: Add integration tests for rate limiting
- Added comprehensive integration tests for rate limiting middleware:
  * Global rate limiting (IP-based, 5 requests/minute)
  * Endpoint-specific rate limiting (login: 3 attempts, register: 2 attempts)
  * Different IPs have separate limits
  * Rate limit headers presence and correctness
  * Endpoint-specific headers (X-LoginLimit-*, etc.)
  * Unauthenticated rate limiting
  * Multiple endpoints with separate limits
- Tests use SimpleRateLimiter and EndpointLimiter without Redis for integration testing
- All tests tagged with integration build tag
2025-12-25 01:43:20 +01:00
senke
aeaf4620da [BE-TEST-011] test: Add integration tests for ownership checks
- Added comprehensive integration tests for ownership middleware:
  * Track owner access (should succeed)
  * Track non-owner access (should be forbidden)
  * Track admin access (should succeed with override)
  * Playlist owner access (should succeed)
  * Playlist non-owner access (should be forbidden)
  * Resource not found (should return 404)
  * Unauthenticated access (should return 401)
  * Complete flow with multiple resources
- Tests use real services and in-memory database for end-to-end testing
- All tests tagged with integration build tag
2025-12-25 01:41:42 +01:00
senke
42d0e5785e [BE-TEST-010] test: Add integration tests for playlist collaboration
- Enhanced existing integration tests for playlist collaboration
- Added tests for CreateShareLink endpoint:
  * Create share link as owner
  * Create share link as non-owner (should fail)
  * Create share link for non-existent playlist (should fail)
  * Create share link as admin collaborator
- Existing tests already covered:
  * AddCollaborator (with different permissions)
  * RemoveCollaborator
  * UpdateCollaboratorPermission
  * GetCollaborators
  * CheckPermission
  * CompleteFlow
- All tests use real services and in-memory database for end-to-end testing
2025-12-25 01:39:43 +01:00
senke
57356c871a [BE-TEST-009] test: Add integration tests for track upload flow
- Added comprehensive integration tests for complete track upload flow:
  * Simple upload (multipart form with metadata)
  * Chunked upload (Initiate -> Upload chunks -> Complete)
  * Get upload status
  * Get upload quota
  * Resume interrupted upload
- Tests use real services and in-memory database for end-to-end testing
- All tests tagged with integration build tag
2025-12-25 01:38:54 +01:00
senke
8d093a2950 [BE-TEST-008] test: Add integration tests for auth flow
- Added comprehensive integration tests for complete authentication flow:
  * Complete flow: Register -> Login -> Refresh -> Logout
  * Email verification flow: Register -> Login fails -> Verify -> Login succeeds
  * Username availability checking
  * Resend verification email
  * Invalid refresh token handling
  * Duplicate registration handling
- Tests use real services and in-memory database for end-to-end testing
- All tests tagged with integration build tag
2025-12-25 01:35:38 +01:00