Ders.im Ders Notları İçin Paylaşım Platformu Projesi#1 — Dünden Bugüne

Çağatay Çalı
Çağatay Çalı
Published in
5 min readApr 4, 2018
Vurdular, ölemedim dermişim :)

Selamlar, bildiğiniz üzere ders.im adında ders notu, çıkmış sınav soruları paylaşım platformu geliştiriyorum.

Bu süreçte şimdiye kadar başıma gelenleri hızlıca bir gözden geçirelim ister misiniz? Haydi alt başlıklar altında süreçleri gözden geçirelim, yanlışları değerlendirelim;

( Bol görselli bir yazı olacak, umarım sizin için verimli olur )

İlk Kodlama #1

Projelere başlarken ilk odaklandığımız nokta haliyle kodlama oluyor, hazır bir platform mu kullanmalı yoksa sıfırdan mı koda girişilmeli ikilemini çözmek gerekiyor. Hazır platformların yetenekleri dışında özel ne tür ihtiyaçlarım var bunları belirleyerek işe başlamak gerekliydi, “Abi WordPress kur geç” diyenlere bir cevabım olmalıydı. Öncelikle kendime karşı :)

İlk yazdığım arayüz gerçekten çok kötü görünmüyor mu?

Projeye ilk girişim bu şekilde oldu, sonrasında ilk hatamı düzelttim; “metaryel” değil “materyal” 😜

Bir yol haritası oluşturdum ve bu yol haritasına en öncelikli işleri sınıflandırarak ekledim, betaya çıkmam için gönülden destek olan kişilerle cici bir slack kanalı kurduk ve fikri beslemem için yardımlarını esirgemediler.

İlk gerçek versiyon: (v0.0.1)

İlk versiyonda önceliklendirdiğim görevlerden bazıları;

  • Ders notları her tipte yüklenebilmeliydi ( pdf, pptx, docx ) Bunun için döküman yüklendikten sonra libreoffice ile açıp PDF çıktı vermeyi otomatize ettim.
  • Ders notları yüklendikten sonra her bir dökümanın sayfalarının GIF / Thumbnail haline getirilmesi gibi zor bir görev vardı, PDFJS ve HTML Canvas ile bu problemi çözdüm ( API’ları gerçekten çok pahalı) ve açık kaynak haline getirdim.
  • Ders notlarının içerisinde arama yapılabilmesi gerekiyordu, projemizin amacı “Eğitim sektöründe yapılacak bir organik trafik girişimi olmak” olduğu için dökümanların içerisindeki yazıları PDFJS ile çıkartıp Algolia’ya indexlettim. ( Firebase Functions -> Algolia )
  • Ve tabii herkesin giriş yapıp kendi dökümanlarını yükleyebilmesi gerekiyordu 😅

Bu özellikleri gerçekleştirip beta sürecinde bana destek olan kişilere(*) ilettim, eksik gedik, kusurları kapattıktan sonra herkese bunları nasıl yaptığımı anlattım,

Ve açık betadan sonra arayüzümü revize edeceğimizin üzerine söz aldık,

Bunları gerçekleştirdikten sonra ilk beta versiyonumuz resmi olarak yayındaydı! 💃 🕺

SEO için ufak tefek düzenlemeler ve sosyal medya imlemelerini gerçekleştirdim.

Oda nesi? Sistem kullanışsız! Aradığımı bulamıyorum!

Sistem Tasarımı Eksiklikleri #2

Kişiler dökümanları arayıp bulabiliyordu fakat yine de site içerisinde dolaşım problemi gerçekten ciddi boyuttaydı. Kategorizasyon, benzer dökümanları öne çıkarma gibi kritik özellikler sistemde mevcut değildi.

Abi WordPress koyup geçseydin bak bu kolaydı

Bende bu sistemleri birkaç firebase functions / firestore taklasıyla gerçekleştirdim. Tüm süreci twitter üzerinden değerli takipçilerimle paylaştım.

Kategorizasyon için önüme medium’u açıp saatlerce karalama yaptım, sadece 5 anahtar kelime ile nasıl oluyor da ana başlıkları çıkartıp bunları kategori olarak ekleyebiliyorlardı? Babam böyle pasta yapmayı nasıl öğrendi?

Sistem tasarımı eksiklerinden birisi de kullanıcıyı tekrar kazanmak idi, siteyi görüntüleyen kişi tekrar girme isteği duymuyordu. Bu durumu çözmek için paylaşım yapan kişileri takip edebileceğiniz bir bildirim sistemi geliştirdim fakat henüz tam anlamıyla efektif bir şekilde öne çıkartabildiğimi düşünmüyorum.

