Campus Social

Tamamlanma Tarihi: Mayıs 2024

Kullanılan Teknolojiler

Flutter Dart Firebase Provider Riverpod Bloc WebSockets Dio Retrofit SQLite Hive

Proje Açıklaması

Campus Social, Flutter ile geliştirilmiş modern bir sosyal medya uygulamasıdır. Bu uygulama, kampüs topluluğu içinde kullanıcıların gönderi paylaşmasına, mesajlaşmasına ve arkadaşlarıyla gerçek zamanlı olarak etkileşimde bulunmasına olanak tanır.

Proje, modern mobil uygulama geliştirme teknolojileri kullanılarak geliştirilmiş olup, geniş bir özellik yelpazesi sunmaktadır. Firebase altyapısı ile güçlendirilmiş uygulama; gerçek zamanlı mesajlaşma, hikaye paylaşımı, gönderi etkileşimleri ve kişiselleştirilebilir kullanıcı profilleri gibi sosyal medya uygulamalarının temel özelliklerini barındırmaktadır.

Özellikler

Kullanıcı Kimlik Doğrulama

  • Kayıt olma, giriş yapma ve iki faktörlü kimlik doğrulama
  • Şifre sıfırlama ve hesap kurtarma
  • Sosyal medya ile giriş seçenekleri

Gönderiler ve Hikayeler

  • Görsel/video yükleyerek gönderi oluşturma
  • 24 saat sonra kaybolan hikayeler paylaşma
  • Beğenme, yorum yapma ve kaydetme özellikleri
  • Trend olan gönderileri keşfetme

Profiller ve Bağlantılar

  • Özelleştirilebilir kullanıcı profilleri
  • Takip etme/takipten çıkma mekanizması
  • Takipçi ve takip edilen listelerini görüntüleme
  • İstenmeyen kullanıcıları engelleme

Mesajlaşma ve Bildirimler

  • WebSockets ile gerçek zamanlı sohbet
  • Aktiviteler için push bildirimleri
  • Mesaj okundu bilgileri
  • Sohbetlerde medya paylaşımı

Gelişmiş Özellikler

  • Gönderileri ve hikayeleri arşivleme
  • Karanlık/Aydınlık mod desteği
  • Gönderi analizleri
  • İçerik keşif algoritması
  • Yerel önbelleğe alma ile çevrimdışı yetenekler

Kurulum ve Kullanım

Gereksinimler

  • Flutter SDK (sürüm 3.0.0 veya daha yüksek)
  • Dart SDK (sürüm 3.0.0 veya daha yüksek)
  • Flutter uzantıları olan Android Studio veya VS Code
  • Firebase projesi (backend servisleri için)

Kurulum Adımları


# GitHub'dan projeyi klonlayın
git clone https://github.com/YusufAkin27/social_media.git
cd campus-social

# Bağımlılıkları yükleyin
flutter pub get

# Firebase Konfigürasyonu
# 1. Firebase Console'da bir Firebase projesi oluşturun
# 2. Firebase projenize Android ve iOS uygulamaları ekleyin
# 3. Yapılandırma dosyalarını indirin ve yerleştirin:
#    - google-services.json dosyasını android/app/ altına
#    - GoogleService-Info.plist dosyasını ios/Runner/ altına

# Uygulamayı çalıştırın
flutter run
                            

Test Etme


# Testleri çalıştırın
flutter test
                            

Proje Yapısı


lib/
├── components/      # Yeniden kullanılabilir UI bileşenleri
├── enums/           # Numaralandırma türleri
├── models/          # Veri modelleri
├── routes/          # Uygulama navigasyonu
├── screens/         # Uygulama ekranları
├── services/        # API ve backend servisleri
├── widgets/         # Ortak widget'lar
└── main.dart        # Giriş noktası
                            

Geliştirme

  • Kod Oluşturma: Bu proje, JSON serileştirme ve API istemcileri için kod oluşturma kullanır.
  • flutter pub run build_runner build --delete-conflicting-outputs
  • Yeni Özellikler Ekleme: Mevcut mimari desenini takip edin
    • Modelleri models dizininde oluşturun
    • Servisleri services dizininde ekleyin
    • UI bileşenlerini components veya widgets içinde oluşturun
    • Ekranları screens dizininde ekleyin