· Proje · 5 min read
BodrumAdvisor.com Yeniden Ayağa Kalktı: Bodrum'un Dijital Rehberi Geri Döndü
Next.js, Tailwind CSS ve modern web teknolojileri ile BodrumAdvisor.com'u baştan yarattık. Bodrum'un en kapsamlı dijital rehberinin yeniden doğuş hikayesi ve teknik detayları.

BodrumAdvisor.com Yeniden Ayağa Kalktı
Bodrum’un en kapsamlı dijital rehberi olan BodrumAdvisor.com, uzun bir aradan sonra modern web teknolojileri ile yeniden hayata döndü. Bu yazıda, platformun yeniden inşa sürecini, kullanılan teknolojileri ve Vibe Coding yaklaşımıyla geliştirdiğimiz yeni özellikleri detaylı olarak paylaşacağım.
Proje Hikayesi ve Motivasyon
BodrumAdvisor, yıllarca Bodrum’u ziyaret eden turistlere ve yerel halka değerli bilgiler sunan bir platform olarak hizmet verdi. Ancak teknolojik altyapısının eskimesi ve bakım eksikliği nedeniyle bir süre erişilemez durumdaydı. Bodrum’un turizm potansiyelini ve dijital varlığının önemini göz önünde bulundurarak, bu değerli platformu modern teknolojilerle yeniden ayağa kaldırma kararı aldık.
Vibe Coding ile Yeniden Doğuş
BodrumAdvisor’ın yeniden geliştirilmesi sürecinde Vibe Coding metodolojisini benimsedik. Bu yaklaşım sayesinde:
- Yaratıcı enerjinin yüksek olduğu anlarda kod yazarak daha inovatif çözümler ürettik
- Kullanıcı deneyimi ve teknik mükemmellik arasında mükemmel denge kurduk
- Kod kalitesi ve sürdürülebilirliğe odaklanarak uzun vadeli bir yapı oluşturduk
- Pozitif ve üretken bir geliştirme ortamı yaratarak projeye olan bağlılığı artırdık
Yeni BodrumAdvisor’ın Özellikleri
Kapsamlı İşletme Rehberi
Platform, Bodrum’daki tüm işletmeleri kategorize ederek kullanıcılara sunuyor:
- Restoranlar ve kafeler
- Oteller ve pansiyonlar
- Plajlar ve beach club’lar
- Gece hayatı mekanları
- Alışveriş noktaları
- Su sporları ve aktiviteler
- Sağlık ve wellness merkezleri
- Transfer ve ulaşım hizmetleri
Gelişmiş Arama ve Filtreleme
Kullanıcılar, ihtiyaçlarına göre işletmeleri kolayca bulabiliyor:
- Konum bazlı arama
- Kategori filtreleme
- Fiyat aralığı seçimi
- Puan ve yorumlara göre sıralama
- Özel kampanya ve indirimler
Kullanıcı Yorumları ve Puanlama Sistemi
Gerçek deneyimlere dayalı güvenilir bilgi sunmak için:
- Doğrulanmış kullanıcı yorumları
- 5 yıldızlı puanlama sistemi
- Fotoğraf ve video paylaşımı
- Faydalı yorum oylama
Teknik Altyapı ve Modernizasyon
Next.js ile Performans Odaklı Mimari
BodrumAdvisor’ın yeni versiyonu Next.js 14 ile geliştirildi:
// app/isletmeler/[slug]/page.tsx
import { Metadata } from 'next'
import { getIsletmeBySlug } from '@/lib/isletme'
import { IsletmeDetay } from '@/components/isletme/IsletmeDetay'
import { YorumlarBolumu } from '@/components/isletme/YorumlarBolumu'
import { BenzerIsletmeler } from '@/components/isletme/BenzerIsletmeler'
export async function generateMetadata({ params }): Promise<Metadata> {
const isletme = await getIsletmeBySlug(params.slug)
return {
title: `${isletme.ad} - BodrumAdvisor`,
description: isletme.kisaAciklama,
openGraph: {
title: isletme.ad,
description: isletme.kisaAciklama,
images: [isletme.kapakFoto],
},
}
}
export default async function IsletmeSayfasi({ params }) {
const isletme = await getIsletmeBySlug(params.slug)
return (
<div className="container mx-auto px-4 py-8">
<IsletmeDetay isletme={isletme} />
<YorumlarBolumu isletmeId={isletme.id} />
<BenzerIsletmeler kategori={isletme.kategori} />
</div>
)
}
Tailwind CSS ile Modern ve Responsive Tasarım
Kullanıcı arayüzü Tailwind CSS ile oluşturuldu:
// components/isletme/IsletmeKarti.tsx
interface IsletmeKartiProps {
isletme: Isletme
}
export const IsletmeKarti = ({ isletme }: IsletmeKartiProps) => {
return (
<div className="bg-white rounded-xl shadow-lg overflow-hidden hover:shadow-2xl transition-all duration-300 transform hover:-translate-y-1">
<div className="relative h-56">
<Image
src={isletme.kapakFoto}
alt={isletme.ad}
fill
className="object-cover"
/>
{isletme.ozelTeklif && (
<span className="absolute top-4 right-4 bg-red-500 text-white px-3 py-1 rounded-full text-sm font-semibold">
Özel Teklif
</span>
)}
</div>
<div className="p-6">
<div className="flex justify-between items-start mb-3">
<h3 className="text-xl font-bold text-gray-800">{isletme.ad}</h3>
<div className="flex items-center">
<Star className="w-5 h-5 text-yellow-400 fill-current" />
<span className="ml-1 text-gray-600">{isletme.ortalamaPuan}</span>
</div>
</div>
<p className="text-gray-600 mb-4 line-clamp-2">{isletme.kisaAciklama}</p>
<div className="flex items-center justify-between">
<span className="text-sm text-gray-500">{isletme.kategori}</span>
<Link
href={`/isletmeler/${isletme.slug}`}
className="text-blue-600 hover:text-blue-800 font-medium flex items-center"
>
Detaylar
<ChevronRight className="w-4 h-4 ml-1" />
</Link>
</div>
</div>
</div>
)
}
MongoDB ve Prisma ile Esnek Veri Yönetimi
Veritabanı olarak MongoDB kullanıldı ve Prisma ORM ile yönetildi:
// prisma/schema.prisma
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "mongodb"
url = env("DATABASE_URL")
}
model Isletme {
id String @id @default(auto()) @map("_id") @db.ObjectId
ad String
slug String @unique
kategori String
kisaAciklama String
uzunAciklama String
adres String
telefon String
email String?
website String?
kapakFoto String
galeriFotolar String[]
koordinatlar Koordinat
calismaaSaatleri Json
ozellikler String[]
ortalamaPuan Float @default(0)
yorumSayisi Int @default(0)
ozelTeklif Boolean @default(false)
yorumlar Yorum[]
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model Yorum {
id String @id @default(auto()) @map("_id") @db.ObjectId
isletmeId String @db.ObjectId
isletme Isletme @relation(fields: [isletmeId], references: [id])
kullaniciAdi String
kullaniciEmail String
puan Int
baslik String
icerik String
fotograflar String[]
onaylandi Boolean @default(false)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
type Koordinat {
lat Float
lng Float
}
SEO Optimizasyonu ve Performans
BodrumAdvisor’ın arama motorlarında üst sıralarda yer alması için:
- Server-side rendering ile hızlı sayfa yüklemeleri
- Dinamik meta tag’ler ve structured data
- Sitemap ve robots.txt optimizasyonu
- Core Web Vitals skorlarının iyileştirilmesi
- Cloudflare CDN entegrasyonu
Gelişmiş Özellikler ve Entegrasyonlar
Harita Entegrasyonu
İşletmelerin konumlarını görsel olarak sunmak için Google Maps API entegrasyonu:
// components/harita/IsletmeHaritasi.tsx
import { GoogleMap, Marker, InfoWindow } from '@react-google-maps/api'
export const IsletmeHaritasi = ({ isletmeler }) => {
const [selectedIsletme, setSelectedIsletme] = useState(null)
return (
<GoogleMap
mapContainerStyle={mapContainerStyle}
zoom={12}
center={bodrumMerkez}
>
{isletmeler.map((isletme) => (
<Marker
key={isletme.id}
position={{
lat: isletme.koordinatlar.lat,
lng: isletme.koordinatlar.lng
}}
onClick={() => setSelectedIsletme(isletme)}
/>
))}
{selectedIsletme && (
<InfoWindow
position={{
lat: selectedIsletme.koordinatlar.lat,
lng: selectedIsletme.koordinatlar.lng
}}
onCloseClick={() => setSelectedIsletme(null)}
>
<div className="p-2">
<h3 className="font-bold">{selectedIsletme.ad}</h3>
<p className="text-sm">{selectedIsletme.kategori}</p>
<Link href={`/isletmeler/${selectedIsletme.slug}`}>
Detayları Gör
</Link>
</div>
</InfoWindow>
)}
</GoogleMap>
)
}
Çok Dilli Destek
Uluslararası ziyaretçiler için çok dilli altyapı:
- Türkçe
- İngilizce
- Almanca
- Rusça
Mobil Uygulama Hazırlığı
Progressive Web App (PWA) özellikleri ile mobil deneyim:
- Offline çalışma kapasitesi
- Push bildirimler
- Ana ekrana ekleme
- Hızlı yükleme süreleri
Sonuç ve Gelecek Vizyonu
BodrumAdvisor.com’un yeniden hayata dönmesi, Bodrum’un dijital turizm ekosistemi için önemli bir kazanım oldu. Modern teknolojiler ve kullanıcı odaklı tasarım anlayışıyla geliştirilen platform, hem yerli hem de yabancı ziyaretçilere değerli bir rehber olma misyonunu sürdürüyor.
Gelecek Planları
- Yapay zeka destekli kişiselleştirilmiş öneriler
- Sanal tur ve 360° görüntüleme özellikleri
- Online rezervasyon ve ödeme sistemi entegrasyonu
- Sosyal medya entegrasyonları
- Bodrum etkinlik takvimi
- Turist rehberi ve blog bölümü
BodrumAdvisor, Bodrum’un dijital vitrini olma yolunda emin adımlarla ilerliyor. Platform, sürekli gelişen teknoloji ve değişen kullanıcı ihtiyaçlarına paralel olarak kendini yenilemeye devam edecek.
Eğer siz de benzer bir dijital dönüşüm projesi hayata geçirmek istiyorsanız veya BodrumAdvisor’da işletmenizin yer almasını istiyorsanız, benimle iletişime geçebilirsiniz. Bodrum’un dijital geleceğini birlikte inşa edelim.