No description
  • HTML 72.1%
  • CSS 16.7%
  • JavaScript 11.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
anystar 8554cce415
Some checks failed
Deploy Amy's Pet Buddy Services / deploy (push) Failing after 1m29s
Add Bendigo service area map below gallery
2026-11-11 21:45:58 +11:00
.forgejo/workflows Match deployment helper release manifest fields 2026-11-07 10:32:17 +11:00
docs Deployment API stuff 2026-11-11 10:39:59 +00:00
photos init commit 2026-10-03 16:00:54 +10:00
.env.example Migrate contact handling to Fastify and document deployment 2026-11-07 10:08:55 +11:00
.gitignore Migrate contact handling to Fastify and document deployment 2026-11-07 10:08:55 +11:00
favicon.png init commit 2026-10-03 16:00:54 +10:00
form-submitted.html init commit 2026-10-03 16:00:54 +10:00
FuzzyBubbles-Bold.ttf init commit 2026-10-03 16:00:54 +10:00
FuzzyBubbles-Regular.ttf init commit 2026-10-03 16:00:54 +10:00
index.html Add Bendigo service area map below gallery 2026-11-11 21:45:58 +11:00
landing-page.css init commit 2026-10-03 16:00:54 +10:00
landing-page.html init commit 2026-10-03 16:00:54 +10:00
package-lock.json Migrate contact handling to Fastify and document deployment 2026-11-07 10:08:55 +11:00
package.json Migrate contact handling to Fastify and document deployment 2026-11-07 10:08:55 +11:00
README.md Migrate contact handling to Fastify and document deployment 2026-11-07 10:08:55 +11:00
server.js Deployment API stuff 2026-11-11 10:39:59 +00:00
server.test.js Deployment API stuff 2026-11-11 10:39:59 +00:00
social-card.png init commit 2026-10-03 16:00:54 +10:00
styles.css Add Bendigo service area map below gallery 2026-11-11 21:45:58 +11:00

Amy's Pet Buddy Services

Node.js and Fastify serve the existing website. Nodemailer delivers contact enquiries using SMTP, with HTML and plain text versions and the visitor's email as Reply-To.

Run

Use Node.js 22 or newer.

  1. Run npm ci.
  2. Copy .env.example to .env and set SMTP_PASS to a Gmail app password (or configure another SMTP provider). Keep .env private. Rotate the previous password, which was stored in the PHP source and remains in Git history.
  3. Run npm start, then open http://localhost:3000. Use npm run dev for automatic restarts during development. There is no build step.

PORT defaults to 3000; HOST defaults to 0.0.0.0. Configure SMTP and sender/recipient details through the variables listed in .env.example. Port 587 uses STARTTLS; port 465 uses implicit TLS.

For deployment, install production dependencies with npm ci --omit=dev, set the environment variables, and run npm start under your process manager. Route your domain's HTTPS reverse proxy to the configured Node port. PHP is no longer required. Only public website files and photos are served.

Both contact forms submit to /contact. A successful email redirects to /form-submitted.html; validation and SMTP failures return an error without showing a success page. The old POST /contact.php URL remains compatible with cached pages.

Run npm test for contact delivery, validation, error handling and static-file access checks. Tests use a fake mail transport and send no real email.

The original PHP version is preserved on origin with Git tag pre-node-migration-2026-11-05.