Skip to content

nikatopu/GeoWonder

Repository files navigation

GeoWonder 🌄

Unforgettable Tours in Georgia

GeoWonder is a modern travel agency website showcasing the stunning beauty and culture of Georgia. Built with Next.js 15, this full-stack web application provides a comprehensive platform for tour management, content publishing, and customer engagement.

License: MIT Next.js TypeScript Prisma

✨ What GeoWonder Does

GeoWonder transforms Georgian travel experiences through:

  • Interactive Tour Showcase - Beautifully presented tour packages with detailed descriptions and image galleries
  • Content Management - Blog-style articles about Georgian culture, destinations, and travel tips
  • Visual Storytelling - Dynamic photo galleries showcasing Georgian landscapes and experiences
  • Direct Engagement - Integrated contact system for tour bookings and customer inquiries
  • Administrative Control - Full-featured admin panel for content and tour management

"Georgia is not a country you visit. It's an experience you live."

🚀 Why GeoWonder is Useful

For Travel Enthusiasts

  • Discover authentic Georgian experiences beyond typical tourist routes
  • Browse high-quality visual content and detailed tour information
  • Easy booking and inquiry process with multiple contact options

For Travel Agencies

  • Modern, responsive design optimized for conversions
  • SEO-friendly architecture for better search visibility
  • Scalable content management system
  • Mobile-first approach for today's travelers

For Developers

  • Clean, modern codebase with TypeScript
  • Well-organized component architecture
  • Database-driven content with Prisma ORM
  • Ready for deployment on Vercel or similar platforms

🛠️ Getting Started

Prerequisites

  • Node.js 18+
  • PostgreSQL database
  • npm, yarn, pnpm, or bun

Installation

  1. Clone the repository

    git clone https://github.com/your-username/geowonder.git
    cd geowonder
  2. Install dependencies

    npm install
    # or
    yarn install
    # or
    pnpm install
  3. Set up environment variables

    Create a .env file in the root directory:

    DATABASE_URL="postgresql://username:password@localhost:5432/geowonder"
    BLOB_READ_WRITE_TOKEN="your_vercel_blob_token"
  4. Set up the database

    npx prisma generate
    npx prisma db push
    npm run seed  # Optional: populate with sample data
  5. Run the development server

    npm run dev
    # or
    yarn dev
    # or
    pnpm dev
  6. Open your browser

    Navigate to http://localhost:3000 to see the application.

Usage Examples

Viewing Tours

// Tours are automatically fetched and displayed
// Access individual tours at /tours
// View detailed tour information with galleries

Admin Access

// Access admin panel at /admin
// Login with configured credentials
// Manage tours, articles, gallery, and settings

Content Management

// Create and edit articles with rich text editor
// Upload and manage gallery images
// Reorder tours with drag-and-drop interface

📁 Project Structure

geowonder/
├── app/                    # Next.js app directory
│   ├── admin/             # Admin panel pages
│   ├── api/               # API routes
│   ├── articles/          # Blog/articles pages
│   ├── contact/           # Contact page
│   ├── gallery/           # Photo gallery
│   └── tours/             # Tour showcase pages
├── components/            # Reusable React components
│   ├── atoms/             # Basic UI elements
│   └── organisms/         # Complex components
├── lib/                   # Utility functions and configurations
├── prisma/                # Database schema and migrations
└── public/                # Static assets

🔧 Available Scripts

  • npm run dev - Start development server
  • npm run build - Build for production
  • npm run start - Start production server
  • npm run lint - Run ESLint
  • npm run seed - Seed database with sample data

🌐 Deployment

Vercel (Recommended)

  1. Push your code to GitHub
  2. Connect your repository to Vercel
  3. Configure environment variables in Vercel dashboard
  4. Deploy automatically on every push

Other Platforms

The application is compatible with any platform supporting Node.js applications:

  • Netlify
  • Railway
  • DigitalOcean App Platform
  • AWS Amplify

📚 Tech Stack

  • Framework: Next.js 15 with App Router
  • Language: TypeScript
  • Styling: SCSS Modules
  • Database: PostgreSQL with Prisma ORM
  • File Storage: Vercel Blob
  • UI Components: Custom component library
  • Animations: Framer Motion
  • Rich Text: TinyMCE Editor
  • Drag & Drop: DND Kit

🙏 Acknowledgments

  • Georgia Tourism for inspiration and cultural insights
  • Next.js Team for the excellent framework
  • Vercel for hosting and blob storage solutions
  • Open Source Community for the amazing tools and libraries

Made with ❤️ for Georgian tourism

For more information about Georgia and our tours, visit www.geowonder.tours

About

Built with Next.js 15, this full-stack web application provides a comprehensive platform for tour management, content publishing, and customer engagement.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors