A simple yet comprehensive single-page marketing landing page showcasing:
Who we are, What we do, Why choose us, How we do it, Get in touch
- Built on
Next.js,TailwindCSS,Framer Motion - Modern form handling utilizing React
Server Actions Resendfor automated email sending- Markdown support for content management, powered by contentlayer and Google Drive as remote storage
- Lazy load
Cloudflare Turnstilefor user-friendly CAPTCHA protection Leafletfor highly customizable map display andThunderforestfor a generous, clean, high-DPI map tiles- Custom TypeScript crawler powered by
CrawleeandPuppeteerfor data extraction and Excel export
Credits to ChatGPT-4o, Claude-3.5 Sonnet, Midjourney v6 for highly enjoyable pair programming
experience
To run this project, you'll need to set up the following environment variables:
NEXT_PUBLIC_THUNDERFOREST_API_KEY=your_thunderforest_api_key
NEXT_PUBLIC_CLOUDFLARE_SITE_KEY=your_cloudflare_site_key
CLOUDFLARE_SECRET_KEY=your_cloudflare_secret_key
MAILGUN_API_KEY=your_mailgun_api_key
MAIL_RECIPIENTS=comma,separated,email,addresses
GOOGLE_CLIENT_EMAIL=email_address_of_service_account
GOOGLE_CLIENT_PRIVATE_KEY=private_key_of_service_accountNote: For local testing of Cloudflare Turnstile, you can use the following keys:
- Site Key:
1x00000000000000000000AA - Secret Key:
1x0000000000000000000000000000000AA
- Clone the repository
- Install dependencies:
bun install - Set up your environment variables in a
.env.localfile - Run the development server:
bun run dev - Open http://localhost:3000 in your browser
For crawler, run with bun tool/crawler.ts {Website Url}
This project is licensed under the MIT License.