Objevuj a sdílej úžasná místa s komunitou.
Exploree je moderní webová aplikace pro vytváření, sdílení a objevování zajímavých míst po celém světě. Ať už jsi cestovatel, fotograf, nebo jen hledáš inspiraci pro další výlet – Exploree ti pomůže najít skryté skvosty a podělit se o své oblíbené lokace.
- Vybírej místa na interaktivní mapě pomocí Mapbox/MapLibre
- Zobrazuj místa v okolí nebo na celém světě
- Plynulé animace a gesta pro intuitivní navigaci
- Přidávej vlastní místa s fotkami, popisem a lokací
- Automatické doplnění údajů díky Foursquare API
- Tagování a kategorizace míst
- Sleduj ostatní uživatele a objevuj jejich oblíbená místa
- Ukládej místa do sbírek
- Zaznamenávej své návštěvy s poznámkami
- Vytvářej tematické sbírky míst (např. "Nejlepší kavárny v Praze")
- Veřejné i soukromé kolekce
- Sdílení kolekcí s přáteli
- Přihlášení přes Google účet (NextAuth)
- Onboarding proces pro nové uživatele
- Ochrana stránek pomocí middleware
- Node.js 18+
- npm / yarn / pnpm / bun
- MySQL databáze
git clone https://github.com/Dejnyyy/rocnikovka-exploree.git
cd rocnikovka-exploreenpm installVytvoř soubor .env v kořenovém adresáři a vyplň následující proměnné:
# Databáze (MySQL)
DATABASE_URL="mysql://user:password@localhost:3306/exploree"
# NextAuth
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
NEXTAUTH_SECRET=your_random_secret_string
NEXTAUTH_URL=http://localhost:3000
# Foursquare API (pro vyhledávání míst)
FOURSQUARE_CLIENT_ID=your_foursquare_client_id
FOURSQUARE_SECRET=your_foursquare_secret
# Cloudinary (pro nahrávání obrázků)
NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret
NEXT_PUBLIC_CLOUDINARY_UPLOAD_PRESET=your_upload_presetnpx prisma db push
npx prisma generatenpm run devOtevři http://localhost:3000 v prohlížeči.
- Přejdi na Google Cloud Console
- Vytvoř nový projekt nebo vyber existující
- V sekci "APIs & Services" → "Credentials" vytvoř OAuth 2.0 Client ID
- Nastav Authorized redirect URI:
http://localhost:3000/api/auth/callback/google - Zkopíruj Client ID a Client Secret do
.env
- Zaregistruj se na Foursquare Developer Portal
- Vytvoř novou aplikaci
- Zkopíruj Client ID a Client Secret (Legacy API v2)
- Toto API umožňuje automatické vyhledávání a doplňování údajů o místech
- Vytvoř účet na Cloudinary
- V Dashboard najdeš Cloud Name, API Key a API Secret
- Vytvoř Upload Preset pro unsigned uploady
| Kategorie | Technologie |
|---|---|
| Framework | Next.js 15 (Pages Router, Turbopack) |
| Frontend | React 19, TypeScript |
| Styling | Tailwind CSS 4 |
| Animace | Framer Motion, GSAP |
| Mapy | Mapbox GL / MapLibre GL, React Map GL |
| Databáze | MySQL + Prisma ORM |
| Autentizace | NextAuth.js (Google OAuth) |
| Obrázky | Cloudinary |
| Stav | React Query (TanStack Query) |
| Validace | Zod |
| Ikony | Lucide React |
src/
├── components/ # Znovupoužitelné UI komponenty
├── context/ # React Context providers
├── generated/ # Vygenerované soubory
├── hooks/ # Custom React hooks
├── lib/ # Utility funkce a konfigurace
├── middleware.ts # Ochrana obsahu a přesměrování
├── pages/ # Next.js stránky a API routes
├── styles/ # Globální CSS styly
└── types/ # TypeScript definice
| Příkaz | Popis |
|---|---|
npm run dev |
Spustí vývojový server s Turbopack |
npm run build |
Vytvoří produkční build |
npm run start |
Spustí produkční server |
npm run lint |
Zkontroluje kód pomocí ESLint |
Tento projekt je součástí mojí maturitní práce.
Vytvořeno s ❤️ Dejnyho