ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
尚未收集儲存庫資訊。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗The pre-launch showcase site for GetHyre.ai, built from the Figma file gethyred-personal → Website · v1.
You need Node.js 20.9 or newer.
npm install
npm run dev
Open http://localhost:3000. With no settings, forms work in development and print each lead in the terminal.
Other commands:
npm run build # production build (also type-checks)
npm run start # serve the production build
npm run lint # ESLint
Copy .env.example to .env.local and fill in what you have. Every setting is optional for local work.
| Setting | What it turns on |
|---|---|
NEXT_PUBLIC_WHATSAPP_NUMBER | The floating "Chat on WhatsApp" button and WhatsApp links |
NEXT_PUBLIC_SURVEY_URL | The campus survey buttons |
NEXT_PUBLIC_BOOKING_URL | "Book a partnership call" opens your calendar link |
NEXT_PUBLIC_DEMO_VIDEO_URL | Replaces the video placeholder with the embedded video |
GOOGLE_* | Saves every lead as a row in Google Sheets |
RESEND_API_KEY, EMAIL_FROM, LEADS_ALERT_EMAIL | Auto-reply emails, and alerts for college, company and ambassador leads |
*_TURNSTILE_* | Cloudflare Turnstile spam check on all forms |
NEXT_PUBLIC_GA_ID, NEXT_PUBLIC_CLARITY_ID | GA4 events and Clarity heatmaps |
Students, Colleges, Companies, Ambassadors.Submitted (IST), Name, Email, WhatsApp, College, Course, Target role, Page, UTM source, UTM medium, UTM campaign, Consent versionSubmitted (IST), Name, Designation, College, Phone, Email, Final-year students, Page, UTM source, UTM medium, UTM campaign, Consent versionSubmitted (IST), Name, Company, Email, Phone, Roles, Freshers per year, Page, UTM source, UTM medium, UTM campaign, Consent versionSubmitted (IST), Name, Email, WhatsApp, College, Course, Why, Page, UTM source, UTM medium, UTM campaign, Consent versionGOOGLE_SHEET_ID (the long ID in the sheet's URL), GOOGLE_SERVICE_ACCOUNT_EMAIL and GOOGLE_PRIVATE_KEY.If a sheet write fails and Resend is set up, the lead is emailed to LEADS_ALERT_EMAIL so nothing is lost.
In production, if neither Sheets nor Resend is configured, forms show "Our form isn't connected yet" instead of losing the lead.
Give each college its own link, for example https://gethyre.ai/early-access?utm_source=college-name&utm_medium=qr.
The first UTM tags a visitor arrives with are saved with their form, so the sheet shows sign-ups per college.
.env.example in Vercel → Project → Settings → Environment Variables.NEXT_PUBLIC_SITE_URL.https://<domain>/sitemap.xml in Google Search Console.app/ one folder per page; actions/leads.ts handles every form
components/ui.tsx buttons, sections, headings, cards
components/layout/ nav + mobile menu, footer, WhatsApp button, analytics
components/marketing/ phone mockup, journey stepper, FAQ, download cards, page hero
components/forms/ the shared lead form
content/journey.ts the 7 journey steps and the FAQ
lib/site.ts contact details, social links, downloads, nav
lib/forms.ts form fields, validation rules, sheet columns
public/screens/ app screens exported from Figma (780×1688, 2×)
public/brand/ logo, logo mark, social share image
content/photos.ts photos (Unsplash License, loaded from images.unsplash.com) with credits
app/globals.css design tokens from Figma (colours, font, radii)
What's in place (see next.config.ts, app/actions/leads.ts and lib/):
NEXT_PUBLIC_* values reach the browser, and none of them are secret.
Google, Resend and Turnstile keys are read only in files marked server-only. Never put a secret in a
NEXT_PUBLIC_ variable, and never commit .env.local (it's git-ignored).X-Powered-By header.
If you add a new outside service (a chat widget, a new analytics tool), add its domain to the CSP in
next.config.ts or the browser will block it.Recommended before launch:
NEXT_PUBLIC_TURNSTILE_SITE_KEY + TURNSTILE_SECRET_KEY)./, /early-access, /colleges,
/companies and /ambassadors (Vercel → Project → Firewall). It works across all instances.npm audit and npm outdated monthly, and update next, react and
react-dom as soon as a security release comes out.[ and replace every bracketed placeholder (team, college logos, survey stat,
company name, city, roles covered, legal text).public/downloads/ and set their href in lib/site.ts.public/brand/logo.png with a vector logo when you have one (the current one is cut from a JPEG).