TravelGram, seyahat anılarınızı yapay zeka destekli özelliklerle zenginleştirerek paylaşmanızı sağlayan modern bir mobil uygulamadır. Gezginler için tasarlanan bu platform, sadece fotoğraf paylaşmanın ötesine geçerek, gönderilerinizi akıllı analizler ve otomatik içerik önerileriyle bir üst seviyeye taşır.
- Yapay Zeka Destekli Görüntü Analizi: Yüklediğiniz fotoğraflar, TensorFlow.js ile eğitilmiş özel bir model kullanılarak analiz edilir. Model, fotoğrafın içeriğini (örneğin: "plaj", "dağ", "şehir", "yemek") tanıyarak gönderinizi otomatik olarak kategorize eder.
- Akıllı Metin Üretimi: Google'ın güçlü Gemini modeli sayesinde, paylaştığınız fotoğrafa ve belirttiğiniz konuma uygun, yaratıcı ve ilgi çekici gönderi açıklamaları saniyeler içinde oluşturulur.
- Sesle Yazma: Google Cloud Speech-to-Text entegrasyonu ile anılarınızı konuşarak kolayca yazıya dökün. Uzun açıklamalar yazmakla uğraşmayın, sadece anlatın!
- Konum Tabanlı Paylaşımlar:
expo-location
kullanarak gönderilerinize konum bilgisi ekleyin ve harita üzerinde anılarınızı keşfedin. - Kullanıcı Etkileşimi: Gönderileri beğenin, yorum yapın ve diğer gezginleri takip ederek ilham alın.
- Modern ve Akıcı Arayüz: React Native ve Expo ile geliştirilmiş, hem iOS hem de Android platformlarında kusursuz çalışan, kullanıcı dostu bir arayüz.
- Güvenli Kimlik Doğrulama: Firebase Authentication ile e-posta/şifre veya sosyal medya hesaplarınızla güvenli ve hızlı bir şekilde giriş yapın.
TravelGram, modern ve ölçeklenebilir teknolojiler kullanılarak geliştirilmiş bir tam yığın (full-stack) projesidir.
- Çerçeve: React Native & Expo
- Navigasyon: React Navigation
- UI Bileşenleri: Expo Vector Icons, Expo Blur, Expo Linear Gradient
- State Management: React Hooks & Context API
- API İletişimi: Özel API servisi
- Donanım Erişimi:
expo-camera
,expo-image-picker
,expo-location
,expo-av
- Kimlik Doğrulama: Firebase Authentication
- Çerçeve: Node.js & Express.js
- Veritabanı: MongoDB & Mongoose ODM
- Dosya Depolama: Firebase Storage & MongoDB GridFS
- API: RESTful API
- Kimlik Doğrulama: Firebase Admin SDK
- Görüntü Sınıflandırma: TensorFlow.js (
tfjs-node
) - Metin Üretimi: Google Generative AI (Gemini)
- Konuşma Tanıma: Google Cloud Speech-to-Text
Proje, iki ana bölümden oluşur: frontend
ve backend
.
TravelGram-main/
├── backend/ # Node.js, Express, AI servisleri ve veritabanı yönetimi
│ ├── controllers/
│ ├── models/
│ ├── routes/
│ ├── services/
│ ├── ml_models/ # TensorFlow.js model dosyaları
│ └── ...
├── frontend/ # React Native (Expo) mobil uygulaması
│ ├── app/ # Ekranlar ve navigasyon (expo-router)
│ ├── components/ # Yeniden kullanılabilir UI bileşenleri
│ ├── services/ # API ve AI servis çağrıları
│ ├── assets/
│ └── ...
├── package.json # Proje bağımlılıkları
└── README.md
Projeyi yerel makinenizde çalıştırmak için aşağıdaki adımları izleyin.
- Node.js (LTS sürümü önerilir)
- Expo CLI
- MongoDB veritabanı
- Firebase ve Google Cloud hesapları
-
Projeyi Klonlayın:
git clone https://github.com/kullanici-adiniz/TravelGram-main.git cd TravelGram-main
-
Backend'i Ayarlayın:
backend
klasörüne gidin:cd backend
.env.example
dosyasını.env
olarak kopyalayın ve kendi bilgilerinizi girin (MongoDB URI, Firebase Admin SDK anahtarı, Google Cloud anahtarları vb.).- Bağımlılıkları yükleyin:
npm install
-
Frontend'i Ayarlayın:
frontend
klasörüne gidin:cd ../frontend
.env.example
dosyasını.env
olarak kopyalayın ve kendi Firebase yapılandırma bilgilerinizi girin.- Bağımlılıkları yükleyin:
npm install
-
Backend Sunucusunu Başlatın:
backend
klasöründeyken aşağıdaki komutu çalıştırın:npm run dev
Sunucu varsayılan olarak
http://localhost:3000
adresinde çalışmaya başlayacaktır. -
Frontend Uygulamasını Başlatın:
frontend
klasöründeyken aşağıdaki komutu çalıştırın:expo start
Açılan Metro Bundler arayüzünden, Expo Go uygulamasını kullanarak QR kodu okutabilir ve uygulamayı mobil cihazınızda (iOS veya Android) çalıştırabilirsiniz.