/pyqt5

Primary LanguagePython

🍽️ Restoran Yönetim Sistemi

Modern, kullanıcı dostu ve kapsamlı restoran yönetim uygulaması. PyQt5 ve SQLAlchemy kullanılarak geliştirilmiştir.

✨ Özellikler

👑 Yönetici Paneli

  • Dashboard: Günlük satış, açık masalar, bekleyen siparişler
  • Menü Yönetimi: Ürün ekleme, düzenleme, kategori yönetimi
  • Masa Yönetimi: Masa ekleme, durum takibi, kapasite ayarlama
  • Personel Yönetimi: Çalışan ekleme, rol atama, yetki kontrolü
  • Müşteri Yönetimi: Müşteri bilgileri, sadakat puanları
  • Sipariş Takibi: Tüm siparişlerin detaylı takibi
  • Raporlar: Satış analizi, popüler ürünler, gelir raporları

👨‍💼 Garson Paneli

  • Masa Görselleştirmesi: Interaktif masa düzeni
  • Sipariş Alma: Menü görüntüleme, sepet yönetimi
  • Müşteri Yönetimi: Hızlı müşteri ekleme, arama
  • Sipariş Takibi: Durum güncelleme, servis yönetimi
  • Hesap Yazdırma: Detaylı fiş oluşturma

👨‍🍳 Mutfak Paneli

  • Sipariş Kuyruğu: Bekleyen, hazırlanan, hazır siparişler
  • Zamanlayıcı: Ürün bazında pişirme süre takibi
  • Menü Durumu: Ürün mevcudiyeti, hazırlık süreleri
  • Toplu İşlemler: Çoklu sipariş yönetimi
  • Öncelik Sıralaması: Acil siparişler

💰 Kasiyer Paneli

  • Ödeme İşlemleri: Nakit, kart, karma ödeme
  • İndirim Uygulama: Esnek indirim sistemi
  • Fiş Yazdırma: Detaylı hesap fişleri
  • İade İşlemleri: Sipariş iadesi yönetimi
  • Günlük Raporlar: Satış analizi, ödeme yöntemi dağılımı
  • Ödeme Geçmişi: Detaylı işlem kayıtları

🚀 Kurulum

Gereksinimler

  • Python 3.8 veya üzeri
  • PyQt5
  • SQLAlchemy

Adım 1: Projeyi İndirin

# Proje dosyalarını bir klasöre kaydedin
mkdir restoran_sistemi
cd restoran_sistemi

Adım 2: Gerekli Paketleri Yükleyin

pip install -r requirements.txt

Veya manuel olarak:

pip install PyQt5==5.15.10 SQLAlchemy==2.0.23

Adım 3: Uygulamayı Başlatın

python main.py

📁 Proje Yapısı

restoran_sistemi/
├── main.py                 # Ana uygulama
├── models.py               # Veritabanı modelleri
├── login_screen.py         # Giriş ekranı
├── admin_panel.py          # Yönetici paneli
├── waiter_panel.py         # Garson paneli
├── kitchen_panel.py        # Mutfak paneli
├── cashier_panel.py        # Kasiyer paneli
├── requirements.txt        # Gerekli paketler
└── README.md              # Bu dosya

🔑 Varsayılan Giriş Bilgileri

Yönetici

  • Kullanıcı Adı: admin
  • Şifre: admin123

Personel

  • Garson: garson1 / 123456
  • Mutfak: mutfak1 / 123456
  • Kasiyer: kasiyer1 / 123456

📊 Veritabanı

Uygulama SQLite veritabanı kullanır ve ilk çalıştırmada otomatik olarak:

  • Veritabanı dosyası (restaurant_management.db) oluşturulur
  • Örnek veriler yüklenir
  • Varsayılan hesaplar oluşturulur

Ana Tablolar

  • admins: Yönetici hesapları
  • employees: Personel bilgileri
  • categories: Ürün kategorileri
  • menu_items: Menü öğeleri
  • tables: Masa bilgileri
  • customers: Müşteri kayıtları
  • orders: Siparişler
  • order_items: Sipariş detayları
  • payments: Ödeme kayıtları

🎯 Kullanım Senaryoları

Günlük İş Akışı

  1. Sabah Açılış (Yönetici)

    • Sisteme giriş yapın
    • Günlük raporları kontrol edin
    • Menü mevcudiyetini güncelleyin
  2. Müşteri Karşılama (Garson)

    • Müşteri geldiğinde masayı açın
    • Sipariş alın ve mutfağa gönderin
    • Sipariş durumunu takip edin
  3. Yemek Hazırlama (Mutfak)

    • Gelen siparişleri görüntüleyin
    • Hazırlık sürelerini takip edin
    • Hazır olan siparişleri işaretleyin
  4. Ödeme İşlemi (Kasiyer)

    • Servis edilen siparişlerin ödemesini alın
    • Fiş yazdırın
    • Günlük raporları oluşturun

🔧 Özelleştirme

Yeni Kullanıcı Rolleri Ekleme

# models.py dosyasında Employee modeline yeni roller ekleyin
# admin_panel.py'de yeni rol yönetimi ekleyin

Menü Kategorilerini Genişletme

# Veritabanında yeni kategoriler ekleyin
# UI'da kategori seçeneklerini güncelleyin

Rapor Türleri Ekleme

# admin_panel.py ve cashier_panel.py'de yeni rapor fonksiyonları

🐛 Sorun Giderme

Yaygın Hatalar

Modül Bulunamadı Hatası

pip install PyQt5 SQLAlchemy

Veritabanı Hatası

# Veritabanı dosyasını silin ve yeniden başlatın
rm restaurant_management.db
python main.py

Giriş Yapamıyorum

  • Varsayılan kullanıcı adı/şifreleri kontrol edin
  • Caps Lock durumunu kontrol edin

📈 Gelecek Özellikler

  • Web tabanlı arayüz
  • Mobil uygulama
  • QR kod menü sistemi
  • Online rezervasyon
  • Stok yönetimi
  • Multi-şube desteği
  • API entegrasyonu
  • Gerçek zamanlı bildirimler

🤝 Katkıda Bulunma

Bu proje eğitim amaçlı geliştirilmiştir. Katkılarınızı memnuniyetle karşılarız:

  1. Projeyi fork edin
  2. Yeni özellik dalı oluşturun
  3. Değişikliklerinizi commit edin
  4. Pull request gönderin

📄 Lisans

Bu proje eğitim amaçlıdır ve MIT lisansı altında sunulmuştur.

📞 İletişim

Sorularınız için GitHub üzerinden iletişime geçebilirsiniz.


Not: Bu sistem eğitim ve demo amaçlı geliştirilmiştir. Gerçek iş ortamında kullanmadan önce güvenlik ve performans testlerini yapınız.