Yönetim paneli ve özel yazılım yaptırmak: işinize göre kurulan sistemler
Birçok işletmede günün önemli bir kısmı tablo dosyaları, mesajlaşma grupları ve elle tutulan listeler arasında geçiyor. Hangi siparişin nerede olduğunu ya da bu ayki cironun ne durumda olduğunu öğrenmek için üç ayrı yere bakmak gerekiyor.
Yönetim paneli ya da özel yazılım yaptırmak isteyenlerle bu dağınıklığı toplamaya çalışıyorum. 2019'dan beri back-end tarafında çalışıyorum; veritabanı, API ve yetkilendirme gibi işin görünmeyen kısmı benim asıl alanım. Son üç yılda buna React ile kullanması kolay arayüzleri ekledim.
Aşağıdaki üretim paneli bu yaklaşımın bir örneği: bir döküm atölyesinin bakiyesini, gelirini, cirosunu ve makine durumunu tek ekranda toplayan bir konsept. Sizin işiniz farklı olabilir; önemli olan panelin sizin sorularınıza cevap vermesi.
Özel yazılım kimin işine yarar?
Özel yazılım her işletme için gerekli değil. Ama aşağıdakilerden biri size tanıdık geliyorsa, bir panel çok şey değiştirebilir:
Üretim ve sanayi firmaları
Hat bazlı üretimi, makine durumunu, bakiye ve ciroyu tek ekranda görmek isteyen işletmeler.
Operasyonu büyüyen işletmeler
Tablo dosyaları ve mesajlaşma gruplarıyla yürüyen süreçleri tek bir sisteme taşımak isteyenler.
Hazır programa sığmayanlar
Kullandığı programın iş akışına uymadığı, sürekli geçici çözüm üretmek zorunda kalanlar.
Mevcut sistemine ek isteyenler
Kullandığı yazılıma rapor ekranı, entegrasyon ya da telefondan da kullanılabilen bir arayüz eklemek isteyenler.
Bir yönetim panelinde neler kuruyorum?
Panel, işinizin dijital masası gibi: her gün açılan, herkesin kendi işine baktığı yer. Bu yüzden temelini sağlam atıyorum.
- İşinize göre tasarlanmış veritabanı yapısı.
- Gelir, gider, ciro, stok ya da üretim verilerini gösteren özet ekranlar ve grafikler.
- Kullanıcı girişi, roller ve yetkilendirme; herkes yalnızca görmesi gerekeni görür.
- Kayıt ekleme, düzenleme, arama, filtreleme ve tabloya aktarma.
- Başka sistemlerle konuşan API'ler ve entegrasyonlar.
- İşlem geçmişi: kimin neyi ne zaman değiştirdiğinin kaydı.
- Telefon ve tabletten de rahat kullanılan arayüz.
- Düzenli yedekleme ve güvenlik önlemleri.
Masaüstünde ve telefonda
Bazı işler tarayıcıda değil, bir uygulama penceresinde ya da telefonda yürür. Resepsiyonda açık duran bir masaüstü ekranı ile üyelerin kullandığı bir mobil uygulama aynı veriden beslenebilir. Bu tarafı mobil ve masaüstü uygulama sayfasında anlattım.
Özel yazılım nasıl geliştiriliyor?
Önce yazılımı değil, işinizi konuşuyoruz. Doğru kurulmuş bir panel, bugün nasıl çalıştığınızı anlamakla başlıyor.
İş akışını anlama
Bugün hangi bilgi nerede tutuluyor, kim neyi takip ediyor, en çok nerede vakit kaybediliyor; bunları birlikte çıkarıyoruz.
Kapsam ve öncelik
İlk sürümde mutlaka olması gerekenleri seçiyoruz. Her şeyi baştan yapmaya çalışmak yerine en çok zaman kazandıracak kısmı önce çalışır hale getiriyoruz. Bu kapsama göre teklif ve takvim hazırlıyorum.
Veri yapısı ve ekranlar
Veritabanını ve ana ekranların taslağını hazırlıyorum. Ekranları, onları her gün kullanacak kişilerle birlikte gözden geçiriyoruz.
Geliştirme ve deneme
Sistemi parça parça kuruyorum. Her parçayı verilerinizden bir örnekle deniyoruz ki canlıya geçerken sürpriz yaşanmasın.
Geçiş ve destek
Eski dosyalarınızdaki verileri yeni sisteme aktarıyor, sistemi kullanacak kişilere gösteriyorum. Kullanım sırasında çıkan ihtiyaçlara göre geliştirmeye devam ediyoruz.
Altyapı ve güvenlik
Arka ucu Node.js ve TypeScript ile, verileri PostgreSQL gibi ilişkisel bir veritabanında tutarak kuruyorum. Arayüzü React ve Next.js ile yazıyorum. Gerektiğinde Docker ile sistemin kurulumunu ve taşınmasını kolaylaştırıyorum.
Güvenliği sonradan eklenen bir özellik olarak görmüyorum; yetkilendirme, girdi doğrulama ve istek sınırlama baştan tasarımın parçası. Bu sitenin iletişim formunda da aynı yaklaşımı kullandım: e-posta doğrulama, hız sınırı ve spam koruması.
Panelin hızlı olması kadar doğru hesaplaması da önemli. Kritik hesaplamaları otomatik testlerle kontrol ediyor, sistemi canlıya almadan önce gerçekçi verilerle deniyorum.
- Node.js
- TypeScript
- PostgreSQL
- React
- Next.js
- Docker
Performans hedeflerim
Teslim ettiğim sitelerde 85-100 arası puan hedefliyorum.
- 90-100 iyi
- 50-89 geliştirilmeli
- 0-49 zayıf
Performans hedefi:
92 / 100
Erişilebilirlik hedefi:
100 / 100
En iyi uygulamalar hedefi:
100 / 100
SEO hedefi:
100 / 100
Core Web Vitals, “iyi” eşikleri
- LCP
- ≤ 2,5 sn
- Ana içeriğin yüklenmesi
- INP
- ≤ 200 ms
- Etkileşime yanıt
- CLS
- ≤ 0,1
- Düzen kayması
Puanlar Lighthouse ölçütlerine göre veriliyor ve sitenin içeriğine, görsellerine ve barındırıldığı sunucuya göre değişiyor. Yukarıdakiler, her projede ulaşmayı hedeflediğim değerler.
Yönetim paneli hakkında sık sorulanlar
Karar vermeden önce en çok merak edilenler.
Hazır bir program yerine neden özel yazılım?
Hazır program iş akışınıza uyuyorsa çoğu zaman daha hızlı ve ekonomik. Özel yazılım; iş akışınız hazır programlara sığmadığında, farklı sistemleri birbirine bağlamanız gerektiğinde ya da verileriniz üzerinde tam kontrol istediğinizde anlam kazanıyor.
Tablo dosyalarımdaki verileri yeni sisteme taşıyabilir miyiz?
Evet. Mevcut dosyalarınızı inceleyip verileri temizleyerek yeni sisteme aktarıyorum. Tutarsız ya da eksik kayıtları taşımadan önce birlikte gözden geçiriyoruz.
Sistemi kimler kullanacak, yetkiler nasıl ayarlanıyor?
Her kullanıcının kendi hesabı oluyor. Örneğin muhasebe finans ekranlarını, depo sorumlusu stok ekranlarını görürken yönetici hepsini görüyor. Rolleri işinize göre birlikte belirliyoruz.
Verilerim nerede tutulacak?
Bunu birlikte seçiyoruz: bir bulut sağlayıcısında ya da kendi sunucunuzda. Hangisi olursa olsun veritabanının sizin adınıza olmasını ve düzenli yedeklenmesini kurulumun parçası olarak planlıyorum.
Sistem ileride büyütülebilir mi?
Evet. İlk sürümü yeni modüller eklenebilecek şekilde kuruyorum. İhtiyaç çıktıkça yeni ekranlar, raporlar ya da entegrasyonlar ekleyebiliyoruz.
İş akışınızı anlatın.
Bugün işinizi nasıl yürüttüğünüzü ve sizi en çok neyin yorduğunu kısaca yazın. Size dönüp bir görüşme ayarlayayım.