No description
- PaletteController: render proper color swatch cards (box + label) and wrap output in Markup::create() so Drupal's XSS filter doesn't strip inline style attributes - riverside_pt.module: scope page_attachments and page_top to riverside_pt.* routes only — Tailwind preflight was blowing away Drupal's default form styles on the login page - settings.php: derive trusted_host_patterns from BASE_URL so the host and port always agree; prevents localhost:8080 being treated as untrusted - entrypoint.sh: pass --base-url to drush site:install so Drupal stores the correct canonical URL from the start 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