lumina-events/irem-muratcan
0
📸 Lumina Events - AI Düğün Fotoğraf Paylaşım Platformu
0 maliyetli (Zero-Cost MVP), davetlilerin Google Drive üzerindeki binlerce fotoğraf arasından sadece kendi yüzlerinin olduğu fotoğrafları saniyeler içinde bulup indirebilmelerini sağlayan hibrit web platformu.
🏗️ Mimari ve Çalışma Akışı
[Davetliler] ──(Google Form)──> [Google Drive Klasörü]
│
▼ (RAM / Stream)
[Yüz İndeksleme Script'i]
(face_recognition / dlib)
│
▼ (128-D Vektörler)
[SQLite / face_index.db]
│
[Davetli Selfie] ──> [FastAPI: /api/search] ──> [Eşleşen Fotoğraflar]
│
▼
[Mobil Uyumlu Galeri Arayüzü]- Veri Toplama: Davetliler düğün/etkinlik esnasında veya sonrasında fotoğrafları Google Form ile etkinlik sahibinin Google Drive klasörüne yükler.
- Arka Plan İndeksleme:
python backend/scripts/index_drive.pyscript'i Drive'daki fotoğrafları RAM üzerinden okur, yüzleri tespit eder, 128 boyutlu embedding vektörlerini çıkarır vebackend/data/face_index.dbveritabanına işler. - Arama ve Eşleşme: Misafir web arayüzünde selfie çeker veya yükler. FastAPI sunucusu kosinüs benzerliği ile eşleşen fotoğrafları bulur.
- Hızlı Önizleme & İndirme: Sonuçlar doğrudan Google CDN önizleme linkleri ile mobil galeride listelenir ve orijinal kalitede indirilebilir.
📁 Proje Yapısı
faturalar/
├── backend/
│ ├── app/
│ │ ├── main.py # FastAPI uygulaması ve uç noktalar
│ │ ├── face_engine.py # Yüz tanıma & vektör karşılaştırma motoru
│ │ ├── drive_service.py # Google Drive API entegrasyonu
│ │ └── database.py # SQLite veritabanı yönetimi
│ ├── scripts/
│ │ └── index_drive.py # Fotoğrafları tarayıp indeksleyen script
│ ├── credentials/ # Google Cloud kimlik dosyaları (.gitignore)
│ ├── data/
│ │ └── face_index.db # Yüz vektörleri SQLite veritabanı
│ └── requirements.txt # Python bağımlılıkları
├── frontend/
│ ├── index.html # Modern, mobil uyumlu kullanıcı arayüzü
│ ├── style.css # Şık, cam efektli (glassmorphism) stil
│ └── app.js # Kamera kontrolü, API istekleri ve galeri yönetimi
├── .env.example
├── .gitignore
└── README.md