Projeler · 03

Belgelik

Hukuk çalışması için yazdığım, kendi sunucusunda çalışan bir çalışma ortamı. Merkezinde mevzuat okuyucu var: kanun metnini madde, fıkra ve bent düzeyinde ayırır, cihazda internetsiz aranabilir kılar, metin yenilendiğinde hangi maddenin değiştiğini gösterir.

Sürüm 1.14 · Flutter ve Python · GitHub'da açık kaynak (AGPL-3.0) · English

Kısaca. Belgelik; mevzuat okuyucu, PDF kütüphanesi ve çalışma planlayıcısını tek uygulamada toplar. Kanun metinleri Emsal MCP üzerinden resmî kaynaktan alınır; eksik gelen metin içe alınmaz. Veriler kendi sunucusunda durur, cihazlar arasında eşitlenir, internet yokken de çalışır. Tek kullanıcılı, kişisel kullanım için yazıldı.

Ne
Çalışma uygulaması ve sunucusuFlutter istemci, Python (FastAPI) sunucu
Mevzuat
11 temel kanunAnayasa, TMK, TBK, TTK, HMK, TCK, CMK, İYUK, İİK, İş Kanunu, MÖHUK
Platform
Android, iOS, macOS, Windows, Linux
Kullanım
Kişisel, tek kullanıcıMağaza yayını, üyelik sistemi ya da bulut bağımlılığı yok
Kaynak kod
github.com/afsozer/belgelikAçık kaynak, AGPL-3.0 lisansı

Mevzuat okuyucu nasıl çalışır?

  1. Metin resmî kaynaktan gelir. Belgelik'in kendi tarayıcısı yok, hiçbir mevzuat sitesini kendisi taramaz; metni Emsal MCP'nin kaynak bağlantısı üzerinden alır ve ham hâlini saklar.
  2. Eksik metin reddedilir. Her kanunun resmî son madde numarası bilinir. Tam metin gelmezse ya da metin o maddeye ulaşmadan biterse kanun içe alınmaz.
  3. Madde, fıkra, bent. Metin kısım, bölüm, madde, fıkra ve bent düzeyinde ayrılır; geçici, ek ve mükerrer maddeler ile “Değişik”, “Mülga”, “Ek”, “İptal” notları korunur. Ayrıştırıcı kaynak metni değiştirmez; tanıyamadığı bir madde işaretini sessizce atmak yerine raporlar.
  4. Cihazda, internetsiz. Madde metinleri cihaza indirilir ve tam metin aranabilir.
  5. Değişen maddeler. Metin yeniden içe aktarıldığında değişen maddeler madde düzeyinde tespit edilir; eski ve yeni sürüm karşılaştırılabilir.
  6. Atıflar bağlantı olur. Madde metnindeki kanun ve madde atıfları tıklanabilir bağlantıya dönüşür. Madde bazında not, vurgu ve yer imi eklenebilir.

Ayrıştırıcı sabit örnek metinlerle test ediliyor: aynı resmî metin her seferinde aynı madde yapısını vermek zorunda.

Kütüphane ve çalışma düzeni

  • PDF kütüphanesi. Sunucudaki kitaplar klasör yapısıyla gezilir, içerikte tam metin aranır; içindekiler, yer imleri, işaretleme ve notlar.
  • Kaldığı yerden devam. Okunan sayfa, işaretlemeler ve notlar cihazlar arasında taşınır.
  • Çalışma programı. Konuya bağlı kaynaklar ve kanunlar tek dokunuşla açılır; çalışma sayacı ve istatistikler.

Veriler nerede durur?

Belgelik'in bulutu yok. Veriler kullanıcının kendi makinesinde çalışan sunucuda durur; cihazlar sunucuya yalnız özel bir ağ üzerinden bağlanır, sunucuya internetten erişilemez.

  • Önce cihaza yazılır. Her değişiklik önce cihazda kaydedilir, bağlantı gelince sunucuya gönderilir. Çakışmada kayıt düzeyinde son yazılan geçerli olur; silmeler de eşitlenir.
  • Erişim anahtarı güvenli depoda. Android Keystore, Apple Keychain ya da Windows Credential Store'da tutulur.
  • Her profil ayrı. Her profilin kendi veritabanı ve kütüphane klasörü var; sunucu her gün otomatik yedek alır.

Ne yapmaz?

  • Herkese açık bir uygulama değildir. Mağazada yok, üyelik sistemi yok; tek kullanıcı için kendi sunucusuyla çalışır.
  • Bütün mevzuatı kapsamaz. Şu an 11 temel kanunla çalışıyor.
  • Karar aramaz. Bir okuma ve çalışma ortamıdır; içtihat araştırması için Emsal MCP var.

Teknik ayrıntı

İstemci
Flutter (Dart)Yerel SQLite ve tam metin arama önbelleği; mobilde alt gezinme, masaüstünde yan ray, bölünmüş görünüm ve klavye kısayolları
Sunucu
Python, FastAPI, SQLiteKimlik doğrulamalı, profil kapsamlı uçlar
Test
flutter test, pytestHer değişiklikte GitHub Actions ile analiz ve test
Geliştirme
Fazlar hâlinde, her faz ayrı bir tasarım belgesiyleTasarım ve ürün kararları bende; kodlama yapay zekâ destekli araçlarla (Claude Code)

Kaynak kod

Kaynak kod GitHub'da açık ve GNU Affero Genel Kamu Lisansı sürüm 3 (AGPL-3.0) ile lisanslı. Kodu kullanabilir, değiştirebilir ve dağıtabilirsiniz; değiştirdiğiniz bir sürümü ağ üzerinden başkalarına hizmet olarak sunarsanız, değiştirdiğiniz kaynak kodu da o kullanıcılara aynı lisansla açmanız gerekir. Güvenlik açıkları, depodaki SECURITY.md dosyasında anlatılan yolla gizli olarak bildirilebilir.

github.com/afsozer/belgelik

Bu sayfa 7 Ekim 2026 itibarıyla 1.14 sürümünü anlatıyor.

Av. Alpaslan Fatih Sözer hakkında