- HTML 72.1%
- CSS 16.7%
- JavaScript 11.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| .forgejo/workflows | ||
| docs | ||
| photos | ||
| .env.example | ||
| .gitignore | ||
| favicon.png | ||
| form-submitted.html | ||
| FuzzyBubbles-Bold.ttf | ||
| FuzzyBubbles-Regular.ttf | ||
| index.html | ||
| landing-page.css | ||
| landing-page.html | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| server.js | ||
| server.test.js | ||
| social-card.png | ||
| styles.css | ||
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.
- Run
npm ci. - Copy
.env.exampleto.envand setSMTP_PASSto a Gmail app password (or configure another SMTP provider). Keep.envprivate. Rotate the previous password, which was stored in the PHP source and remains in Git history. - Run
npm start, then open http://localhost:3000. Usenpm run devfor 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.