No description
Find a file
Philip Peterson dd569e692f PHP 8.5.12, pinned; session upload progress off (PHP2Shell)
PHP 8.5.12 fixes CVE-2026-109618 and CVE-2026-109619, pre-auth remote
code execution in session upload progress, exploited in the wild (CISA
KEV, 2026-10-26); the running image was built in June on an older 8.5.
Pin the version once for both PHP stages (ARG PHP_VERSION), and turn the
feature off too (session.upload_progress.enabled = 0): Drupal doesn't
use it, and it covers later bugs in it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 05:34:02 -09:00
.idea Structure 2026-05-12 17:28:47 -07:00
.vscode File extensions 2026-05-08 22:56:06 -07:00
config/sync wip booking flow 2026-05-13 14:55:52 -07:00
docker Fix CI, use postgres drop cascade 2026-06-11 22:25:31 -07:00
node_modules fix scrolling 2026-06-14 01:55:30 -07:00
scripts wip booking flow 2026-05-13 14:55:52 -07:00
web fix scrolling 2026-06-14 01:55:30 -07:00
.gitignore wip 2026-06-14 00:08:08 -07:00
build.sh Fix styling 2026-05-27 23:42:59 -07:00
CLAUDE.md Suppress duplicate key errors on semaphore table during rebuilds 2026-06-04 00:06:27 -07:00
composer.json wip booking flow 2026-05-13 14:55:52 -07:00
docker-compose.yml Fix statelessness 2026-05-28 18:14:59 -07:00
Dockerfile PHP 8.5.12, pinned; session upload progress off (PHP2Shell) 2026-11-02 05:34:02 -09:00
jsconfig.json wip 2026-06-14 00:08:08 -07:00
Makefile Fix styling 2026-05-27 23:42:59 -07:00
package-lock.json fix scrolling 2026-06-14 01:55:30 -07:00
package.json fix scrolling 2026-06-14 01:55:30 -07:00
README.md Fix statelessness 2026-05-28 18:14:59 -07:00
tailwind.config.js add swatch page, rename colors 2026-06-01 02:46:47 -07:00
tsconfig.json ts fixes 2026-06-14 00:38:35 -07:00

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