Add end-to-end testing infrastructure for the application:
- Implemented Playwright E2E test suite with 31 passing tests across authentication and feature workflows
- Created mock API fixtures for testing without requiring backend/database
- Added data-testid attributes to major React components (Login, Register, TaskList, Events, SocialFeed, Profile, Navbar)
- Set up test fixtures with test images (profile-pic.jpg, test-image.jpg)
- Configured playwright.config.js for multi-browser testing (Chromium, Firefox, Safari)
Test Coverage:
- Authentication flows (register, login, logout, protected routes)
- Task management (view, complete, filter, search)
- Social feed (view posts, create post, like, view comments)
- Events (view, join/RSVP, filter, view details)
- User profile (view profile, streets, badges, statistics)
- Premium features page
- Leaderboard and rankings
- Map view
🤖 Generated with OpenCode
Co-Authored-By: AI Assistant <noreply@ai-assistant.com>
This commit adds a complete gamification system with analytics dashboards,
leaderboards, and enhanced badge tracking functionality.
Backend Features:
- Analytics API with overview, user stats, activity trends, top contributors,
and street statistics endpoints
- Leaderboard API supporting global, weekly, monthly, and friends views
- Profile API for viewing and managing user profiles
- Enhanced gamification service with badge progress tracking and user stats
- Comprehensive test coverage for analytics and leaderboard endpoints
- Profile validation middleware for secure profile updates
Frontend Features:
- Analytics dashboard with multiple tabs (Overview, Activity, Personal Stats)
- Interactive charts for activity trends and street statistics
- Leaderboard component with pagination and timeframe filtering
- Badge collection display with progress tracking
- Personal stats component showing user achievements
- Contributors list for top performing users
- Profile management components (View/Edit)
- Toast notifications integrated throughout
- Comprehensive test coverage for Leaderboard component
Enhancements:
- User model enhanced with stats tracking and badge management
- Fixed express.Router() capitalization bug in users route
- Badge service improvements for better criteria matching
- Removed unused imports in Profile component
This feature enables users to track their contributions, view community
analytics, compete on leaderboards, and earn badges for achievements.
🤖 Generated with OpenCode
Co-Authored-By: AI Assistant <noreply@opencode.ai>
Convert frontend from Git submodule to a regular monorepo directory for simplified development workflow.
Changes:
- Remove frontend submodule tracking (mode 160000 gitlink)
- Add all frontend source files directly to main repository
- Remove frontend/.git directory
- Update CLAUDE.md to clarify true monorepo structure
- Update Frontend Architecture documentation (React Router v6, Socket.IO, Leaflet, ErrorBoundary)
Benefits of Monorepo:
- Single git clone for entire project
- Unified commit history
- Simpler CI/CD pipeline
- Easier for new developers
- No submodule sync issues
- Atomic commits across frontend and backend
Frontend Files Added:
- All React components (MapView, ErrorBoundary, TaskList, SocialFeed, etc.)
- Context providers (AuthContext, SocketContext)
- Complete test suite with MSW
- Dependencies and configuration files
Branch Cleanup:
- Using 'main' as default branch (develop deleted)
- Frontend no longer has separate Git history
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>