No description
Find a file
Philip Peterson 797e580cc0 Create custom /contact page with details and appointment CTAs
- Refactor AboutController to PageController to handle multiple static pages:
  - /about
  - /services/{slug} (diagnostic, sports, pre-post, neuro)
  - /contact (new)

- New template riverside-pt-contact.html.twig:
  - Contact details (address, phone, email)
  - Office hours
  - 'Send us a message' section directing to booking tool
  - Multiple 'Make an Appointment' links back to /home#book-an-appointment

- Updated riverside_pt.routing.yml with riverside_pt.contact route
- Registered 'riverside_pt_contact' theme in riverside_pt.module
- Updated riverside_pt.install to skip legacy node creation for 'Contact' (and previously About/Services) to avoid alias conflicts
- Minor updates to home template, header handling, libraries (scroll support), and other controllers for consistency with page flows and email/booking features

All details pages (/about, /services/*, /contact) now include clear links back to 'Make an Appointment'.
2026-06-03 23:55:02 -07:00
.gitea/workflows Add front page, nav rebuild, and CI workflow 2026-05-14 20:05:46 -07: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 Use sendmail only on dev 2026-06-03 23:30:44 -07:00
node_modules wip 2026-05-24 19:23:05 -07:00
scripts wip booking flow 2026-05-13 14:55:52 -07:00
web Create custom /contact page with details and appointment CTAs 2026-06-03 23:55:02 -07:00
.gitignore Initial commit 2026-04-20 00:33:56 -04:00
build.sh Fix styling 2026-05-27 23:42:59 -07:00
CLAUDE.md Use sendmail only on dev 2026-06-03 23:30:44 -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 Use sendmail only on dev 2026-06-03 23:30:44 -07:00
Makefile Fix styling 2026-05-27 23:42:59 -07:00
package-lock.json wip 2026-05-24 19:23:05 -07:00
package.json Tailwind 2026-05-16 11:45:33 -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

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