EventStore, üniversite kulüpleri için etkinlik ve bilet yönetim sistemi sağlayan modern bir Android uygulamasıdır.
- Etkinlik Keşfi: Tüm kulüplerin etkinliklerini görüntüleme ve arama
- Bilet Satın Alma: Etkinlikler için bilet satın alma ve ödeme
- Ürün Satın Alma: Etkinliklerde satılan ürünleri satın alma
- Duyurular: Kulüplerin paylaştığı genel duyuruları ve önemli bilgilendirmeleri görüntüleme
- Biletlerim: Satın alınan biletleri görüntüleme ve QR kod ile erişim
- Profil Yönetimi: Kullanıcı profil bilgilerini görüntüleme ve düzenleme
- QR Kod Okuma: Kamera ile QR kod okuma özelliği
- Etkinlik Oluşturma: Yeni etkinlikler oluşturma ve yönetme
- Kulüp Yönetimi: Kulüp bilgilerini düzenleme
- Bilet ve Ürün Yönetimi: Etkinlikler için bilet ve ürün tanımlama
- Sipariş Takibi: Etkinlik siparişlerini görüntüleme
- Kulüp Yönetimi: Tüm kulüpleri görüntüleme ve yönetme
- Kullanıcı Yönetimi: Sistem kullanıcılarını yönetme
- Kotlin: Programlama dili
- Jetpack Compose: Modern UI framework
- Material Design 3: UI tasarım sistemi
- Navigation Compose: Ekranlar arası geçiş yönetimi
- ViewModel & LiveData: State management
- Koin: Dependency Injection
- Supabase: Backend as a Service
- PostgreSQL veritabanı
- Authentication (GoTrue)
- Storage (görsel yükleme)
- Realtime subscriptions
- ZXing: QR kod oluşturma
- ML Kit: QR kod okuma
- CameraX: Kamera entegrasyonu
- Coil: Görsel yükleme ve önbellekleme
- Ktor: HTTP client
- Kotlin Coroutines: Asenkron işlemler
- Kotlin Serialization: JSON serileştirme
- Android Studio: Hedgehog | 2023.1.1 veya üzeri
- JDK: 11 veya üzeri
- Min SDK: 24 (Android 7.0)
- Target SDK: 36
- Gradle: 8.0+
- Projeyi klonlayın:
git clone https://github.com/yourusername/event-store.git
cd event-store-
Android Studio'da projeyi açın
-
Supabase yapılandırması:
app/src/main/java/com/example/eventstore/data/remote/api/SupabaseModule.ktdosyasında Supabase URL ve API key'lerinizi güncelleyin
-
Projeyi derleyin ve çalıştırın
app/src/main/java/com/example/eventstore/
├── data/ # Data layer
│ ├── remote/ # Backend entegrasyonu
│ │ ├── api/ # Supabase modülü
│ │ └── dto/ # Data Transfer Objects
│ └── repository/ # Repository implementasyonları
├── domain/ # Domain layer
│ ├── model/ # Domain modelleri
│ ├── repository/ # Repository interface'leri
│ └── usecase/ # Use case'ler
├── di/ # Dependency Injection
│ └── AppModule.kt # Koin modülü
├── ui/ # UI layer
│ ├── component/ # Reusable UI bileşenleri
│ ├── navigation/ # Navigation yapılandırması
│ ├── screen/ # Ekranlar
│ ├── theme/ # Tema ve stil tanımları
│ └── viewmodel/ # ViewModel'ler
└── utils/ # Yardımcı sınıflar
├── DateUtils.kt
├── ImageUploader.kt
├── QRCodeGenerator.kt
└── QRCodeScanner.kt
Uygulama Clean Architecture prensiplerine uygun olarak geliştirilmiştir:
- Data Layer: Backend entegrasyonu ve veri kaynakları
- Domain Layer: İş mantığı ve domain modelleri
- UI Layer: Jetpack Compose ile kullanıcı arayüzü
MVVM (Model-View-ViewModel) pattern'i kullanılmaktadır.
Bu proje özel bir projedir.
Katkılarınızı bekliyoruz! Lütfen önce bir issue açarak ne üzerinde çalışmak istediğinizi belirtin.
Not: Bu uygulama eğitim amaçlı geliştirilmiştir.
