Skip to content

Repository files navigation

CineFlow

TMDB keşfi, favoriler, oyuncu taraması ve Gemini destekli film asistanını bir araya getiren modern Flutter mobil uygulaması

Türkçe · English

Flutter Dart GetX TMDB Gemini SQLite


Proje Özeti

CineFlow, kullanıcıların film ve TV dizilerini keşfetmesini, favori içeriklerini saklamasını, oyuncuları incelemesini ve doğal dil ile içerik önerileri almasını amaçlayan çok ekranlı bir Flutter mobil uygulamasıdır.

Projeyi güçlü kılan nokta sadece TMDB listeleme ekranları değildir. Uygulama, Gemini destekli film asistanı, favori yönetimi, fragman oynatma, oyuncu keşfi, çoklu dil altyapısı, bildirim tercihleri ve karanlık temalı ürün tasarımı gibi birbirini tamamlayan mobil ürün katmanlarını bir araya getirir.


Uygulama Demosu

CineFlow mobil uygulama videosunu izle

Video; film ve TV keşfi, favoriler, oyuncular, Gemini destekli asistan, detay sayfaları, profil ve ayarlar akışını göstermektedir.

Öne Çıkan Özellikler

  • Film keşfi ve arama
  • TV dizi keşfi ve arama
  • Grid / liste görünümü
  • Favori film ve favori dizi yönetimi
  • Oyuncu keşfi ve oyuncu sıralama seçenekleri
  • Film ve dizi detay ekranları
  • YouTube fragman oynatma
  • Gemini destekli film/dizi öneri asistanı
  • Türkçe ve İngilizce dil desteği
  • Bildirim tercihleri ve oynatma ayarları
  • Yerel saklama ve kullanıcı tercihleri
  • GetX tabanlı durum yönetimi ve yönlendirme

Ekran Görüntüleri

Ana deneyim

Filmler TV Dizileri Favoriler

Keşif ve yapay zeka katmanı

Oyuncular Film Asistanı Film Detayı

Profil ve ayarlar

TV Dizi Detayı Profil Ayarlar

Modüller

1. Film ve TV keşfi

Ana sayfa film ve TV içeriklerini sekmeli biçimde sunar. Arama alanı, filtreler, grid/liste görünümü ve kaydırdıkça daha fazla içerik yükleme davranışı ürün deneyiminin temelini oluşturur.

2. Favoriler

Kullanıcılar seçtikleri film ve dizileri favorilere ekleyebilir. Bu modül içerikleri hızlıca tekrar erişilebilir hâle getirir ve uygulamanın tekrar kullanım değerini yükseltir.

3. Oyuncular

Oyuncu ekranı TMDB kişi verileri üzerinden popüler isimleri, aramayı ve sıralamayı destekler. Böylece uygulama sadece içerik kartlarına değil, oyuncu odaklı keşfe de açılır.

4. Film Asistanı

Gemini destekli asistan, kullanıcıdan doğal dilde istek alır. Örneğin “karanlık atmosferli ve ters köşeli 5 film öner” gibi bir isteme sohbet yanıtı üretir. Ardından öneri metnindeki yapımları TMDB aramasıyla eşleştirerek uygulama içi içerik akışına bağlar.

5. Detay ekranları

Film ve TV detay ekranlarında başlık, puan, özet, yayın tarihi ve ilgili medya görünür. Film detayında ayrıca fragman deneyimi sunulur.

6. Profil ve ayarlar

Profil, favorilere erişim ve kullanıcı kartı sunar. Ayarlar ekranında dil, bildirimler, fragman otomatik oynatma ve video kalitesi gibi tercihler yönetilebilir.


Teknik Mimari

flowchart TD
    A[Flutter App] --> B[GetX State Management]
    A --> C[TMDB API Service]
    A --> D[Gemini Service]
    A --> E[Local Storage]
    A --> F[YouTube Trailer Player]
    A --> G[Notification Service]

    E --> E1[SharedPreferences]
    E --> E2[SQLite / Sqflite]

    B --> H[Movies]
    B --> I[TV Shows]
    B --> J[Favorites]
    B --> K[People]
    B --> L[Assistant]
    B --> M[Profile & Settings]
Loading

Teknoloji Yığını

Mobil uygulama

  • Flutter
  • Dart
  • Material UI
  • GetX

Veri ve servisler

  • TMDB API
  • Gemini API
  • HTTP
  • YouTube Player

Yerel özellikler

  • SQLite (sqflite)
  • SharedPreferences
  • Local notifications
  • Connectivity check
  • Image picker
  • Share support

UI yardımcı paketleri

  • Cached network image
  • Lottie
  • Shimmer
  • Flutter staggered grid view
  • Pull to refresh
  • Flutter SVG

Kurulum

Gereksinimler

  • Flutter SDK
  • Dart SDK
  • Android Studio veya VS Code
  • Android Emulator / fiziksel cihaz

Adımlar

git clone https://github.com/BurakKocDev/cineflow_app.git
cd cineflow_app
flutter pub get
cp .env.example .env

.env dosyasına kendi anahtarlarını gir:

GEMINI_API_KEY=your_gemini_api_key_here
TMDB_API_KEY=your_tmdb_api_key_here

Ardından uygulamayı çalıştır:

flutter run

Ortam Değişkenleri

Uygulama iki dış anahtara dayanır:

  • TMDB_API_KEY → içerik verileri için
  • GEMINI_API_KEY → yapay zeka asistanı için

Gerçek .env dosyası repoya eklenmez. Sadece .env.example şablonu bulunur.

Gemini kurulumu için repodaki GEMINI_KURULUM.md belgesine bakılabilir.


Repository Yapısı

cineflow_app/
├── lib/
│   ├── bindings/
│   ├── constants/
│   ├── controllers/
│   ├── localization/
│   ├── models/
│   ├── notifications/
│   ├── screens/
│   ├── services/
│   └── widgets/
├── assets/
│   ├── animations/
│   ├── icons/
│   ├── images/
│   └── translations/
├── .env.example
├── pubspec.yaml
├── README.md
└── README.en.md

Güçlü Yönler

  • Sadece tek ekranlı demo değil, gerçek ürün akışına sahip çok sekmeli mobil yapı
  • Yapay zeka özelliğinin görsel vitrin olmaktan çıkıp uygulama akışına bağlanması
  • Kullanıcı deneyimini destekleyen favoriler, ayarlar ve detay ekranları
  • Keşif, içerik detayı ve oyuncu bilgisi arasında dengeli gezinme
  • Portföy için teknik olduğu kadar ürün düşüncesi de gösteren bir örnek

Sınırlılıklar

  • İçerik verileri TMDB kapsama ve güncelliğine bağlıdır.
  • Asistan kalitesi Gemini yanıt kalitesine ve anahtar yapılandırmasına bağlıdır.
  • Şu an kullanıcı hesabı / gerçek backend oturumu yerine istemci taraflı deneyim ağırlıklıdır.
  • Favori ve tercih davranışları mobil cihaz içi saklamaya dayalıdır.
  • Bazı medya görselleri ve açıklamalar üçüncü taraf kaynaklardan gelir.

Projenin Amacı

CineFlow, modern Flutter ile yalnızca görsel olarak hoş değil; keşif, öneri, kişiselleştirme ve ayar deneyimini birleştiren ürün seviyesinde bir mobil uygulama geliştirebildiğini göstermek için hazırlanmıştır.

About

AI-powered Flutter app for movie and TV discovery with TMDB search, favourites, actor browsing, trailers, and a Gemini assistant.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages