- 📌 About
- 🚀 Features
- 🛠️ Prerequisites
- 🏁 Getting Started
- 📜 Scripts
- ⚙️ Environment Config
- 🎨 Styling & Fonts
This is the BetterSurf web frontend, built on Next.js + TypeScript. It provides a sleek, responsive UI to compare internet-provider offers side-by-side, leveraging the BetterSurf backend API for data.
- ⚡ Next.js 15 with App Router & React 19
- 🔄 Suspense + React Server Components for fast loading
- 🗺️ Integrated Google Maps Autocomplete
- 🌙 Gradient background
- 🔔 Toast notifications via Sonner
- ✅ ESLint + Prettier + TypeScript type safety
- Node.js 18+ (LTS recommended)
- npm 10+ or Yarn 1.22+
- Google Maps API key (for map component)
- Running instance of BetterSurf backend
# Clone the repo
git clone https://github.com/jaylann/gendev-web.git
cd gendev-web
# Install dependencies
npm install
# or
yarn installCopy the example file and fill in your keys:
cp .env.local.example .env.localEdit .env.local:
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY=YOUR_GOOGLE_MAPS_API_KEY
NEXT_PUBLIC_API_URL=http://localhost:8000npm run dev
# or
yarn devOpen http://localhost:3000 in your browser.
npm run build
npm run start
# or
yarn build
yarn start| Command | Description |
|---|---|
dev |
Runs Next.js in development mode (with HMR) |
build |
Creates an optimized production build |
start |
Runs the production server |
lint |
Runs ESLint checks |
-
NEXT_PUBLIC_API_URLBase URL for the BetterSurf backend (e.g.http://localhost:8000). -
NEXT_PUBLIC_GOOGLE_MAPS_API_KEYAPI key to load Google Maps in the comparison page.
-
Uses Tailwind CSS for utility-first styling.
-
Global CSS in
src/app/globals.css. -
Google Fonts via
next/font/google:Geist(sans)Geist Mono(mono)
Dark gradient background is applied at the <html> level via Tailwind classes.
Made with ❤️ by Justin Lanfermann