No description
- Merge rpt-appt-type + calendar into unified rpt-booking Preact component; service state drives event source via useEffect, no DOM event bus - Each service has distinct availability (different slot density, start hours); surgical rehab only available 46+ days out - Slot click reveals inline Last name / Phone / Comments form; submits all fields together to storeSlot rather than redirecting immediately - Fix nextBusinessDay() timezone bug (toISOString is UTC; use local date components instead); pre-select first available day >= next business day - Today always has no availability (backend now starts from tomorrow) - Replace all raw hex colour values with named palette tokens throughout templates and JS components Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .gitea/workflows | ||
| .idea | ||
| .vscode | ||
| config/sync | ||
| docker | ||
| node_modules | ||
| scripts | ||
| web | ||
| .gitignore | ||
| build.sh | ||
| CLAUDE.md | ||
| composer.json | ||
| docker-compose.yml | ||
| Dockerfile | ||
| Makefile | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tailwind.config.js | ||
Riverside Physical Therapy
A Drupal-based appointment scheduling site for booking sessions between patients and practitioners.
Running locally
docker compose up --build
Default behavior: Every start performs a full database wipe + rebuilds the entire site from code (content types, fields, menu, etc.). See CLAUDE.md for details and the DRUPAL_FAST=1 escape hatch for faster iteration.
Admin login: admin / admin at /user/login
Makefile commands
make shell # open a bash shell in the app container
make drush <cmd> # run any drush command, e.g. make drush cr
Scripts
Seed provider availability
Populates provider_availability nodes for the next calendar month across all active providers, using randomised noise per provider.
make drush php-script scripts/seed_availability.php
Preview without saving:
SEED_DRY_RUN=1 make drush php-script scripts/seed_availability.php
Wipe existing availability for the month before seeding:
SEED_WIPE=1 make drush php-script scripts/seed_availability.php
Running the script twice without SEED_WIPE=1 will create duplicates.
Modules
- FullCalendar View — interactive appointment calendar
- Webform — patient booking forms
- Symfony Mailer — transactional email