update claude md with init
This commit is contained in:
parent
e593beacfc
commit
f28ee5624d
33
CLAUDE.md
33
CLAUDE.md
|
|
@ -31,6 +31,12 @@ npm run build
|
|||
|
||||
# Format PHP code
|
||||
vendor/bin/pint --dirty
|
||||
|
||||
# Create new Volt component with test
|
||||
php artisan make:volt pages/component-name --pest
|
||||
|
||||
# Create model with migration and factory
|
||||
php artisan make:model ModelName -mf
|
||||
```
|
||||
|
||||
## Architecture
|
||||
|
|
@ -51,6 +57,10 @@ vendor/bin/pint --dirty
|
|||
- `docs/architecture.md` - Complete architecture document
|
||||
- `docs/stories/` - User story specifications
|
||||
|
||||
### Services
|
||||
- `app/Services/AvailabilityService.php` - Calculates available time slots for bookings
|
||||
- `app/Services/CalendarService.php` - Generates iCalendar files for consultations
|
||||
|
||||
### Domain Model
|
||||
Core models in `app/Models/`:
|
||||
- **User** - Three types: `admin`, `individual` (client), `company` (client)
|
||||
|
|
@ -134,6 +144,29 @@ test('profile can be updated', function () {
|
|||
});
|
||||
```
|
||||
|
||||
### User Factory States
|
||||
When testing, use these factory states:
|
||||
- `->admin()` - Creates admin user
|
||||
- `->individual()` - Creates individual client
|
||||
- `->company()` - Creates company client
|
||||
- `->client()` - Randomly creates individual or company
|
||||
- `->deactivated()` - Creates deactivated user
|
||||
- `->unverified()` - Creates user without email verification
|
||||
- `->withTwoFactor()` / `->withoutTwoFactor()` - 2FA states
|
||||
|
||||
### Notifications
|
||||
Located in `app/Notifications/`:
|
||||
- **Booking:** `BookingApproved`, `BookingRejected`
|
||||
- **Consultation:** `ConsultationCancelled`, `ConsultationRescheduled`, `ConsultationReminder24h`, `ConsultationReminder2h`
|
||||
- **Account:** `WelcomeAccountNotification`, `PasswordResetByAdminNotification`, `AccountReactivatedNotification`, `AccountTypeChangedNotification`
|
||||
|
||||
### Business Rules
|
||||
- **No self-registration:** Admin creates all client accounts
|
||||
- **Single admin:** One lawyer manages the platform
|
||||
- **No online payments:** All payments handled offline
|
||||
- **Cascade deletes:** User deletion cascades to consultations, timelines, notifications
|
||||
- **Bilingual required:** All user-facing text needs Arabic and English
|
||||
|
||||
## Design Requirements (from PRD)
|
||||
- **Color scheme:** Dark Navy Blue (#0A1F44) + Gold (#D4AF37)
|
||||
- **Bilingual:** Arabic (primary, RTL) / English (LTR)
|
||||
|
|
|
|||
Loading…
Reference in New Issue