ECommerceMicroservice, .NET Core, RabbitMQ, Redis, Docker ve IdentityServer4 gibi modern teknolojilerle geliştirilen, konteyner tabanlı dağıtık bir e-ticaret uygulamasıdır. Gerçek dünya senaryolarına uygun, ölçeklenebilir ve modüler bir yapı sunar. Sorunların ayrıştırılması (separation of concerns) ve en iyi yazılım geliştirme pratikleri dikkate alınarak hazırlanmıştır.
- .NET 8.0 – Mikroservis geliştirme
- ASP.NET Core MVC – Web UI (MultiShop.WebUI)
- Entity Framework Core – ORM (ilişkisel veritabanı için)
- Dapper – Hafif ve hızlı veri erişimi
- AutoMapper – DTO ↔ Entity dönüşümleri
- Ocelot – API Gateway (routing ve aggregation)
- IdentityServer4 – OAuth2 / OpenID Connect sağlayıcısı
- JWT (JSON Web Token) – Token tabanlı kimlik doğrulama
- RabbitMQ – Asenkron servisler arası mesajlaşma
- SignalR – Gerçek zamanlı iletişim altyapısı
- Redis – Dağıtık önbellekleme sistemi
- SQL Server – İlişkisel veritabanı
- MongoDB – NoSQL (Catalog servisi için)
- PostgreSQL – Message servisi için
- Google Cloud Storage – Görsel/dosya yükleme servisi
- Docker & Docker Compose – Konteyner yönetimi
- Portainer – Docker arayüz yönetim aracı
- Postman – API testleri için
| Servis | Teknoloji | Veritabanı | Açıklama |
|---|---|---|---|
| Catalog | ASP.NET Core API | MongoDB | Ürün listeleme |
| Basket | ASP.NET Core API | Redis | Alışveriş sepeti |
| Discount | ASP.NET Core API | SQL Server | İndirim kodu yönetimi |
| Order | ASP.NET Core API | SQL Server | Sipariş işleme |
| Cargo | ASP.NET Core API | SQL Server | Kargo & takip |
| Message | ASP.NET Core API | PostgreSQL | Mesajlaşma sistemi |
| Comment | ASP.NET Core API | SQL Server | Ürün yorumları |
| Images | ASP.NET Core API | Google Cloud Storage | Görsel/dosya yükleme servisi |
| Identity | IdentityServer4 | SQL Server | Giriş, kayıt, rol yönetimi |
Proje, aşağıdaki servisleri bir arada çalıştırmak için docker-compose.yml kullanır:
- Tüm mikroservisler
- IdentityServer4
- API Gateway (Ocelot)
- Redis
- RabbitMQ (UI arayüzü dahil)
- SQL Server
- MongoDB
- PostgreSQL
- Portainer
Detaylı konfigürasyon için docker-compose.yml dosyasını inceleyin.
- .NET SDK
- Docker
- Docker Compose
- (Opsiyonel) Postman
git clone https://github.com/your-username/ECommerceMicroservice.git
cd ECommerceMicroservice
docker-compose up --build
---






