{"id":25931058,"url":"https://github.com/zehraseren/multishopproject","last_synced_at":"2026-04-11T18:02:27.520Z","repository":{"id":280355631,"uuid":"938957039","full_name":"zehraseren/MultiShopProject","owner":"zehraseren","description":"E-commerce","archived":false,"fork":false,"pushed_at":"2025-03-02T23:09:16.000Z","size":20,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-03T00:48:56.864Z","etag":null,"topics":["ajax","api-gateway","cqr","dapper","docker","dotnetcoreapi","jsonwebtoken","mediator-pattern","microservice","mongodb","mssqlserver","ocelot-gateway","onion-architecture","postgresql","redis","repository-pattern","signalr","sqllite"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zehraseren.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-25T19:05:54.000Z","updated_at":"2025-03-02T23:09:20.000Z","dependencies_parsed_at":"2025-03-03T00:59:00.038Z","dependency_job_id":null,"html_url":"https://github.com/zehraseren/MultiShopProject","commit_stats":null,"previous_names":["zehraseren/multishopproject"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zehraseren%2FMultiShopProject","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zehraseren%2FMultiShopProject/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zehraseren%2FMultiShopProject/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zehraseren%2FMultiShopProject/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zehraseren","download_url":"https://codeload.github.com/zehraseren/MultiShopProject/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241758971,"owners_count":20015247,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ajax","api-gateway","cqr","dapper","docker","dotnetcoreapi","jsonwebtoken","mediator-pattern","microservice","mongodb","mssqlserver","ocelot-gateway","onion-architecture","postgresql","redis","repository-pattern","signalr","sqllite"],"created_at":"2025-03-03T23:57:18.519Z","updated_at":"2026-04-11T18:02:27.513Z","avatar_url":"https://github.com/zehraseren.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🛒 MultiShop (.NET CORE 8.0 MICROSERVICE ARCHITECTURE)\n\nBu 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.\n\n## 🎯Proje Hakkında\nMultiShop 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.\n\nProje, 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.\n\n## Proje Görselleri\n![Localization](https://github.com/user-attachments/assets/8aab52de-b7c6-4d20-8d27-fc289fa32eb7)\n![Introduction](https://github.com/user-attachments/assets/d0dd1e38-e3b5-4b49-be6d-d7aa696f9e00)\n![Ekran görüntüsü 2025-06-15 012518](https://github.com/user-attachments/assets/7d0a2cff-e9f8-4d83-8106-4e87d89fdbd1)\n![Ekran görüntüsü 2025-06-15 012541](https://github.com/user-attachments/assets/99dcc9cc-7f12-46c1-9b3f-17988067f760)\n![Ekran görüntüsü 2025-06-15 012452](https://github.com/user-attachments/assets/7ac93d41-e28a-4af5-927d-060ed83b5655)\n\n\n\n\n## 🧱 Mimari Yapı\nProje aşağıdaki gibi katmanlı bir mimariye sahiptir:\n\n```\nApiGateway\n   ├── MS.OcelotGateway\nFrontends\n   ├── MS.UI.DtoLayer\n   └── MS.WebUI\nIdentityServer\n   └── MS.IdentityServer\nRapidApi\n   └── MS.RapidApiWebUI\nServices\n   ├── Basket\n   ├── Cargo\n   ├── Catalog\n   ├── Comment\n   ├── Discount\n   ├── Image\n   ├── Message\n   ├── Order\n   ├── Payment\n   ├── RabbitMQMessage\n   └── SignalRRealTimeApi\n```\nAşağıdaki diyagram, projenin katmanlarını ve servisler arası iletişimi göstermektedir.\n![diagram](https://github.com/user-attachments/assets/e0c1f284-7414-43fd-81f6-3c02e15f15fe)\n\n\n\n## 🛠 Kullanılan Teknolojiler ve Araçlar\n### 🧠 Backend \u0026 API Teknolojileri\n+ 🤖 ASP.NET Core 8.0 Web Application\n+ 🌐 ASP.NET Core Web API\n+ 💾 Entity Framework Core\n+ 💾 Dapper\n+ 🚀 RapidAPI\n\n### 🏗️ Mimari \u0026 Tasarım Desenleri\n+ 🏛️ Onion Architecture\n+ 🏛️ N-Tier Architecture\n+ 📜 CQRS Design Pattern\n+ 📜 Mediator Design Pattern\n+ 📜 Repository Design Pattern\n\n### 🔐 Kimlik Doğrulama \u0026 Güvenlik\n+ 🔒 IdentityServer4\n+ 🪙 Json Web Token (JWT)\n+ 📧 MailKit\n\n### 🚪 API Yönlendirme ve Gateway\n+ 🌀 Ocelot API Gateway\n+ 🔍 Discovery\n \n### 💾 Veritabanları \u0026 Veri Yönetimi\n+ 🗃️ MSSQL\n+ 🐘 PostgreSQL\n+ 🍃 MongoDB\n+ 🚀 Redis\n+ ☁️ Google Cloud Storage\n+ 🐇 RabbitMQ\n\n### 📡 Gerçek Zamanlı İletişim\n+ 🔄 SignalR\n\n### ⚙️ Geliştirme ve Test Araçları\n+ 🐳 Docker\n+ 🛠️ Postman\n+ 🛠️ Swagger\n+ 🖥️ DBeaver\n\n### 🎨 Frontend Teknolojileri\n+ 📝 HTML\n+ 🖌️ CSS\n+ ⚡ JavaScript\n+ 📐 Bootstrap\n\n### 🌍 Uluslararasılaştırma\n+ 🌐 Localization\n\n\n## 🚀 Nasıl Çalıştırılır?\n### ✅ Gereksinimler\nAşağıdaki yazılımların sisteminizde kurulu olması gerekir:\n+ .NET 8.0 SDK\n+ Docker\n+ Visual Studio 2022+ veya Rider\n+ DBeaver (Opsiyonel - Veritabanı kontrolü için)\n\n1. Projeyi Klonlayın\n```\ngit clone https://github.com/zehraseren/MultiShopProject\ncd multishopproject\n```\n\n2. Docker Servislerini Başlatın\n```\ndocker-compose up -d\n```\n\u003e Docker ile birlikte şunlar ayağa kalkacaktır:\n\u003e + MSSQL, MongoDB, Redis, PostgreSQL\n\u003e + RabbitMQ\n\u003e + Ocelot Gateway\n\u003e + IdentityServer\n\u003e + Mikroservislerin bağlı olduğu veritabanları\n\n3. Veritabanlarını Oluşturun ve Migrationları Uygulayın\nVisual Studio üzerinde aşağıdaki servis projelerine sağ tıklayıp ```Set as Startup Project``` seçin ve migrationları çalıştırın:\n\u003e Komut satırından çalıştırmak isterseniz:\n```\ncd Services/Catalog/MS.Catalog\ndotnet ef database update\n```\n\u003e (Tüm servisler için bu işlemi tekrarlayın.)\n\n🧠 4. Servisleri Çalıştırın\nServisleri sırasıyla aşağıdaki sırayla çalıştırmanız önerilir:\n 1. MS.IdentityServer\n 2. MS.OcelotGateway\n 3. MS.WebUI\n 4. Mikroservisler (Basket, Catalog, Order, Payment, vb.)\n\u003e Visual Studio'da Solution Items altındaki ```.sln``` dosyasını açarak çoklu başlatmayı da ayarlayabilirsiniz.\n\n5. Uygulamaya Erişim\n+ WebUI (Kullanıcı Arayüzü): http://localhost:5000\n+ Ocelot Gateway: http://localhost:5001\n+ [Swagger (API Dokümantasyonları):](https://github.com/zehraseren/MultiShopProject/blob/master/PortNumbers.txt) -\u003e http://localhost:7070/swagger/index.html (örnek: Catalog API)\n  \u003e Diğer servislerin portlarına göre değişkenlik gösterebilir. \n\n6. Test Araçları (Opsiyonel)\n+ API testleri için Postman veya Swagger UI kullanılabilir.\n+ Geliştirme sırasında log takibi için Docker loglarını izleyebilirsiniz:\n```\ndocker logs -f ms.catalog\n```\n\n*** \n### Geliştirici\n\n📌 Zehra Şeren  \n📧 fatmazehraseren@gmail.com  \n🔗 [LinkedIn](https://www.linkedin.com/in/zehraseren/)  \n\n***\n### Lisans\n\nBu proje açık kaynak değildir ve yalnızca eğitim amaçlı kullanılabilir.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzehraseren%2Fmultishopproject","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzehraseren%2Fmultishopproject","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzehraseren%2Fmultishopproject/lists"}