Tek bir bilgisayarda yerel sunucu olarak çalışır; aynı ağdaki garson tabletleri, mutfak ekranı ve kasa tarayıcıdan bağlanır. İnternet gerekmez (yapay zeka bile yereldir). Adisyon, mutfak (KDS), ödeme/fiş, stok, cari, kasa, personel, CRM, QR self-servis, raporlar ve öngörüler tek sistemde.
Sunucu olacak bilgisayara bir kez Node.js LTS kurun: https://nodejs.org (indir → kur → ileri, ileri).
GitHub sayfasında Code → Download ZIP (veya bir sürümün "Assets" altındaki ZIP'i). ZIP'i çıkarın.
- Windows:
setup.batdosyasına çift tıklayın. "Kurulum tamamlandi" yazana kadar bekleyin. - Mac/Linux: terminalde klasöre girip
bash setup.sh.
Bu adım her şeyi hazırlar: bağımlılıklar, veritabanı, örnek menü/masalar/kullanıcılar ve derleme.
- Windows:
firewall.batdosyasına sağ tık → Yönetici olarak çalıştır. - Linux:
sudo ufw allow 3011/tcp· Mac: ilk çalıştırmada çıkan ağ izni penceresinde "İzin Ver".
- Windows:
start.batçift tık. · Mac/Linux:bash start.sh. - Açılan pencere birkaç adres yazar:
Bu pencereyi açık bırakın — kapatırsanız sistem durur.
Bu bilgisayarda: http://localhost:3011 Aynı ağdaki cihazlardan: http://192.168.1.27:3011
Garson tableti / mutfak ekranı / kasa bilgisayarının tarayıcısında yukarıdaki
http://<sunucu-ip>:3011 adresini açın. Hepsi aynı ağa (aynı Wi-Fi/router) bağlı olmalı.
| Kullanıcı | Şifre | Rol |
|---|---|---|
| patron | patron123 | PATRON (tam yetki) |
| garson | garson123 | GARSON |
| mutfak | mutfak123 | MUTFAK |
İlk işten sonra Kullanıcılar ekranından bu şifreleri değiştirin / kendi personelinizi ekleyin.
FLOW varsayılan olarak yalnızca restoranın yerel ağında çalışır. Patronun işletmeyi dışarıdan (evden, telefondan) takip etmesi için Cloudflare Tunnel ile uzaktan erişim açılabilir: modemde port açmak, sabit IP almak gerekmez, HTTPS otomatik gelir.
npm run remote:harden # önce güvenlik: şifreler + JWT anahtarı (zorunlu)
npm run remote:setup # kurulum sihirbazıUzaktan erişim açıkken sistem, varsayılan şifreler veya örnek JWT_SECRET varsa
başlamaz — yerel ağda zararsız olan zayıf şifre, internete açılınca zararsız değildir.
Ayrıntılar, kalıcı adres kurulumu ve her işletmeye kendi adresini açma: docs/uzaktan-erisim.md
FLOW'un asistanı ve doğal dil sorguları tamamen yerel çalışır (Ollama). İstemezseniz sistem yapay zeka olmadan da tam çalışır (asistan "kapalı" görünür).
Açmak için:
- Windows:
install-ai.batçift tık. · Mac/Linux:bash install-ai.sh. - Ollama'yı kurar, bir modeli indirir ve ayarı otomatik açar. Sonra sunucuyu yeniden başlatın (
start). - Model bilgisayarın RAM'ini kullanır: llama3.2 (~2GB) orta seviye PC için yeterlidir. Daha akıcı
Türkçe isteyen ve güçlü PC'si olanlar
llama3.1:8b'ye geçebilir (betiğin sonundaki nota bakın).
Mutfak/kasa fişi için ağ (ESC/POS, TCP 9100) yazıcısı. server/.env içinde PRINTER_HOST /
PRINTER_PORT satırlarını açıp yazıcı IP'sini girin. Tanımlı değilse fişler yazdırılmaz, önizleme loglanır.
- Tabletten açılmıyor: aynı ağda olduklarından emin olun;
firewall.bat'ı (yönetici) çalıştırın; adresinhttp://<sunucu-ip>:3011olduğunu doğrulayın (sunucu penceresindeki adres). - Port kullanımda:
server/.enviçindePORTdeğerini değiştirin (ör. 3012) ve yeniden başlatın. - Kurulum hata verdi: Node.js LTS kurulu mu? Kurulumu antivirüs/izin engellemiş olabilir.
- Sunucu IP'si: Windows'ta
ipconfig, Mac/Linux'taifconfig/ip addrile "IPv4" adresini görün (sunucu başlarken de yazdırır).
Teknoloji: web/ React+TS+Vite+Tailwind · server/ NestJS+Prisma+SQLite · socket.io (gerçek zamanlı).
Mimari (üretim): npm run start → NestJS sunucusu hem API'yi (/api) hem derlenmiş React
uygulamasını (web/dist) hem socket.io'yu tek port (3011) üzerinden servis eder. Her cihaz tek URL açar.
Komutlar (kök):
npm run setup— kurulum (install + .env üret +prisma migrate deploy+ seed + build).npm start— üretim (tek sunucu, 3011).npm run dev— geliştirme (Nest watch 3011 + Vite 5173 + graphify watch). Web dev: http://localhost:5173.
Veritabanı: SQLite (server/prisma/dev.db), tek işletme/tek sunucu için ideal. Şema Postgres'e
taşınabilir yazıldı (server/prisma/schema.prisma provider + DATABASE_URL). Migration'lar
prisma migrate deploy ile uygulanır.
Ortam değişkenleri: server/.env (kurulumda server/.env.example'dan üretilir, rastgele
JWT_SECRET ile). Simülasyon/opsiyonel: FISCAL_PROVIDER, EINVOICE_PROVIDER, REVIEWS_PROVIDER,
AI_PROVIDER. GRAPH_MEMORY varsayılan kapalı; açmak (gelişmiş) pip install graphifyy gerektirir.
Roller: PATRON · MUDUR · KASIYER · GARSON · MUTFAK. Yetki backend'de zorlanır (401/403).