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
Resend
for automated email sending- Markdown support for content management, powered by contentlayer and Google Drive as remote storage
- Lazy load
Cloudflare Turnstile
for user-friendly CAPTCHA protection Leaflet
for highly customizable map display andThunderforest
for a generous, clean, high-DPI map tiles- Custom TypeScript crawler powered by
Crawlee
andPuppeteer
for 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_account
Note: 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.local
file - 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.