docs: update all documentation for referral codes, admin schedule page, BookingFlow welcome step, format utilities, and patch_test_duration_hours
- README: add new features (referral codes, admin schedule page, welcome step, format utils, patch_test_duration_hours, created_by_name, admin login redirect), update project structure, update test count to 446/449 - Overview: add referral code support to Auth section, created_by_name to Booking System, admin schedule page to Scheduling and Admin Features, welcome step to Customer Features, update test coverage - Technical Manual: add format.ts utilities to Shared Utilities, add /admin/schedule route, update handler descriptions (auth, bookings, services), add Referral Code System, Admin Schedule Page, BookingFlow Welcome Step, and patch_test_duration_hours sections, update test coverage - Admin Manual: add Schedule page to main pages list, add full Schedule (Weekly Calendar View) section, add patch test duration to service creation, update referral history description - User Manual: add referral code field to registration, add welcome step explanation to Step 1 - Future Work: update header, add #52-58 completed items, update #21 referral system status, add Phase 6 execution order Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -24,6 +24,13 @@ Nail salon booking platform — Go 1.25 backend + SvelteKit 5 frontend + Docker.
|
||||
- **Today page enhancements**: interactive daily calendar grid with visual time blockers, today stats summary, responsive layout improvements
|
||||
- **Auto-select availability**: all booking flows (self-service, admin create, edit request) automatically select the first available date when data loads
|
||||
- **Shared time slot utilities**: extracted common time slot generation, lunch protection, and formatting logic into a reusable module
|
||||
- **Shared formatting utilities**: `formatDuration`, `formatDateTime`, `formatDate`, `formatTime`, `calculateAge` in `lib/utils/format.ts`
|
||||
- **Referral code registration**: new users can enter a 12-character referral code during registration; relationship recorded in `user_referrals` table
|
||||
- **Admin schedule page**: Google Calendar-style week view at `/admin/schedule` with drag-scroll, booking details modal, and working hours overlays
|
||||
- **BookingFlow welcome step**: unauthenticated users see a welcome card (Step 0) encouraging login before guest checkout, with clear messaging about lost loyalty/discount benefits
|
||||
- **Admin login redirect**: admins are redirected to `/today` after login instead of the home page
|
||||
- **Patch test duration on services**: `patch_test_duration_hours` exposed on Service type; creating a service with duration > 0 auto-creates a patch test record
|
||||
- **`created_by_name` on bookings**: admin booking details now show who created the booking (admin name)
|
||||
|
||||
## Project Structure
|
||||
|
||||
@@ -43,7 +50,7 @@ Crussell/
|
||||
│ ├─ admin/ # BookingCreateModal, RescheduleModal, TimeBlockers, WeeklySchedule, HolidayHours, etc.
|
||||
│ ├─ today/ # TodayCalendar (interactive grid), CurrentAppointment, PendingApprovals, TodayStats
|
||||
│ └─ account/ # EditRequestModal, UserBookingModal
|
||||
├─ frontend/src/lib/utils/ # Shared utilities (timeSlots.ts)
|
||||
├─ frontend/src/lib/utils/ # Shared utilities (timeSlots.ts, format.ts)
|
||||
├─ sabredav/ # PHP + Composer for DAV
|
||||
├─ nginx/ # Nginx reverse-proxy for HTTP & HTTPS
|
||||
├─ init-scripts/ # PostgreSQL init SQL
|
||||
@@ -99,7 +106,7 @@ cd backend && go build -o bin/backend ./main.go
|
||||
# Frontend
|
||||
cd frontend && npm ci && npm run build
|
||||
|
||||
# Tests (444/447 passing, 3 skipped)
|
||||
# Tests (446/449 passing, 3 skipped)
|
||||
cd backend && go test -tags "test,dev" ./...
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user