You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -23,24 +23,27 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
23
23
-`bin/rubocop` - Run Ruby style linter (uses rubocop-rails-omakase)
24
24
25
25
### Deployment (Kamal)
26
+
Let the user handle deployment, but here are the commands you might need to suggest to them.
27
+
26
28
-`kamal setup` - Initial deployment setup
27
29
-`kamal deploy` - Deploy application
28
30
-`kamal console` - Access production Rails console
29
31
-`kamal shell` - SSH into production container
30
32
-`kamal logs` - View production logs
31
33
32
-
Note: Deployment requires `KAMAL_REGISTRY_PASSWORD` environment variable and SSH access to server specified in `config/deploy.yml`.
33
-
34
34
## Application Architecture
35
35
36
-
This is a Rails 8.x application for managing running events with user registration and results tracking.
36
+
This is a Rails 8.1 application for managing running events with user registration and results tracking.
37
37
38
38
### Core Models
39
-
-**Event** (`app/models/event.rb`) - Central entity representing running events with date, location, and number. Manages finish positions, times, and results.
39
+
-**Event** (`app/models/event.rb`) - Central entity representing running events with dateand number. Belongs to a Location. Manages finish positions, times, and results.
40
40
-**User** (`app/models/user.rb`) - Handles authentication and user management with email confirmation.
41
41
-**Result** (`app/models/result.rb`) - Links users to events with optional completion times.
-**Location** (`app/models/location.rb`) - Manages event locations/courses with route details, maps, facilities, and Strava integration.
45
+
-**Badge** / **UserBadge** - Achievement badge system with levels (bronze, silver, gold, singular) tracking user milestones.
46
+
-**CheckIn** (`app/models/check_in.rb`) - Token-based event check-in system for tracking participant attendance.
44
47
45
48
### Authentication
46
49
Uses a custom authentication system (`app/controllers/concerns/authentication.rb`) with session-based login. No external auth gems like Devise.
@@ -86,7 +89,7 @@ All controllers inherit from `ApplicationController` which includes `Authenticat
86
89
Models follow standard Rails patterns with Active Record. The `Event` model contains the main business logic for result notifications and user management.
87
90
88
91
### Email System
89
-
Event-related emails are triggered automatically when `results_ready` is set to true on an Event. Uses Action Mailer with deliver_later for background processing.
92
+
Event-related emails are triggered automatically when an event's status changes to `finalised`. Uses Action Mailer with deliver_later for background processing.
90
93
91
94
### Admin Features
92
95
Admin functionality is separated into `app/controllers/admin/` namespace with `AdminAuthentication` concern for access control.
0 commit comments