Commit Graph

22 Commits

Author SHA1 Message Date
david 54fb92d1a1 feat: Add authorization checks to admin and player actions 2026-03-27 13:10:29 -07:00
david 36d7b311f7 refactor: Restructure authentication into separate actions 2026-03-27 13:10:22 -07:00
david cbd552e3fd fix: Update admin templates with player names and edit links 2026-03-27 13:10:17 -07:00
david 1d3f128cd5 feat: Add match edit and update actions with authorization 2026-03-27 13:10:08 -07:00
david a077d9d881 style: Add responsive CSS for dashboard, auth, and cards 2026-03-27 13:09:57 -07:00
david af2d323ff1 feat: Add authentication helpers to base action 2026-03-27 13:09:51 -07:00
david 76a46f51ed feat: Add authentication templates and actions 2026-03-27 13:09:46 -07:00
david c5f6b2f6b3 feat: Add admin dashboard with statistics cards 2026-03-27 13:09:43 -07:00
david 3725738420 feat: Add authorization service with role-based permissions 2026-03-27 13:09:41 -07:00
david abdf600506 fix: add missing player profile view file
Add the view definition for player profile page that was missing
from the previous commit.
2026-03-27 12:25:54 -07:00
david ac858f1e6d feat(tournaments): add partnership tracking and tournament management
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
2026-03-27 12:25:34 -07:00
david cb47b9da99 refactor: update rankings action to pass current_player
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
2026-03-27 12:25:27 -07:00
david 841caa50fa feat(players): add player profile and schedule views
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
2026-03-27 12:25:14 -07:00
david e7ddd0f72f feat(auth): implement authentication system foundation
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
2026-03-27 12:25:08 -07:00
david f88c1f5a7f feat(ui): add navigation layout and basic styling
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
2026-03-27 12:24:59 -07:00
david 5bb3bc4e5f feat: enhance match entry form with validation and data
Add improved match entry form with player selection validation and
better user experience for recording match results.

Changes:
- Add player validation to prevent same player on both teams
- Add team score validation (must have winner)
- Improve form layout and player selection UI
- Add helper methods for player lookup and team building
2026-03-27 12:24:53 -07:00
david 119905685f fix: correct Elo calculator winner validation logic
The Elo calculator was incorrectly rejecting valid scores (10-7) because
it checked if team score >= 10 without verifying the opposing team's score.

Changes:
- Update winner determination to check both score >= 10 AND score > opponent
- Add detailed error message with actual scores for debugging
- Ensure only one team can win (not both reaching 10 points)
2026-03-27 12:24:46 -07:00
david 1268889a78 Add Elo rating system with match entry and CSV upload
- Implement EloCalculator service for 2v2 Euchre matches
- Create background job processing with GoodJob
- Add single match entry form
- Add CSV upload for batch match entry
- Create player rankings view
- Add database schema for matches and elo snapshots
2026-03-26 16:28:24 -07:00
david 1a9b3496e1 🟢 create.rb for new files
🟢 destroy.rb for new files
🟢 edit.rb for new files
🟢 index.rb for new files
🟢 new.rb for new files
🟢 update.rb for new files
🟢 destroy.html.erb for new files
🟢 edit.html.erb for new files
🟢 index.html.erb for new files
🟢 new.html.erb for new files
🟢 destroy.rb for new files
🟢 edit.rb for new files
🟢 index.rb for new files
🟢 new.rb for new files

The provided Git diff contains the addition of several new files representing different actions for the admin/players section of the application. These new files include create.rb, destroy.rb, edit.rb, index.rb, new.rb, update.rb, as well as corresponding HTML erb templates and view files. Additionally, the routes.rb file has been modified to include routes for the new admin player actions. Finally, there are new spec files for testing each of the new actions.
2024-10-02 03:40:13 -07:00
david 006c7f62a3 fix the app because the blog post is wrong? 2024-09-12 20:16:14 -07:00
david 6040c7aaf2 implement players 2024-09-12 19:06:02 -07:00
david d0010a5c9b initial commit hanami 2024-09-06 12:59:40 -07:00