Commit Graph

42 Commits

Author SHA1 Message Date
david 856fcf16ba fix: Add data-label attributes for responsive table conversion on mobile 2026-03-27 13:24:03 -07:00
david 8074473f1b feat: Add PWA manifest and service worker for offline support 2026-03-27 13:23:58 -07:00
david 1465bbbee0 chore: Update .gitignore to allow PWA files in public directory 2026-03-27 13:23:52 -07:00
david c0f9733c10 feat: Add JavaScript for bottom nav, offline support, and local storage 2026-03-27 13:23:32 -07:00
david f10f1df91e feat: Update layout with bottom navigation and PWA meta tags 2026-03-27 13:23:30 -07:00
david 9ac63a42e5 style: Add responsive CSS variables and mobile navigation styles 2026-03-27 13:23:28 -07:00
david 4284ae451b chore: Stop tracking runtime artifacts (cookies.txt, euchre_camp.db) 2026-03-27 13:10:49 -07:00
david 3d9f768c85 chore: Update .gitignore to ignore runtime artifacts 2026-03-27 13:10:38 -07:00
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 9372069926 docs: Update README and TODO with project documentation 2026-03-27 13:09:59 -07:00
david a077d9d881 style: Add responsive CSS for dashboard, auth, and cards 2026-03-27 13:09:57 -07:00
david ed7ebd71fa feat: Update routes with admin and auth endpoints 2026-03-27 13:09:55 -07:00
david f2014fa010 feat: Update user entity with role support 2026-03-27 13:09:53 -07:00
david af2d323ff1 feat: Add authentication helpers to base action 2026-03-27 13:09:51 -07:00
david affa487e8e feat: Add user role column to users table 2026-03-27 13:09:49 -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 6332802001 docs: add project documentation and design files
Add comprehensive documentation for project planning and design.

Changes:
- Add TODO.md with project progress tracking
- Add UI_DESIGN.md with frontend view specifications
- Add AAA_DESIGN.md with authentication system design
- Add AAA_IMPLEMENTATION.md with authentication progress tracking
2026-03-27 12:25:40 -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 6c0381b9e2 feat(routes): add new routes for player features and authentication
Add routes for player profile, schedule, and authentication endpoints.

Changes:
- Add /players/:id/schedule route
- Add /login route (GET)
- Add /auth/login route (POST)
- Add /logout route
- Update navigation to support new routes
2026-03-27 12:25:21 -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 6a852e66e3 Add root route pointing to rankings page 2026-03-26 17:58:02 -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 f1889dd885 add remaining migrations 2024-09-16 14:25:57 -07:00
david 643877e3ae add remaining migrations 2024-09-16 13:27:40 -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 c7df3aacfe remove Gemfile.lock from repo
for now, once i make sure it runs on all platforms it'll be fine
2024-09-12 17:53:09 -07:00
david f777ea11b3 implement persistence 2024-09-12 17:52:04 -07:00
david e1c8153aa8 add ruby version 2024-09-06 15:40:13 -07:00
david d0010a5c9b initial commit hanami 2024-09-06 12:59:40 -07:00