Corporate Menu System'i şirket yemekhanelerindeki menü ve rezervasyon süreçleri için geliştirdim. Çalışan haftanın yemeklerini görebiliyor, rezervasyon yapıp iptal edebiliyor ve yemek sonrası değerlendirme bırakabiliyor. Yönetici de aynı uygulamadan menüleri ve gelen geri bildirimleri takip ediyor.
Çalışan ve yönetici ekranları
Çalışan tarafında günlük ve haftalık menü, rezervasyonlar, puanlama ve yorumlar bulunuyor. Anketler üzerinden yemek tercihleri toplanabiliyor; yeni menü ve anketler bildirimlerle duyuruluyor.
Yönetim panelinde menü hazırlama, rezervasyon sayısını izleme, yorumları inceleme ve çalışan hesaplarını yönetme işlemleri var. Tarihe göre filtrelenen raporlar ve anket sonuçları Excel'e aktarılabiliyor. Anketlerde çoktan seçmeli, birden fazla seçimli ve açık uçlu sorular kullanılabiliyor; yanıtlar anonim ya da isimli toplanabiliyor.
Rezervasyon ve iptal işlemlerini zaman kurallarına bağladım. Böylece mutfağın hazırlık yapacağı saatlerle kullanıcının işlem yapabildiği süre birlikte yönetiliyor.
Teknik tarafta
Önyüzde Next.js, TypeScript ve Tailwind CSS kullandım. Sunucudan gelen verileri TanStack Query, arayüz durumunu Zustand ile yönetiyorum. Backend, .NET 8 Web API üzerinde çalışıyor; MySQL'e Entity Framework Core ile erişiyor.
API, iş kuralları ve veri erişimi ayrı katmanlarda. Rezervasyon kuralları ve bildirimleri iş katmanında tutarken, veritabanı işlemlerini repository yapısına ayırdım. SignalR, yönetim ekranındaki rezervasyon ve yorum güncellemelerini anlık olarak iletiyor.
Giriş ve yetkilendirmede ASP.NET Identity, JWT ve kullanıcı rolleri kullanılıyor. Form doğrulamasını FluentValidation ile sunucuda da uyguluyorum. Dağıtım yapısında Vercel, Google Cloud Run, Cloud SQL ve GitHub Actions yer alıyor.
Demoyu incelemek için
Canlı demoda çalışan ve yönetici ekranları için şu test hesapları yayımlanıyor:
- Çalışan:
Jairo13@hotmail.com/Password123! - Yönetici:
admin@taskinnovation.com/Taskinnovation1234!