Ve işimi düzgün yaptığımın ilk ibaresi kendini gösterdi,

Saldırılar, mail kutuma düşen nefret mesajları gerçekten çok verimli oldu. Teşekkür ederim destekleriniz için, lütfen esirgemeyin.

Sistem tasarımında dolaylı yoldan bir eksiğim daha vardı, dökümanı görüntüleyen kişi sonrasında o döküman ile ilgili bir YouTube videosu izleyerek zamandan kazanma güdüsüne sahipti. Benim platformda bu güdüyü de karşılar biçimde evirmem gerekiyordu. Döküman ile ilgili YouTube videolarını sisteme otomatik ekleyerek bu güdüyü karşılamaya çalıştım.

Dış Motivasyonlar #3

Ben platformu geliştirirken forumlarda, tweet’lerde, paylaşımlarda insanların dökümanları sıkıştırılmış dosyalar olarak paylaşıp, virüslü mü değil mi çekincesi içerisinde dökümanı edinme yoluna girdiklerini gördüm, bunun yanı sıra MEGEP dökümanlarının erişilebilir olmadığı konusunda Fatih Erikli & Vural Kap arasında geçen bir dialog bana arkadaşım tarafından iletildi,

MEGEP dökümanlarını ders.im’e kazandırdım ve platformumda sınıflandırabileceğim (classify) yeteri kadar döküman oldu ve sistemimi test edebilme şansına sahip oldum.

Bu işlemi gerçekleştirirken kaynakçaya saygısızlık etmemek adına sisteme kaynakça bölümü ekledim.

Sistemin düzgün çalıştığına emin olabilmek için “açık beta” versiyonuna geçiş yaptık, Arka Kapı dergisini kişilere bir çekilişle dağıtıyor olacağım. Hem ders.im duyulsun hem güzide siber güvenlik dergisi daha fazla kişiye ulaşsın. Günün sonunda kazanan bizim insanımız olacak. Herkes kazansın.

Arka kapı dergisinin ilk baskısından bir yazıyı ders.im üzerinde paylaşması üzerine tatlı oldu;

Bu süreçten sonra A/B testleri ve kullanıcı deneyimini arttırmaya yönelik çalışmalara başladım.

Kullanıcı Deneyimi #4

Platformda kişilerin nerelere tıkladığı, nerelerde zaman geçirdikleri gibi soruları karşılamak adına geçici olacak şekilde, hotjar’ı sisteme ekledim. 👼

Bu içgörüler sonucunda arayüzümü iyileştirdim, renkleriyle oynadım, ufak düzenlemeler yaptım.

Kullanıcıların dökümanı giriş yapmadan tarayıcıda görüntüleyebileceği, dilerlerse indirebilecekleri bir platform olma yolunda yürüyoruz,

Dökümanları twitter’da paylaşanlar için direkt detayı görüntüleme, sitesine dökümanı eklemek isteyenler için embed kodu üretme gibi nice ufak özellik ekledim.

SEO Denemeleri #5

SEO konusunda kendimi yetkin saymıyorum, kendimce çalışmalara başladım. Ana platformu desteklemek amaçlı özelleştirilmiş alan adları üzerinden ufak yayınlara başladım, https://dersnotlari.me

Bildiğiniz üzere google AMP adında hızlandırılmış mobil sayfalar adında bir özellik duyurdu. Kendi CDN sunucuları üzerinden sitenizi cache’leyip son kullanıcı deneyimini arttırmaya çalışıyorlar. Ben bu özelliğin ders.im’e ne tarz bir katkısı olur bunu denemek amaçlı bu tarz bir alan adı network’ü oluşturmaya başladım. Sonuçlarını hep birlikte göreceğiz.

Raporlar #6 🤦‍

Sistem günden güne büyürken belli başlı veriler gün yüzüne çıkmaya başladı;

Taş uzaktan gelmez

Günden güne birşeyler eklemeye, düzeltmeye devam ediyor olacağım.

Benimle bu projede heyecanımı paylaştığınız, sonuna kadar okuduğunuz için çok teşekkür ederim. Tek amacım bir başkasının kafasında bir 💡ampül yakmak, farklı bir düşünüşe ilham kaynağı olabilmek.

Ders.im anlık görsel

Sevgi ile kalın,

Çağatay.

--

--

Çağatay Çalı
Çağatay Çalı

Hack the ( things || ideas ) with code, equipped with NodeJS and coding skills which gained in early age.