MultiShop, modern yazılım geliştirme prensipleri (Clean Architecture, CQRS) ve mikroservis mimarisi kullanılarak geliştirilmiş, kapsamlı ve ölçeklenebilir bir B2C e-ticaret platformudur. Proje, birbirinden bağımsız çalışan servislerin Ocelot API Gateway arkasında birleştiği, IdentityServer4 ile güvenliğin sağlandığı ve SignalR ile gerçek zamanlı veri akışının desteklendiği full-stack bir sistemdir.
- Dağıtık Mimari: Catalog, Discount, Order, Basket, Cargo, Message ve Image olmak üzere izole edilmiş mikroservisler.
- Güvenli İletişim: IdentityServer4 ile JWT tabanlı Client Credentials ve Resource Owner Password yetkilendirme akışları.
- Merkezi API Yönetimi: Ocelot API Gateway üzerinden tek noktadan güvenli endpoint yönlendirmesi.
- Gerçek Zamanlı Veri (Real-Time): SignalR Hub entegrasyonu ile Admin panelinde anlık istatistik ve metrik takibi.
- CQRS ve MediatR: Order mikroservisinde Command ve Query sorumluluklarının ayrıştırılması.
- Performanslı Sepet Yönetimi: StackExchange.Redis kullanılarak in-memory sepet veri yönetimi.
- Bulut Entegrasyonu: Image mikroservisi üzerinden Google Drive API kullanılarak dışa bağımlı görsel depolama.
| Kategori | Teknolojiler |
|---|---|
| Backend | .NET 8, ASP.NET Core Web API, ASP.NET Core MVC |
| Mimari Desenler | Microservices, CQRS, Repository Pattern, Service Layer Abstraction |
| Kimlik & Güvenlik | IdentityServer4, JSON Web Tokens (JWT), BCrypt, User Secrets |
| Ağ & Gateway | Ocelot API Gateway, CORS, HttpClientFactory |
| Veritabanı & ORM | MSSQL, PostgreSQL, Entity Framework Core (Code First), SQLite (Image API) |
| Önbellek & Canlı Veri | Redis, SignalR |
| Altyapı & Araçlar | Docker, DBeaver, Postman, Swagger |
| Frontend | Bootstrap 5, jQuery AJAX, Font Awesome, ViewComponents |
Ana sayfa vitrini, dinamik sepet yönetimi ve üyelik işlemleri.
Katalog yönetimi, kargo takibi ve SignalR ile canlı istatistik akışı.
Ocelot yapılandırması, Swagger dökümantasyonu, Postman endpoint testleri ve Docker container durumları.
Projeyi yerel ortamınızda çalıştırmak için aşağıdaki adımları izleyebilirsiniz:
- Projeyi bilgisayarınıza klonlayın:
git clone https://github.com/EnessCode/MultiShop-Microservices.git
- İlgili mikroservislerin bağlantı dizelerini (Connection Strings) kendi SQL Server, PostgreSQL ve Redis ortamınıza göre
appsettings.jsondosyalarından güncelleyin. - Package Manager Console (PMC) veya .NET CLI üzerinden her bir mikroservis için migration'ları uygulayarak veritabanlarını oluşturun:
dotnet ef database update
- IdentityServer, API Gateway (Ocelot) ve diğer tüm mikroservisleri sırasıyla ayağa kaldırın.
MultiShop.WebUIprojesini çalıştırarak platforma erişim sağlayın.
EnessCode
Bu proje, modern .NET teknolojilerini, mikroservis mimarisini ve tasarım desenlerini öğrenmek ve pratik yapmak amacıyla eğitim amaçlı olarak geliştirilmiştir.




















