|
|
||
|---|---|---|
| README.md | ||
Great Rift Valley Innovation Summit
Marketing site for the Great Rift Valley Innovation Summit, built with Next.js App Router, TypeScript, Tailwind CSS, and shadcn/ui.
Getting started
npm install
npm run download-assets # optional: refresh logos/speakers from grvsummit.com
npm run dev
Open http://localhost:3000.
Scripts
| Command | Description |
|---|---|
npm run dev |
Start dev server (Turbopack) |
npm run build |
Production build |
npm run start |
Start production server |
npm run lint |
ESLint |
npm run download-assets |
Download branding assets from official WordPress uploads |
shadcn/ui
Add components:
npx shadcn@latest add <component>
Config: components.json. Theme tokens live in app/globals.css (GRV navy #1F3D7E, gold #FFB300).
Content
Editable copy and data: content/. Images: public/branding/.
Inquiry API
POST /api/inquiry accepts JSON with intent (general | exhibitor | sponsor | sales | press | newsletter), name, email, message, and optional company / phone. v1 logs to the server console only.
To wire email (e.g. Resend), update app/api/inquiry/route.ts and set env vars from .env.example.
Assets
Logos and speaker cutouts are downloaded from the official site via scripts/download-assets.mjs. Confirm trademark and usage rights with EDTF before production deployment.
Pages
/— Home/program— Agenda/pitch-competition— Grant competition/payment— Ticket selection & checkout (API stub)/payment/success— Order confirmation/exhibit— Exhibitor inquiries/sponsor— Sponsorship tiers/contact— Contact channels & form
Calendar
- Add to calendar dropdown on the hero, tickets section, and payment page
- Google Calendar / Outlook deep links
.icsdownload at/calendarfor Apple Calendar / iCal
Payment API
POST /api/payment accepts ticketId, quantity, name, email, paymentMethod (card | bank). v1 logs orders to the console; wire Stripe, Chapa, or similar for production.
Deploy – Cloudflare Workers (OpenNext)
This project is configured for OpenNext on Cloudflare.
One-time setup
- Install deps:
npm install - Authenticate Cloudflare:
Or exportnpx wrangler@4 loginCLOUDFLARE_API_TOKENandCLOUDFLARE_ACCOUNT_ID. - Set production env vars in Cloudflare Workers (or your CI):
NEXT_PUBLIC_SITE_URL(your production URL)
Deploy now
npm run deploy
Alias:
npm run deploy:cf
Other useful commands
npm run preview # build + local Workers preview runtime
npm run upload # build + upload worker version (no immediate rollout)
npm run cf-typegen # generate cloudflare-env.d.ts from wrangler bindings
CI (optional)
Workflow file: .github/workflows/cloudflare-workers-opennext.yml
Add repo secrets:
CLOUDFLARE_API_TOKENCLOUDFLARE_ACCOUNT_ID
Notes
- OpenNext Cloudflare does not support
export const runtime = "edge"; those exports were removed. - Build output is generated under
.open-next/(gitignored).