Tüm projelere dön

Anı Kutusu

Etkinlik fotoğraf platformu

Misafirlerin QR kodla fotoğraf yüklediği, etkinlik sahibinin tüm fotoğrafları ortak bir galeride topladığı web uygulaması.

Anı Kutusu tanıtımı: etkinlik fotoğraf platformu ve yönetim sistemi; salon ve etkinlik yönetimi, QR kod ile medya yükleme ve ortak galeri.
Misafirlerin katkıları, etkinliğin ortak galerisine.Web uygulamasının tanıtım görseli.
Kimler için?
Etkinlik sahipleri ve fotoğraf paylaşan misafirler
Katkım
Bağımsız proje · Full-stack geliştirme
Dönem
İlk sürüm: 2025 · Sonrasında ortak Go backend

Çözülmesi gereken ihtiyaç

Etkinlik fotoğrafları farklı misafirlerde dağınık kalıyor. Katılım kolay olurken yükleme ve görüntüleme izinlerinin etkinlik kapsamıyla sınırlanması gerekiyor.

Ortaya çıkan işlevler

Etkinlik için QR bağlantısı paylaşma, misafirlerden fotoğraf toplama ve fotoğrafları etkinliğe özel erişim izinleriyle bir galeride görüntüleme.

Ben ne yaptım?

QR kodla misafirlerin fotoğraf yüklemesini ve etkinlik galerisini geliştirdim. Ortak sunucu altyapısında fotoğraflara yalnız ilgili etkinliğin izinleriyle erişilmesini sağlayan kuralları uyguladım.

Geliştirme ayrıntılarını incele

Teknik yaklaşımla ilgilenenler için: çalışma akışı, kullandığım teknolojiler ve uygulama kararları.

Süreç nasıl işliyor?

Misafir için QR ile başlayan basit deneyimin arkasında etkinlik kapsamı, doğrudan nesne yükleme, tamamlama doğrulaması ve temizlik bulunuyor.

Ana akış

  1. Etkinliği ve galeriyi hazırla

    Etkinliğe bağlı galeri ve QR paylaşım bağlantısı oluşturulur.

  2. QR ile etkinliğe katıl

    Misafirin etkinlik token’ı yükleme ve galeri erişiminin kapsamını belirler.

  3. Yükleme niyetini doğrula

    Upload intent için dosya türü, boyut ve etkinlik kapsamı kontrol edilir.

  4. Dosyayı doğrudan yükle

    Presigned URL ile dosya uygulama sunucusundan geçirilmeden private MinIO’ya gönderilir.

  5. Yüklemeyi tamamla ve bağla

    Tamamlama isteğinde nesne ve sahiplik doğrulanır; medya etkinlik galerisine bağlanır.

  6. Galeriyi yetkili erişimle aç

    Misafir token’ı veya yetkili kullanıcı oturumu kapsamında medya bağlantıları sunulur.

Alternatif ve destek süreçleri

Yükleme yarım kalırsa

  1. Niyetin süresini sonlandır

    Süresi dolan veya tamamlanmayan upload intent kayıtları temizliğe alınır.

  2. Sahipsiz nesneyi temizle

    Galeriye bağlanmamış nesneler orphan-cleanup süreciyle kaldırılır.

Etkinlik sahibi erişirken

  1. Oturumu doğrula

    Etkinlik sahibinin JWT / OTP oturumu doğrulanır.

  2. Yetki kapsamını uygula

    Paylaşılan backend medya ve galeri erişimini kullanıcının yetkileriyle sınırlar.

Misafirlerin katkıları, etkinliğin ortak galerisine.Ürünün çalışma mantığını anlatan şematik görsel.

Çözüm yaklaşımı

  • Etkinlik ve galeri yönetimi ile QR bağlantısı üzerinden misafir medya yükleme akışlarını geliştirdim; etkinlik token'ı ile erişim kapsamını belirledim.
  • Upload intent, presigned URL ile private MinIO'ya doğrudan yükleme ve completion doğrulaması uyguladım; dosya türü/boyutu ve medya sahipliği kontrolleri geliştirdim.
  • Mezuniyet Yıllığım ile ortak backend'de OTP/JWT oturumları ve yetkili medya erişimini uyguladım; süresi dolan upload intent ve orphan object temizleme süreçleri geliştirdim.

Teknolojiler

  • Next.js
  • Go
  • TypeScript
  • PostgreSQL
  • Redis
  • MinIO
  • Docker Compose