Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Buffalo Park Lodge

React + Vite redesign for GitHub Pages. It includes SEO metadata and structured data, privacy and booking information pages, browser-side enquiry validation, spam honeypot, and a custom static 404 page.

Local development

npm install
npm run dev

Open the local URL Vite prints. Verify the production build with npm run build.

Deploy to GitHub Pages

The repository is configured as the project site https://codevenientlab.github.io/Buffalo-lodge/. The Vite base path is /Buffalo-lodge/; the workflow deploys automatically whenever main receives a push.

git add .
git commit -m "Convert Buffalo Lodge redesign to React and Vite"
git push origin main

In GitHub, open Settings → Pages, select GitHub Actions as the build source, then wait for Deploy to GitHub Pages in the Actions tab to succeed. Enable Enforce HTTPS in Pages when it becomes available.

Before a public lodge launch

  • Confirm business details, room/conference capacities, image rights and all policies with the lodge.
  • Replace the preview privacy and terms wording with lodge-approved legal details, including the Information Officer and retention practices.
  • The form opens an email draft; it does not submit data to a server or make a booking. A real endpoint needs server-side validation, rate limiting and verified anti-bot protection.
  • This React build has no optional analytics. Adding analytics requires implementing consent and updating the privacy policy.
  • If a custom domain is added, change base in vite.config.js to / and replace the GitHub Pages URLs in the canonical tags, sitemap and robots file before rebuilding.

Enquiry journeys

Accommodation and long-stay enquiries collect check-in, check-out, room preference, adults and children. Conference enquiries collect delegate numbers, duration, catering, equipment and whether accommodation is needed. Dining and event enquiries collect a visit date, party size, optional time and message. Switching enquiry type removes unrelated fields from the message.

Run npm test for date validation and enquiry payload checks. The GitHub Pages workflow runs these tests before building.

Optional direct delivery

GitHub Pages cannot send mail itself. Without a configured service the form explicitly prepares an email draft, offers a copy fallback and never displays a sent confirmation. It does not open the visitor's email app until they choose that action.

To connect an approved lodge-owned service, set the public HTTPS VITE_ENQUIRY_ENDPOINT repository variable before the Pages build, or use it in a local .env.local. Never put an email API key or private credential into a VITE_ variable: these are embedded in public browser code.

The endpoint receives JSON with purpose, name, email, phone, arrival, adults, message and privacy. Stays also include departure, room and children. Conferences include duration, catering, equipment and accommodation; non-stay visits include time. Return HTTP 2xx and { "success": true } only after the service has accepted the message for delivery. Any other response or timeout leaves an explicit email fallback instead of claiming success.

The service must validate fields server-side, limit abuse, verify bot protection, restrict accepted origins, use a fixed destination inbox, and keep provider credentials on the server. Update the privacy policy with the actual processor and retention details before activating direct delivery. A public endpoint alone is not an anti-spam measure.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages