Projeler

Veritabanı Yönetim Arayüzü

MSSQL veritabanlarına web üzerinden güvenli erişim ve sorgu yönetimi. Flask + Tabler UI, CodeMirror SQL editörü, Windows ve macOS desteği.

PythonFlaskSQLiteTabler UICodeMirrorpyodbcpymssql

Senkora, veri analistlerinin ve backend geliştiricilerinin MSSQL veritabanlarına hızlıca bağlanıp SQL sorguları çalıştırabileceği, sonuçları tablo biçiminde inceleyebileceği ve bağlantılarını merkezi olarak yönetebileceği hafif bir web uygulamasıdır. Kurumsal müşterinin günlük veritabanı yönetim ihtiyacını ağır masaüstü araçlardan bağımsız kılmak amacıyla geliştirildi; yapılandırma verilerini SQLite’ta tutarak kurulum bağımlılıklarını minimum düzeyde tutar.

Problem

Kurumsal ortamlarda MSSQL veritabanlarına erişim çoğunlukla ağır masaüstü araçları gerektirir: SQL Server Management Studio kurulumu, lisans maliyetleri ve IT departmanının devreye girmesi. Karma ekiplerde Windows ve macOS kullanan geliştiriciler için farklı sürücü kurulumları ek bir engel oluşturuyordu. Teknik olmayan kullanıcılar için İngilizce MSSQL hata mesajları anlaşılmazdı ve sorunların teşhisi gereksiz yere uzuyordu. Her yeni ekip üyesinin masaüstü araç kurulumu ve yapılandırmasını tekrarlaması verimsiz bir süreçti.

Çözüm

Flask ve Python ile geliştirilen tek bir web uygulaması bu sorunların tamamını adresler. Tarayıcı üzerinden erişilen Senkora, herhangi bir masaüstü kurulum gerektirmez. Farklı işletim sistemi gereksinimlerini karşılamak için çift sürücü yaklaşımı benimsendi: Windows ortamında pyodbc, macOS ortamında pymssql. SQL yazma deneyimini gerçek bir editöre dönüştürmek için CodeMirror entegre edildi; MSSQL hata mesajları Türkçeye çevrilerek teknik olmayan kullanıcıların sorunları bağımsız olarak teşhis etmesi sağlandı.

Öne Çıkan Özellikler

  • CodeMirror SQL Editörü: Sözdizimi renklendirme, satır numaralandırma ve MSSQL anahtar kelime tamamlama; ham metin kutusunun ötesinde gerçek bir yazma deneyimi
  • Çift Sürücü Desteği: Windows için pyodbc, macOS için pymssql; Windows ve macOS kullanan karma ekiplerde aynı uygulama sorunsuz çalışır
  • Türkçe Hata Mesajları: MSSQL’in İngilizce çıktıları kullanıcı dostu Türkçe açıklamalarla sunulur; teknik olmayan kullanıcılar teşhisi kendileri yapabilir
  • DataTables Entegrasyonu: Büyük sorgu sonuçlarında dinamik sıralama, anlık filtreleme ve sayfalama; ek kod yazmadan devreye girer
  • SQLite Yapılandırma Deposu: Bağlantı bilgileri Şifreleme ile SQLite’ta saklanır; harici veritabanı kurulumu gerekmez
  • Tabler UI: Masaüstü ve mobil tarayıcıdan erişilebilen duyarlı arayüz; ek kurulum gerektirmez

Teknik Altyapı

Backend Python ve Flask ile inşa edildi. Flask, bu ölçekteki dahili araçlar için gerekli routing, şablon yönetimi ve middleware desteğini minimal yapılandırma ile sunar. Çift sürücü kararı, aynı Python kodunun iki farklı ODBC sürücüsüne çalışma zamanında yönlendirilebilmesiyle hayata geçirildi; geliştiricinin işletim sistemine göre kurulan sürücü otomatik olarak seçilir. DataTables kütüphanesi, özellikle büyük sonuç setlerinde kullanıcı deneyimini doğrudan etkileyen sayfalama ve filtreleme özelliklerini sunucu tarafı kod gerektirmeden sağladı. SQLite tercihinin ardındaki gerekçe pratikti: bağlantı yönetimi gibi bir dahili araç için ayrı bir PostgreSQL veya MySQL sunucusu kurmanın getireceği kurulum ve bakım yükü gereksizdi.

Sonuçlar

Senkora, kurumsal müşterinin günlük veritabanı sorgulama ihtiyacını hafif ve erişilebilir bir çözümle karşıladı. Ekip artık ağır masaüstü istemci kurulumu yapmak zorunda kalmadan web tarayıcısı üzerinden MSSQL veritabanlarını yönetiyor. Yeni ekip üyelerinin sisteme dahil olması kurulum adımlarından bağımsız hale geldi. Türkçe hata mesajları sayesinde teknik olmayan kullanıcıların sorunları çözmek için IT desteğine başvurma sıklığı azaldı; Türkçe ve macOS ortamında geliştirme yapan ekip üyeleri için ek bariyer ortadan kalktı.