A simple static landing page for a dentist website, built with React and JavaScript (no TypeScript), ready to deploy on Vercel.
plexushub/
├── public/ # Static assets (optional)
├── src/
│ ├── components/ # React components
│ │ ├── Header.jsx
│ │ ├── Hero.jsx
│ │ ├── Services.jsx
│ │ ├── ServiceCard.jsx
│ │ ├── CTAStrip.jsx
│ │ ├── Footer.jsx
│ │ └── index.js # Barrel exports
│ ├── data/
│ │ └── services.js # Services content
│ ├── App.jsx
│ ├── main.jsx
│ └── index.css # Global styles
├── index.html
├── vite.config.js
├── vercel.json # Vercel deployment config
└── package.json
npm install
npm run devThen open http://localhost:5173.
The “Book consultation” modal POSTs JSON to your Make.com custom webhook (src/api/submitConsultationWebhook.js).
Payload fields (map them in your scenario):
| Field | Description |
|---|---|
name |
Full name |
email |
|
message |
Optional message (or — if empty) |
phone |
Phone (for WhatsApp / SMS modules) |
preferredDateTime |
Optional preferred slot |
submittedAt |
ISO timestamp |
source |
plexus-dental-website |
- In Make: add Webhooks → Custom webhook, click Run once, submit the form once from your site so Make learns the data structure.
- Add Gmail (send email) and/or WhatsApp / Twilio modules using
phone,name,email, etc.
Optional env override (recommended on Vercel if you rotate the URL):
VITE_MAKE_WEBHOOK_URL— defaults to the project webhook if unset. Copy.env.exampleto.env.localfor local overrides.
- Push the project to GitHub (or GitLab/Bitbucket).
- Go to vercel.com and sign in.
- Add New Project → Import your repo.
- Vercel will detect Vite; keep Build Command
npm run buildand Output Directorydist. - (Optional) Add environment variable
VITE_MAKE_WEBHOOK_URLif you use a different webhook URL. - Click Deploy.
Or use the Vercel CLI:
npm i -g vercel
vercelnpm run buildOutput is in the dist/ folder.
- React 18
- Vite 5
- Plain JavaScript (JSX)