Projects

Database Management Interface

Secure web-based access and query management for MSSQL databases. Flask + Tabler UI, CodeMirror SQL editor, Windows and macOS support.

PythonFlaskSQLiteTabler UICodeMirrorpyodbcpymssql

Senkora is a lightweight web application that allows data analysts and backend developers to quickly connect to MSSQL databases, run SQL queries, examine results in table format, and manage their connections centrally. It was developed to free a corporate client’s daily database management needs from dependency on heavy desktop tools; it keeps configuration data in SQLite, minimizing installation dependencies.

Problem

In corporate environments, accessing MSSQL databases typically requires heavy desktop tools: installing SQL Server Management Studio, licensing costs, and IT department involvement. For developers using Windows and macOS in mixed teams, different driver installations created an additional barrier. For non-technical users, English MSSQL error messages were incomprehensible and diagnosing issues took unnecessarily long. Having each new team member repeat desktop tool installation and configuration was an inefficient process.

Solution

A single web application developed with Flask and Python addresses all of these problems. Senkora, accessed through a browser, requires no desktop installation. A dual-driver approach was adopted to meet different operating system requirements: pyodbc for Windows environments, pymssql for macOS environments. CodeMirror was integrated to turn the SQL writing experience into a real editor; MSSQL error messages were translated into Turkish so that non-technical users could diagnose problems independently.

Key Features

  • CodeMirror SQL Editor: Syntax highlighting, line numbering, and MSSQL keyword completion; a genuine writing experience beyond a plain text box
  • Dual Driver Support: pyodbc for Windows, pymssql for macOS; the same application works seamlessly in mixed teams using both Windows and macOS
  • Turkish Error Messages: MSSQL’s English output is presented with user-friendly Turkish explanations; non-technical users can self-diagnose
  • DataTables Integration: Dynamic sorting, instant filtering, and pagination for large query results; activated without writing additional code
  • SQLite Configuration Store: Connection details are stored encrypted in SQLite; no external database installation required
  • Tabler UI: Responsive interface accessible from desktop and mobile browsers; no additional installation required

Technical Infrastructure

The backend was built with Python and Flask. Flask provides the routing, template management, and middleware support needed for internal tools of this scale with minimal configuration. The dual-driver decision was implemented by routing the same Python code to two different ODBC drivers at runtime; the driver installed for the developer’s operating system is selected automatically. The DataTables library provided pagination and filtering features — which directly impact user experience especially with large result sets — without requiring server-side code. The reasoning behind the SQLite choice was practical: installing and maintaining a separate PostgreSQL or MySQL server for an internal tool like connection management would be unnecessary overhead.

Results

Senkora met the corporate client’s daily database querying needs with a lightweight and accessible solution. The team now manages MSSQL databases through a web browser without needing to install heavy desktop clients. Onboarding new team members became independent of installation steps. Thanks to Turkish error messages, the frequency with which non-technical users needed to contact IT support to resolve issues decreased; the additional barrier for team members developing in Turkish and on macOS was removed.