https://github.com/burakarslan0110/tashan-sofrasi-web-app
ASP.NET Core 8 çerçevesi üzerinde gelişitirdiğim SignalR temelli restoran otomasyonu.
https://github.com/burakarslan0110/tashan-sofrasi-web-app
asp-net-core asp-net-core-8 asp-net-core-mvc csharp net-core signalr
Last synced: 2 months ago
JSON representation
ASP.NET Core 8 çerçevesi üzerinde gelişitirdiğim SignalR temelli restoran otomasyonu.
- Host: GitHub
- URL: https://github.com/burakarslan0110/tashan-sofrasi-web-app
- Owner: burakarslan0110
- License: mit
- Created: 2024-11-14T22:49:28.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-12-16T12:36:52.000Z (5 months ago)
- Last Synced: 2025-01-23T07:17:20.248Z (4 months ago)
- Topics: asp-net-core, asp-net-core-8, asp-net-core-mvc, csharp, net-core, signalr
- Language: HTML
- Homepage:
- Size: 42.1 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Taşhan Sofrası Restoran Yönetim Projesi

## Proje Açıklaması**Taşhan Sofrası**, bir restoran senaryosu üzerinde rezervasyon ve sipariş süreçlerinin kolayca yönetilebilmesi için geliştirmiş olduğum bir sistemdir. Kullanıcılar, restorana giriş yaparak masalardaki QR kodu okutup menüdeki ürünleri inceleyebilir, sepetlerine ekleyebilir ve masaya sipariş verebilirler. Ayrıca kullanıcılar rezervasyon oluşturma, mesaj gönderme imkânına da sahip.
Admin panelinde ise, SignalR teknolojisi kullanılarak siparişler, rezervasyonlar ve mesajlar gerçek zamanlı olarak görüntülenebilir. Bu sayede yöneticiler; anlık olarak masalara yapılan siparişleri tamamlayabilir ve çeşitli istatistiksel verileri inceleyebilir. Bununla beraber sitenin ön yüz kısmındaki verileri büyük ölçüde admin paneliyle dinamik olarak özelleştirmek mümkün.
## Teknik Detaylar
Bu projeyi **ASP.NET Core 8.0** ve **SignalR** teknolojileri kullanarak geliştirdim. Tüm CRUD işlemleri API katmanı üzerinden gerçekleştirildi ve MVC tarafında dinamik bir yapıya entegre edildi. Veritabanı olarak MSSQL Server üzerinde Code-First olarak **Entity Framework Core** kullanıldı. Proje, sürdürülebilirlik ve modülerlik açısından **N katmanlı mimariye (Entity, DataAccess, Business, DTO, API, UI)** ve SOLID prensiplerine uygun olarak geliştirdim. Bu açıdan CRUD işlemlerini merkezileştirmek için Generic Repository tasarım desenini de uyguladım. Ayrıca AutoMapper üzerinden **DTO katmanı** sayesinde veriler daha güvenli bir şekilde işlemiş oldum. Son olarak Docker ile projeyi tamamen konteyner ortamına taşıdım. Tüm teknik detayları ise şu şekilde sıralayabilirim:
### 📌 **Kullanılan Teknolojiler**
- **ASP.NET Core 8.0**
- **ASP.NET Core Web API**
- **SignalR**
- **Entity Framework Code First**
- **MSSQL Server**
- **Docker**
- **Identity**
- **Fluent Validation**
- **AutoMapper**
- **QRCoder**
- **SkiaSharp**
- **HTML, CSS, JavaScript**
- **Bootstrap**
- **Ajax**### 📌 Öne Çıkan Özellikler
- **Rezervasyon yapma**
- **QR Kod ile ilgili masaya sipariş verme**
- **Mesaj gönderme**
- **Kupon kodu sistemi**
- **SignalR ile anlık sipariş yönetimi**
- **SignalR ile anlık rezervasyon yönetimi**
- **SignalR ile bildirim sistemi**
- **SignalR ile anlık istatistikler**
- **Ürünlerde CRUD işlemleri**
- **Kategorilerde CRUD işlemleri**
- **İndirimli ürün tanımlama**
- **Sitedeki diğer veriler için CRUD işlemleri**
- **Masaya ait QR kod oluşturma**
- **Identity ile hesap işlemleri**Projeyi lokalinizde ayağa kaldırmak için projeyi sisteminize klonlayıp TashanSofrasi.sln dosyasını Visual Studio IDE üzerinden Docker compose ile çalıştırmanız yeterlidir.
```
git clone https://github.com/burakarslan0110/Tashan-Sofrasi-Web-App.git
```Eğer IDE kullanmaksızın projeyi ayağa kaldırmak istiyorsanız **DockerComposeNonVS** dosyasının bulunduğu dizine terminal üzerinden geçip aşağıdaki komutu çalıştırın. Ardından [https://localhost:8083](https://localhost:8083) adresinden projeyi inceleyebilirsiniz. API katmanına ise Swagger üzerinden [https://localhost:8081](https://localhost:8081) adresiyle erişebilirsiniz.
```
docker compose up -d
```
Admin paneline giriş adresi [https://localhost:8083/Admin](https://localhost:8083/Admin)Kayıt olarak hesap oluşturabilirsiniz.
## Proje Görselleri
### WEB UI Tarafı / Ana Sayfa
#### Slider:

#### İndirimli Ürünler:

#### Menü:

#### Hakkımızda:

#### Rezervasyon:

#### Referanslar:

#### Footer:

#### Hakkımızda Sayfası:

#### Sepet:
### WEB UI Tarafı / Giriş Ekranı

### WEB UI Tarafı / Kayıt Ol Ekranı
### WEB UI Tarafı / Admin Panel
#### İstatistikler:

#### Sipariş Masa Durum:

#### Sipariş Detayları:

#### Kategoriler:

#### Ürünler:

#### Rezervasyon ve Bildirimler:

#### QR Kod Oluşturma:

#### Slider:

#### İndirimler:

#### Hakkımızda:

#### Referanslar:

#### Footer:

#### Mesajlar:

### API Tarafı / Swagger

