sofra-pos Svelte Themes

Sofra Pos

Sofra POS — tablet-first restoran/kafe yönetim sistemi (Svelte 5 + Vite + Tailwind 4)

Sofra POS

Sofra POS

Tablet-first restoran/kafe yönetim sistemi — masa düzeni, sipariş alma, kitchen display, Z-raporu ve menü yönetimi tek dense panelde. Excel + WhatsApp + ayrı sistem dağılımına son.

▸ Live demo · ▸ Portfolyo · ▸ Diğer demolar


Sofra POS hero

Genel bakış

Sofra, küçük-orta ölçekli restoran ve kafelerin tek tabletten siparişten faturaya kadar tüm akışı yönetebilmesi için tasarlandı. Frontend tamamen browser-only (offline-first) çalışır; demo verisi localStorage'da saklanır. Production'da Rust/Axum + SQLite arka ucu ile multi-tenant SaaS olarak veya yerinde tek-binary kurulumla devreye alınabilir.

Özellikler

  • Masa düzeni — bölge gruplaması (Cam Kenarı / İç Salon / Bahçe), durum renkleri (boş/dolu/garson çağırdı/hesap istendi), filtre
  • Sipariş alma — kategori-grid hızlı seçim, sub-second response, sepet panelinde aktif kalem akışı + status badge
  • Mutfak display (KDS) — bekleyen fişler büyük ekranda, sürelere göre renk kodlu (0-7dk mavi, 7-12dk amber, 12+ kırmızı), tek tıkla pişti→hazır
  • Z-raporu — saatlik gelir grafiği, en çok satan ürün top-8, ortalama tutar, pik saat tespiti, PDF/CSV export hook
  • Menü yönetimi — kategori bazında ürün listesi, hazırlık süresi, fiyat, hover-action edit/sil
  • localStorage persistence — sepet, açık masalar, sipariş geçmişi tarayıcıda saklanır
  • Mobile/tablet-first responsive — iPad Pro 11" ana hedef, telefon da çalışır

Tech stack

Layer Technology
Framework Svelte 5 (rune-based reactivity, class-store pattern)
Build Vite 7
Styling Tailwind CSS 4 (@tailwindcss/vite plugin)
State POSStore class içinde $state field'ları + localStorage
Routing Custom in-app router (history API + popstate)
Deploy Cloudflare Pages

Ekran görüntüleri

Pano Masa düzeni
Sipariş — Masa 2 (kahvaltı) Sipariş — Masa 6 (akşam)
Mutfak display Z-raporu
Menü yönetimi

Hızlı başlangıç

git clone https://github.com/Lavescar-dev/sofra-pos.git
cd sofra-pos

npm install
npm run dev          # → http://localhost:5173

Build:

npm run build        # → dist/
npm run preview      # built bundle önizleme

Demo verisi

  • 12 masa — 4 cam kenarı + 4 iç salon + 4 bahçe (B1-B4)
  • 30 menü ürünü — 6 kategori (sıcak içecek, soğuk içecek, kahvaltı, başlangıç, ana yemek, tatlı)
  • 5 aktif sipariş — boot anında çeşitli durumlarda (kahvaltı, akşam yemeği, hesap bekleyen, garson çağıran)

Demo verisini sıfırlamak için Navbar sağ üst ↻ Reset butonu.

Backend bağlama

Mevcut sürüm tamamen browser-only. Gerçek bir restorana bağlamak için:

  • Multi-tenant — her şube için ayrı firm_id, ortak menü template
  • Auth — Argon2 + Bearer token + role'ler (yönetici/garson/mutfak/kasiyer)
  • Persistence — Rust/Axum + SQLite (yerinde) veya PostgreSQL (multi-shop SaaS)
  • e-Fatura — GİB entegrasyonu (Logo, Mikra benzeri)
  • Yazıcı — Star TSP100 / Epson TM-T20 USB veya network
  • Yemeksepeti / Getir / Trendyol Yemek — webhook entry → otomatik sipariş import

src/lib/store.svelte.js katmanı tek API boundary; HTTP istemcisi swap'lemek için izole edilmiş.

Deploy

Cloudflare Pages için doğrudan repo bağlanır:

Field Value
Build command npm install && npm run build
Build output directory dist
Node version 20

License

MIT © 2026 Lavescar


Built by Lavescar · Portfolyo · [email protected]

Top categories

Loading Svelte Themes