Hidrobodrum Su Sporları Platformu

Su sporları rezervasyon ve bilgilendirme platformu - Next.js ve MongoDB ile geliştirildi

Hidrobodrum Su Sporları Platformu

Technologies

Next.js TypeScript Clerk Auth MongoDB Prisma ORM Tailwind CSS Cloudinary Vercel

Proje Özeti

Hidrobodrum, Bodrum’da su sporları ve deniz aktiviteleri sunan işletmeleri bir araya getiren kapsamlı bir dijital platformdur. Kullanıcılar, jet ski, parasailing, flyboard, SUP, banana ve ringo gibi popüler su sporları aktivitelerini keşfedebilir, detaylı bilgi alabilir ve anında rezervasyon yapabilirler. Platform, modern web teknolojileri kullanılarak geliştirilmiş olup, kullanıcı dostu arayüzü ve güvenli ödeme sistemiyle öne çıkmaktadır.

Teknik Özellikler

  • Aktivite Keşfi: Kategorilere göre filtreleme ve arama özellikleri
  • Gerçek Zamanlı Rezervasyon: Anlık müsaitlik kontrolü ve rezervasyon onayı
  • Kullanıcı Profilleri: Geçmiş rezervasyonlar ve favoriler
  • İşletme Yönetim Paneli: Aktivite ve rezervasyon yönetimi
  • Çok Dilli Destek: Türkçe ve İngilizce dil seçenekleri
  • Ödeme Entegrasyonu: Güvenli online ödeme seçenekleri
  • Değerlendirme Sistemi: Kullanıcı yorumları ve puanlamaları

Kullanılan Teknolojiler

Frontend

  • Next.js: Hızlı sayfa yüklemeleri ve SEO optimizasyonu
  • TypeScript: Tip güvenliği ve kod kalitesi
  • Tailwind CSS: Özelleştirilebilir ve responsive tasarım
  • React-Icons: Modern ve şık ikonlar
  • Radix UI: Erişilebilir UI bileşenleri

Backend

  • Next.js API Routes: Sunucu taraflı işlevsellik
  • MongoDB: Esnek veri modelleme
  • Prisma ORM: Tip güvenli veritabanı işlemleri
  • Clerk Auth: Güvenli kullanıcı yönetimi

Deployment ve DevOps

  • Vercel: Otomatik dağıtım ve hosting
  • Cloudinary: Görsel optimizasyonu ve CDN

Veritabanı Yapısı

Hidrobodrum platformu için MongoDB veritabanı, Prisma ORM kullanılarak modellenmiştir:

// prisma/schema.prisma
model Aktivite {
  id          String   @id @default(auto()) @map("_id") @db.ObjectId
  baslik      String
  slug        String   @unique
  aciklama    String
  fiyat       Float
  kapasite    Int
  sureDakika  Int
  resimUrl    String
  rezervasyonlar Rezervasyon[]
  createdAt   DateTime @default(now())
  updatedAt   DateTime @updatedAt
}

model Rezervasyon {
  id          String   @id @default(auto()) @map("_id") @db.ObjectId
  aktiviteId  String   @db.ObjectId
  aktivite    Aktivite @relation(fields: [aktiviteId], references: [id])
  kullaniciId String
  tarih       DateTime
  kisiSayisi  Int
  toplamFiyat Float
  durum       String   // 'onay_bekliyor', 'onaylandi', 'iptal_edildi'
  createdAt   DateTime @default(now())
  updatedAt   DateTime @updatedAt
}

Geliştirme Yaklaşımı

Hidrobodrum projesi, Vibe Coding yaklaşımıyla geliştirilmiştir. Bu yaklaşım:

  • Yaratıcı ve odaklanmış kod yazma dönemlerini optimize eder
  • Kullanıcı deneyimini ön planda tutar
  • Kod estetiği ve organizasyonuna önem verir
  • Takım içi işbirliğini ve pozitif enerjiyi teşvik eder

Bu yaklaşım sayesinde, turizm sektörü için kullanıcı deneyiminin kritik önem taşıdığı bir projede, hem teknik mükemmellik hem de kullanıcı memnuniyeti sağlanmıştır.

Mobil Uyumluluk

Hidrobodrum platformu, mobil cihazlarda mükemmel performans gösterecek şekilde tasarlanmıştır:

  • Responsive tasarım ile tüm ekran boyutlarına uyum
  • Dokunmatik ekranlarda kolay kullanım
  • Hızlı yükleme süreleri
  • Offline kullanım için PWA özellikleri

Sonuç ve Etki

Hidrobodrum platformu, Bodrum’daki su sporları ekosisteminde önemli bir dijital dönüşüm sağlamıştır:

  • 20+ su sporları işletmesi platformda yer almaktadır
  • Aylık 5,000+ aktif kullanıcı
  • 300+ aylık başarılı rezervasyon
  • İşletmelerin dijital varlıklarını güçlendirme

Platform, hem turistlerin Bodrum’daki deneyimlerini zenginleştirmekte hem de yerel işletmelerin dijital dönüşümüne katkı sağlamaktadır.