İçeriğe geç
SPALGIN
TR/EN
← TÜM PROJELER
PODCAST · SOSYAL PLATFORM

MindRooms.

MindRooms logosu

MindRooms’ta podcast dinleyebilir veya kendi yayınını paylaşabilirsin. Sevdiğin serileri takip edebilir, bölümler üzerine yorum yapabilir ve aynı konulara ilgi duyan insanlarla topluluklarda buluşabilirsin. Canlı ses odalarında dinleyiciler ve içerik üreticileri bir araya gelir. Mobilde ve web’de ücretsiz.

PLATFORM

iOS / Android / Web / iPad

TEKNOLOJİ

Flutter · Riverpod · Supabase · PostgreSQL · WebRTC · Cloudflare R2

1 / 4

İlgi alanına ve dinlemek istediğin dile göre yeni podcastler bulabilirsin.

01 / MINDROOMS

Dinleme, paylaşma ve topluluklar

MindRooms, sesli içerik dinlemek ve paylaşmak için geliştirilen bir uygulama. Keşfet ekranında podcast ve seriler listeleniyor; dil ve konu filtreleriyle içerik seçilebiliyor. Bir bölümden serinin diğer bölümlerine geçilebiliyor. Kullanıcılar serileri takip edebiliyor, yorum yapabiliyor ve ilgilendikleri topluluklara katılabiliyor.

İçerik yükleme bölümünde ses dosyası, kapak ve açıklama giriliyor. Dinleyici tarafında ise oynatma kontrolleri, bölüm bilgileri ve yorumlar bulunuyor. Profil, topluluk ve seri sayfaları içerikleri ayrı ayrı listeliyor. Uygulama mobil cihazlar ve web için geliştirildi.

02 / MINDROOMS

Oynatıcı ve cihaz desteği

Uygulama Flutter ile geliştirildi; oturum, içerik ve oynatma durumu Riverpod ile yönetiliyor. Tablet oynatıcısının ve web canlı yayın ekranlarının ayrı yerleşimleri var. Podcast çalarken başka sayfalarda gezilebilmesi için oynatma durumu açık olan ekrandan ayrı tutuluyor.

Podcast oynatma için just_audio ve arka plan ses desteği kullanılıyor. Canlı ses WebRTC ile iletiliyor. Mikrofon izni, ses çıkışı ve bağlantı yönetiminin tarayıcıda ve telefonda farklı olması nedeniyle bu işlemler platforma özel kodlarla ele alınıyor.

03 / MINDROOMS

Dosya yükleme ve saklama

Hesaplar, podcast bilgileri, yorumlar ve topluluk kayıtları Supabase’de tutuluyor. Ses dosyaları Cloudflare R2’de saklanıyor; dosya erişimi ilgili Worker üzerinden yönetiliyor. Veritabanında sesin kalıcı dosya yolu bulunuyor. Dinleme sırasında geçerli erişim bağlantısı alınıyor, süresi dolan bir bağlantı kalıcı kayıt olarak saklanmıyor.

Yükleme yüzdesi gönderilen bayt sayısına göre hesaplanıyor. Yüklemenin bitmesi, iptal edilmesi ve hata vermesi ayrı sonuçlar olarak işleniyor. Ses, kapak ve profil görsellerinin erişim kuralları da ayrı. Dosyayı görme veya değiştirme izni sunucuda kontrol ediliyor.

04 / MINDROOMS

Canlı ses odaları

Canlı odada yayıncı, konuşmacı ve dinleyicinin yetkileri farklı. Oda açma, odaya katılma, konuşmacı izni verme ve yayını bitirme işlemleri ayrı yönetiliyor. WebRTC bağlantısının yanında, veritabanında odanın açık mı kapalı mı olduğu da takip ediliyor.

Bağlantı kesilmesi veya yayının bitmesi durumunda uygulamanın oda bilgisini güncellemesi gerekiyor. Sunucuya ait bağlantı ayrıntıları yalnız ihtiyacı olan işlemlerde kullanılıyor. Canlı yayın kaydı ise ayrı izin ve altyapı kontrollerine bağlı; bir odanın açılması otomatik olarak kayıt başlatmıyor.

05 / MINDROOMS

Hesap işlemleri ve moderasyon

Takip, beğeni, yorum ve topluluk üyeliği veritabanındaki erişim kurallarıyla yönetiliyor. İçerik sahibiyle diğer kullanıcıların yapabileceği işlemler ayrılıyor. Hesap silme, hesap verilerini dışa aktarma ve moderasyon işlemleri de uygulamanın kapsamında bulunuyor.

Hata takibi için Sentry, bildirimler için Firebase Messaging kullanılıyor. Kontroller arayüzü, veri erişimini ve cihazlara göre ses davranışını kapsıyor. Buradaki ekran görüntüleri örnek içeriklerle hazırlanmıştır; ekranlarda görünen üye, takipçi ve dinlenme sayıları canlı kullanım verisi değildir.

SIRADAKİ PROJEDilci