https://github.com/zehraseren/multishopproject
E-commerce
https://github.com/zehraseren/multishopproject
ajax api-gateway cqr dapper docker dotnetcoreapi jsonwebtoken mediator-pattern microservice mongodb mssqlserver ocelot-gateway onion-architecture postgresql redis repository-pattern signalr sqllite
Last synced: 15 days ago
JSON representation
E-commerce
- Host: GitHub
- URL: https://github.com/zehraseren/multishopproject
- Owner: zehraseren
- Created: 2025-02-25T19:05:54.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-03-02T23:09:16.000Z (about 1 year ago)
- Last Synced: 2025-03-03T00:48:56.864Z (about 1 year ago)
- Topics: ajax, api-gateway, cqr, dapper, docker, dotnetcoreapi, jsonwebtoken, mediator-pattern, microservice, mongodb, mssqlserver, ocelot-gateway, onion-architecture, postgresql, redis, repository-pattern, signalr, sqllite
- Language: C#
- Homepage:
- Size: 19.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🛒 MultiShop (.NET CORE 8.0 MICROSERVICE ARCHITECTURE)
Bu repository, Murat Yücedağ’ın Udemy üzerindeki [.Net Core MultiShop Mikroservis E-Ticaret](https://www.udemy.com/course/aspnet-core-multishop-mikroservis-e-ticaret-kursu/) kursu kapsamında, eğitim sürecim boyunca geliştirdiğim MultiShop projesini içermektedir. Bu proje, kursta edinilen teorik bilgilerin uygulamaya dökülmesini sağlamak amacıyla yapılandırılmış, gerçek dünya senaryolarına uygun şekilde, mikroservis mimarisi temel alınarak geliştirilmiştir.
## 🎯Proje Hakkında
MultiShop projesi, modern yazılım mimarilerine uygun olarak geliştirilmiş, mikroservis mimarisi ile çalışan ölçeklenebilir bir e-ticaret platformudur. Kullanıcılar sisteme ziyaretçi ya da kayıtlı kullanıcı olarak giriş yapabilir, ürünleri inceleyebilir, sepetine ekleyebilir, sipariş verebilir ve bu siparişleri takip edebilir.
Proje, hem frontend hem de backend tarafında farklı teknolojileri ve veritabanlarını entegre ederek yüksek erişilebilirlik, modülerlik, bağımsız geliştirme ve kolay ölçeklenebilirlik gibi mikroservislerin temel avantajlarını sunar.
## Proje Görselleri





## 🧱 Mimari Yapı
Proje aşağıdaki gibi katmanlı bir mimariye sahiptir:
```
ApiGateway
├── MS.OcelotGateway
Frontends
├── MS.UI.DtoLayer
└── MS.WebUI
IdentityServer
└── MS.IdentityServer
RapidApi
└── MS.RapidApiWebUI
Services
├── Basket
├── Cargo
├── Catalog
├── Comment
├── Discount
├── Image
├── Message
├── Order
├── Payment
├── RabbitMQMessage
└── SignalRRealTimeApi
```
Aşağıdaki diyagram, projenin katmanlarını ve servisler arası iletişimi göstermektedir.

## 🛠 Kullanılan Teknolojiler ve Araçlar
### 🧠 Backend & API Teknolojileri
+ 🤖 ASP.NET Core 8.0 Web Application
+ 🌐 ASP.NET Core Web API
+ 💾 Entity Framework Core
+ 💾 Dapper
+ 🚀 RapidAPI
### 🏗️ Mimari & Tasarım Desenleri
+ 🏛️ Onion Architecture
+ 🏛️ N-Tier Architecture
+ 📜 CQRS Design Pattern
+ 📜 Mediator Design Pattern
+ 📜 Repository Design Pattern
### 🔐 Kimlik Doğrulama & Güvenlik
+ 🔒 IdentityServer4
+ 🪙 Json Web Token (JWT)
+ 📧 MailKit
### 🚪 API Yönlendirme ve Gateway
+ 🌀 Ocelot API Gateway
+ 🔍 Discovery
### 💾 Veritabanları & Veri Yönetimi
+ 🗃️ MSSQL
+ 🐘 PostgreSQL
+ 🍃 MongoDB
+ 🚀 Redis
+ ☁️ Google Cloud Storage
+ 🐇 RabbitMQ
### 📡 Gerçek Zamanlı İletişim
+ 🔄 SignalR
### ⚙️ Geliştirme ve Test Araçları
+ 🐳 Docker
+ 🛠️ Postman
+ 🛠️ Swagger
+ 🖥️ DBeaver
### 🎨 Frontend Teknolojileri
+ 📝 HTML
+ 🖌️ CSS
+ ⚡ JavaScript
+ 📐 Bootstrap
### 🌍 Uluslararasılaştırma
+ 🌐 Localization
## 🚀 Nasıl Çalıştırılır?
### ✅ Gereksinimler
Aşağıdaki yazılımların sisteminizde kurulu olması gerekir:
+ .NET 8.0 SDK
+ Docker
+ Visual Studio 2022+ veya Rider
+ DBeaver (Opsiyonel - Veritabanı kontrolü için)
1. Projeyi Klonlayın
```
git clone https://github.com/zehraseren/MultiShopProject
cd multishopproject
```
2. Docker Servislerini Başlatın
```
docker-compose up -d
```
> Docker ile birlikte şunlar ayağa kalkacaktır:
> + MSSQL, MongoDB, Redis, PostgreSQL
> + RabbitMQ
> + Ocelot Gateway
> + IdentityServer
> + Mikroservislerin bağlı olduğu veritabanları
3. Veritabanlarını Oluşturun ve Migrationları Uygulayın
Visual Studio üzerinde aşağıdaki servis projelerine sağ tıklayıp ```Set as Startup Project``` seçin ve migrationları çalıştırın:
> Komut satırından çalıştırmak isterseniz:
```
cd Services/Catalog/MS.Catalog
dotnet ef database update
```
> (Tüm servisler için bu işlemi tekrarlayın.)
🧠 4. Servisleri Çalıştırın
Servisleri sırasıyla aşağıdaki sırayla çalıştırmanız önerilir:
1. MS.IdentityServer
2. MS.OcelotGateway
3. MS.WebUI
4. Mikroservisler (Basket, Catalog, Order, Payment, vb.)
> Visual Studio'da Solution Items altındaki ```.sln``` dosyasını açarak çoklu başlatmayı da ayarlayabilirsiniz.
5. Uygulamaya Erişim
+ WebUI (Kullanıcı Arayüzü): http://localhost:5000
+ Ocelot Gateway: http://localhost:5001
+ [Swagger (API Dokümantasyonları):](https://github.com/zehraseren/MultiShopProject/blob/master/PortNumbers.txt) -> http://localhost:7070/swagger/index.html (örnek: Catalog API)
> Diğer servislerin portlarına göre değişkenlik gösterebilir.
6. Test Araçları (Opsiyonel)
+ API testleri için Postman veya Swagger UI kullanılabilir.
+ Geliştirme sırasında log takibi için Docker loglarını izleyebilirsiniz:
```
docker logs -f ms.catalog
```
***
### Geliştirici
📌 Zehra Şeren
📧 fatmazehraseren@gmail.com
🔗 [LinkedIn](https://www.linkedin.com/in/zehraseren/)
***
### Lisans
Bu proje açık kaynak değildir ve yalnızca eğitim amaçlı kullanılabilir.