AspNet Core 6.0 ile geliştirdiğim admin ve vitrin panelleri bulunan, içerisinde SignalR kütüphanesini hakkını vererek kullandığım oldukça kapsamlı bir real-time uygulama yapısıyla hazırlanmıştır. Bu projede sıfırdan bir restoran için sipariş yönetimi uygulaması geliştirildi. Bu uygulamada backend kısmında Api kullandım. Backende kullandığım bu Api yapısını UI tarafında consume ettim. Consume işlemlerinde oldukça güçlü bir arayüz kullandım. Hem admin, hem UI hem de sipariş kısımları oldukça tatminkar oldu. Rezervasyon işlemleri için kullanıcılarımıza mail gönderdim. SignalR ile anlık bildirim, anlık mesajlaşma, anlık sepet gibi işlemleri gerçekleştirdim. Projemi mimariye ve solid prensiplerine olabildiğince sadık kalarak clean code prenseplerinde kodladım.
Genel olarak kullandığım teknolojiler şu şekildedir.
AspNet Core 6.0, Asp.Net Core Api, SignalR, Swagger, Dto ,N Tier Architecture, MSSQL, İlişkili Tablolar, Html Css Bootstrap, JavaScrip, Ajax, Entity Framework - Linq, Alert, Basket, Rezervasyon İşlemleri, Real-Time Uygulamalar, Real-Time Mesajlaşma, Real-Time İstatistik, Real-Time Bildirim, Mail Gönderme İşlemleri
- 👂 **Kullanıcı İşlemleri : Kullanıcı QR code ile tarattığı fotoğraf sonucu menüye erişebilir. Gelen menüden seçimini yapabilir. Yaptığı seçim sonucunda kasa bilgisi eklenir ve ödeme yapabilir.
Kullanıcı 2 id numaralı Steak Burger seçimi yapmıştır.
Kasada ödeme tutarı anlık olarak signalR ile yansımıştır.
Kullanıcılar uygulama üzerinden indirimli ürünleri görüp sipariş verebilir.
Kullanıcıların anlık olarak oluşturduğu rezervasyon işlemleri, signalR tarafından admin panelini kontrol eden kişi tarafından anında görüntülenebilir.
Kullanıcılar anlık olarak canlı konuşma ekranını kullanabilir ve isteklerini iletebilirler.
Kullanıcı yorumları sayfada gözükebilir.
🏠Admin İşlemleri : Yönetici ** İşletme için rezervasyon bilgileri , menüyü ve kategorileri düzenleyebilir , indirimleri düzenler, masa durumlarını ve anlık konuşmayı yönetir , mail gönderebilir , qr kod oluşturabilir.
Açılan admin sayfasından giriş yapılır ;
Gelen admin panelinde sol tarafta bulunan alanlardan istenilen sayfa kontrol edilebilir,
Yeni rezervasyon oluşturan kullanıcılar için, admin panelini kullanan yöneticiler onay verdiği zaman bildirim olarak panele yansır.
Menüye dair bilgiler anlık istatistik sayfasında tutulur.Değişen bilgiler signalR ile anlık olarak admin paneline yansır.Burada 6 kategori için görsel paylaşılmıştır.
Anlık olarak yeni bir kategori girmek istersek istatistik sayfasında kategori sayısının yenilemeye ihtiyac duymadan anında 7 oldugunu gorebiliriz.
İşletmede bulunan masalar için dolu ya da boş olarak giriş yapılabilir.Dolu masalar yeşil, boş masalar kırmızı olarak gözükmektedir.
İşletmeye dair anlık istatistik ve bilgiler burada tutulabilir. İstatistik barları verilerimize göre artıp azalacaktır.
Yönetici kişiler admin paneli üstünden bilgilerini güncelleyebilir.
Admin sayfasından istenilen bir mail gönderilebilir.
İsteniien masa için QR kod oluşturulabilir. Yapıştırılan QR code ile masaya ait bilgiler ve siparişler kolaylıkla alınabilir.
Sipariş Detayına Göre Sipariş Tutarı Arttıran Trigger
Projeme ait ilişkisel veri tabanı şu şekildedir,
Projeye dair api ve consume işlemleri , mimari ve projenin ilerleme aşaması commitlerde mevcuttur.