Implement comprehensive partnership tracking system and tournament
management features including round-robin, single/double elimination,
and Swiss system pairings.
Changes:
- Add partnership_games and partnership_stats tables
- Implement PartnershipTracker service for recording partnership data
- Add tournament generator with multiple formats
- Create tournament management actions and views
- Add acceptance tests for partnership tracking
- Fix PartnershipTracker to use single snapshot per player per match
- Fix round-robin test to query by round_number instead of hardcoded ID
Note: All 8 acceptance tests now passing
Refactor rankings action to use render_with_player helper for
consistent current_player availability across views.
Changes:
- Update rankings action to use render_with_player
- Ensure current_player is available in all view templates
Implement player-facing views for profile analytics and tournament scheduling.
Changes:
- Add player profile page with partnership statistics
- Add player schedule page with upcoming matches
- Update rankings page to link to player profiles
- Add partnership tracking display in profile
- Include recent games timeline in profile
Note: Schedule view shows upcoming matches and tournament participation
Add user authentication infrastructure with login/logout functionality,
session management, and basic user model.
Changes:
- Create users table with email, password_digest, confirmation tokens
- Add Users repository with authentication methods
- Add User entity with authentication helpers
- Implement login form and authentication actions
- Add logout action
- Add BCrypt gem for password hashing
- Update base Action class with authentication helpers
- Add login/logout routes
Next steps: Registration flow, password reset, email confirmation
Implement foundational UI components including navigation bar,
CSS styling, and improved rankings page.
Changes:
- Add navigation bar with links to Rankings, Profile, Schedule, Admin
- Add comprehensive CSS styling for tables, forms, buttons, alerts
- Improve rankings page with profile links
- Support conditional navigation based on authentication status