Corporate Menu System
Şirket yemekhanelerinin dijital dönüşümü için geliştirdiğim kapsamlı platform. Çalışanların günlük menüleri görmesinden, rezervasyon yapmasına, geri bildirim vermesinden yöneticilerin detaylı raporlar almasına kadar tüm süreç bu sistemde yönetiliyor.
Neler Yapabilirsiniz?
Çalışanlar İçin
- 📅 Menü Görüntüleme: Günlük ve haftalık menüleri önceden görün
- ✅ Rezervasyon: Yemeğinizi rezerve edin, gerekirse iptal edin
- ⭐ Puanlama & Yorum: Menüleri puanlayın, yorumlarınızı paylaşın
- 📊 Anketler: Yemek tercihleri ve memnuniyet anketlerine katılın
- 🔔 Bildirimler: Özel menüler, anketler için bildirim alın
- 📱 Mobil Uyumlu: Telefondan, tabletten, bilgisayardan erişin
Yöneticiler İçin
- 🍽️ Menü Yönetimi: Günlük menüleri oluşturun, düzenleyin
- 📈 Rezervasyon Takibi: Kaç kişi rezervasyon yaptı, canlı takip
- 💬 Geri Bildirim Analizi: Yorum ve puanlamaları moderate edin
- 📊 Detaylı Raporlar: Excel export, tarih bazlı filtreleme
- 👥 Kullanıcı Yönetimi: Çalışan hesaplarını yönetin
Kullanıcı Senaryoları
Senaryo 1: Haftalık Menü Planı
Pazartesi sabahı çalışan sisteme giriş yapar, haftalık menülere bakar. Salı günü Mantı menüsünü görür ve rezervasyon yapar. Salı öğle saati geldiğinde yemekhanenin rezervasyon ekranında adı görünür, kuyrukta beklemeden yemeğini alır.
Senaryo 2: Geri Bildirim Süreci
Çalışan yemek sonrası menüye 5 yıldız verir ve "Çok lezzetliydi, teşekkürler" yorumu bırakır. Yönetici admin panelinden tüm geri bildirimleri görür, en çok beğenilen menüleri analiz eder, gelecek hafta menüsünü buna göre planlar.
Senaryo 3: Anket Kampanyası
Yönetici "Vejetaryen Menü Tercihleri" anketi oluşturur. Sistem tüm aktif kullanıcılara bildirim gönderir. Çalışanlar anketi doldurur. Yönetici sonuçları görür ve vejetaryen seçenekleri menüye ekler.
Mimari ve Tasarım Kararları
Clean Architecture Yaklaşımı
Backend tarafında n-Katmanlı Mimari ile Clean Code prensipleri:
- API Layer: RESTful endpoint'ler, request/response DTO'ları
- Business Logic Layer: Rezervasyon kuralları, anket mantığı, bildirim tetikleme
- Data Access Layer: Entity Framework Core, repository pattern
- Core Layer: Domain entities, interfaces, shared models
Neden bu mimari?
- Her katman bağımsız test edilebiliyor
- İş kuralları değiştiğinde sadece Business Layer güncellenebiliyor
- Veritabanı değişse bile Core ve Business etkilenmiyor
Event-Driven Notification System
Bildirimler için Observer Pattern uygulandı:
- Yeni menü oluşturuldu → Tüm kullanıcılara bildirim
- Anket yayınlandı → İlgili kullanıcılara bildirim
- Rezervasyon hatırlatıcı → Sabah 08:00'de otomatik
Real-time Dashboard
Admin panelinde SignalR (gerçek zamanlı iletişim) ile:
- Rezervasyon sayısı canlı güncellenir
- Yeni yorumlar anında görünür
- Sistem kullanım istatistikleri real-time
Cloud-Native Architecture
Google Cloud Platform üzerinde dağıtık mimari:
- Frontend: Vercel (Edge Network, otomatik SSL)
- Backend: Cloud Run (Containerized, auto-scaling)
- Database: Cloud SQL (MySQL, otomatik backup)
- CI/CD: GitHub Actions ile otomatik deploy
Teknik Detaylar (Geliştiriciler İçin)
Teknoloji Stack
Frontend:
- Next.js 16 (App Router) - Server components
- TypeScript - Type safety
- Framer Motion - Smooth animations
- TanStack Query - Server state
- Zustand - Client state management
Backend:
- .NET 8 Web API - Minimal APIs
- Entity Framework Core - Code First
- ASP.NET Identity - Authentication
- AutoMapper - Object mapping
- FluentValidation - Input validation
Deployment:
- Docker containers
- Google Cloud Run - Serverless containers
- Cloud SQL - Managed MySQL
- GitHub Actions - CI/CD pipeline
Önemli Tasarım Kararları
Rezervasyon Mantığı:
1. Kullanıcı yarının menüsünü görür
2. Rezervasyon yapmak için bugün saat 16:00'ya kadar süre var
3. 16:00 sonrası rezervasyon kapanır (mutfak hazırlık yapıyor)
4. Kullanıcı isterse sabah 09:00'a kadar iptal edebilir
Anket Sistemi:
- Çoktan seçmeli, çok seçimli ve açık uçlu soru tipleri
- Anket sonuçları Excel'e export edilebilir
- Anonim veya isimli anket seçeneği
Performans Optimizasyonları:
- Database query optimization (N+1 problem çözüldü)
- Redis cache layer (menü listesi 1 saat cache)
- Image optimization (WebP format, lazy loading)
- API response time < 100ms (ortalama)
Güvenlik
- JWT Authentication: Refresh token stratejisi
- Role-Based Access: User, Admin, SuperAdmin
- Data Encryption: Hassas veriler encrypted at rest
- CORS Policy: Sadece belirlenen domain'lerden istek
- Rate Limiting: Brute force koruması
Demo Hesaplar
Admin: admin@taskinnovation.com / Taskinnovation1234!
User: Jairo13@hotmail.com / Password123!
Canlı demo: corporatemenusystem.taskinnovation.net
