An open-source Next.js app that helps users discover nearby spots, view live busyness, and get chat-assisted recommendations.
- Discover nearby spots with Google Maps clustering and heatmap.
- Distance, rating, categories, and busyness filters.
- Chat assistant with text and voice input.
- Accessible, responsive UI with keyboard-friendly navigation.
- Next.js (App Router), TypeScript, Tailwind CSS
- Google Maps via
@react-google-maps/apiand@googlemaps/markerclusterer - Axios for API calls
-
Clone the repository and install dependencies:
pnpm install # or npm install -
Create a
.env.localfile at the project root and set the required variables (see next section). -
Start the dev server:
pnpm dev # or npm run dev
Create .env.local with:
# Frontend API base URL (points to your backend or mock server)
NEXT_PUBLIC_API_URL=http://localhost:3000/api
# Google Maps (required for map and clustering)
NEXT_PUBLIC_GOOGLE_MAPS_KEY=YOUR_GOOGLE_MAPS_API_KEYNotes:
NEXT_PUBLIC_GOOGLE_MAPS_KEYis read insrc/components/maps.tsxviauseJsApiLoader.NEXT_PUBLIC_API_URLconfigures the Axios instance insrc/services/app.service.ts.
- Demo dataset (JSON):
data/demo/spots.sample.json(example schema matching the Spot interface). You can import this through your backend seed script or mock the API in dev. - Screenshots:
docs/screenshots/home.png— home dashboardmap.png— map with clusterschat.png— chat assistant
These paths are suggestions you can follow. If you prefer other locations, update this README accordingly.
If you maintain a backend, add a seed script there and expose either:
-
A script in this repo that calls your backend seeder:
pnpm run seed
-
Or a simple HTTP endpoint in your backend that imports
data/demo/spots.sample.json.
Document your backend seed strategy here as needed.
# Dev
pnpm dev
# Build
pnpm build
# Start (production)
pnpm start
# Lint
pnpm lint- Push your repository to GitHub.
- Import into Vercel and set the Environment Variables:
NEXT_PUBLIC_API_URLNEXT_PUBLIC_GOOGLE_MAPS_KEY
- Deploy. Vercel will build and host your app.
Alternative hosts (Netlify, etc.) work as well — ensure env vars are set.
We welcome contributions! Please:
- Read
CONTRIBUTING.mdfor setup, branching, commit style, and review process. - Follow
CODE_OF_CONDUCT.md.
Place the following files (suggested paths):
.github/ISSUE_TEMPLATE/bug_report.md.github/ISSUE_TEMPLATE/feature_request.md.github/pull_request_template.md
These help standardize and speed up review.
This project follows the Contributor Covenant. See CODE_OF_CONDUCT.md.
MIT License. See LICENSE for details.