Meyrem Şenge
Yazılım geliştirici
Bilgisayar Mühendisliği
Fırat Üniversitesi · son sınıf
Meyrem Şenge
Yazılım geliştirici
meyremsenge@gmail.com GitHub · LinkedIn
← Çalışmalar
Deneme sınavı · Soru 7 / 12 1 2 3 4 5 6 7 8 9 10 11 12 24:00 kalan süre süre, deneme hakkı ve puanlama sunucuda
Web · 2025–2026

Koçluk platformu

Beş kullanıcı rolü, soru bankası, otomatik puanlanan süreli sınavlar, canlı ders ve gelişim raporları: bir koçluk işletmesinin işi tek sistemde.

Rol
Sunucu kurulumu, yayınlama ve CI/CD
Bağlam
Müşteri projesi, ekip işi
Platform
Web
Durum
CI/CD ile yayında
Teknoloji
Python · Flask · React · TypeScript · Celery · Docker

01Sorun

Koçluk işletmeleri işini bir video platformu, bir mesajlaşma grubu, bir Excel dosyası ve ayrı bir takvimden kuruyor. Bu platform hepsini aynı kayıtlarda birleştiriyor.

Dağınık araçlar yüzünden öğrenci sırada ne olduğunu takip edemiyor; öğretmen de zamanını ders anlatmak yerine sınav sonucu ve devam bilgisi toplamakla geçiriyor.

02Yaklaşım

Tek bir rol modeli üzerine kurulu tek sistem: öğrenci, öğretmen, yönetici, süper yönetici. Ders içeriği, sınavlar, takvim ve raporlama aynı kayıtları paylaşıyor; böylece bir öğrencinin gelişimi elle çıkarılan bir özet değil, bir sorgu oluyor.

03Çözüm

React ön yüzü olan bir Flask API. Dersler konu ve içerik barındırıyor, videolar ilerleme takibiyle gömülüyor, sınavlar süreli ve otomatik puanlanıyor; performans raporları da aynı veriden üretiliyor.

  • Beş rol

    Öğrenci, veli, öğretmen, kurum yöneticisi, süper yönetici; JWT ile kimlik, uç nokta bazında yetki.

  • Ders ve içerik

    Ders, konu ve içerik yönetimi; videolar öğrenci bazında ilerleme takibiyle.

  • Soru bankası ve sınav

    Çoktan seçmeli, doğru/yanlış ve açık uçlu sorulardan süreli sınav; puanlama otomatik, birden çok deneme hakkı tanınabiliyor.

  • Canlı ders ve takvim

    Zoom, Google Meet ve Teams entegrasyonu; ortak takvim.

  • Gelişim raporları

    Öğrenci performansı, raporlama ve analiz, aynı kayıtlardan.

  • Yapay zekâ çalışma asistanı

    Öğrencinin sorusuna akış hâlinde cevap veren asistan.

04Nasıl kurdum

Bir API, bir ön yüz, otomatik yayın.

Flask 3 ve SQLAlchemy
API sürüm, servis, model ve görev katmanlarına ayrılmış; kimlik Flask-JWT-Extended ile.
React ve TypeScript
Vite ve Tailwind CSS; durum Zustand'da, sunucu verisi TanStack Query'de.
SQLite'tan PostgreSQL'e
Geliştirmede SQLite, canlıda PostgreSQL, Alembic göçleri. Arka plan işleri Celery işçilerinde.
Docker ve GitHub Actions
API ve ön yüz için ayrı imajlar; CI, kod kalitesi ve dağıtım için ayrı hatlar.

05Zor kısımlar

  1. Sınav sunucuda

    Süre, deneme sınırı ve puanlamanın tamamı sunucu tarafında zorlanmak zorundaydı, çünkü tarayıcıda denetlenen her şey aşılabilir.

  2. Akan cevaplar

    Yapay zekâ cevaplarını istek döngüsünü kilitlemeden tarayıcıya akıtmak, düz istek-cevap yerine Server-Sent Events gerektirdi.

  3. Beş rol, tek kural

    Aynı uç noktaları paylaşan beş rol, yetkilendirmenin her işleyicide tekrarlanan bir koşul değil, tutarlı biçimde uygulanan tek bir dekoratör olmasını zorunlu kıldı.

06Bugün

Otomatik CI, kod kalitesi ve dağıtım hatlarıyla yayında. Benim payım sunucu ve yayınlama tarafı; uygulamanın kendisini ekip geliştirdi. Müşteriye ait hiçbir metrik ya da marka burada yayımlanmıyor.