Skip to content
Ercan Labs
← Tüm işlerDESKTOP · PRIVATE · shipped

Müşteri Sipariş Takip

Atölye için sipariş, üretim ve tahsilat takibi. Windows masaüstü, internet gerekmiyor.

725
test
145
Dart dosyası
v3.13.0
sürüm

Bu nasıl ölçüldü: 725 test çalıştırıldı ve doğrulandı. Üretimde kullanımda.

Mimari725 tests
  1. CLIENT
    • Flutter desktopWindows
  2. STATE
    • sipariş durumukısmi tahsilat
    • lisansoffline doğrulama
  3. STORE
    • yerel veritabanı
  4. OUTPUT
    • fiş
    • rapor
Kısmi tahsilat ayrı bir tablo değil, aynı siparişin satırları; bakiye her zaman toplamdan hesaplanıyor.

Problem

Atölye sahibi siparişin hangi aşamada olduğunu ve kimin ne kadar borcu kaldığını defterden takip ediyordu. Kalem çoktu, üretim aşamaları müşteriye göre değişiyordu. Kısmi tahsilat yaygındı; bir siparişe üç ayrı ödeme yapılabiliyordu.

Kısıt şu: atölyede sürekli internet yok, kullanıcı da bilgisayarla pek haşır neşir değil. Bulut çözüm burada yürümez.

Kısıtlar

  • İnternet sürekli yok; çevrimdışı çalışma birinci sınıf gereksinim.
  • Kullanıcı teknik değil; kurulum ve yedekleme çözümün parçası olmalı.
  • Üretim aşamaları işletmeden işletmeye değişiyor; koda gömülemez.

Mimari kararlar

01

Çevrimdışı önce, bulut yok

Tüm veri yerel SQLite'ta. Ağ gerekmiyor, gizlilik derdi yok, açılış hızlı.

Bedeli: Çok bilgisayarlı kullanım yok. Bilinçli tercih.

02

Üretim aşamaları kullanıcı tanımlı

Aşamalar koda gömülmedi; kalem bazında tanımlanıyor ve sıralı ilerliyor. Atölye kendi sürecini kuruyor, yazılım ona uyuyor.

Bedeli: Aşama geçişlerinde doğrulama yükü uygulamaya biniyor.

03

Kısmi tahsilat birinci sınıf

Ödeme siparişe değil tahsilata bağlı; bakiye türetilmiş değer. Siparişe tek bir "ödendi" alanı koymak kolay. Üç parçalı tahsilatta o alan yalan söylüyor.

Bedeli: Her bakiye sorgusu toplama işi; karşılığında rapor hiçbir zaman yanlış değil.

04

Lisans çevrimdışı doğrulanıyor

Sunucunun özel anahtarıyla imzalanmış token, uygulamaya gömülü açık anahtarla yerelde doğrulanıyor. İnternet yokken de lisans geçerli; aktivasyon için tek bağlantı yetiyor.

Bedeli: Anahtar dağıtımı ve sürüm yönetimi dikkat istiyor.

Kanıt

  • Test725 (çalıştırılarak doğrulandı)
  • Dart dosyası145
  • DurumÜretimde kullanımda, v3.13.0
  • PlatformWindows 10/11 x64, Flutter masaüstü

Bilinen sınırlar

  • Tek bilgisayar; eşzamanlı çok kullanıcı yok.
  • Bulut yedekleme yok; yedek yerel dosya.
  • Kaynak kodu özel repoda.

Ne öğrendim

"Ödendi mi?" sorusunun cevabı bir alan değil, bir ilişki. Alanı koyunca hızlı gidiyorsun. Üç parçalı tahsilatın ilk gününde o alan sana yalan söylüyor. Veri modelini ekrandan önce düşünmek, sonradan migration yazmaktan ucuz.

Stack

FlutterDartSQLiteWindows