Skip to content

Repository files navigation

🛒 E-Commerce Backend API


📌 About

Kişisel gelişim ve portfolyo amacıyla geliştirilmiş bir ASP.NET Core projesidir. Hedef; Clean Architecture, CQRS, Domain-Driven Design yaklaşımlarını ve modern .NET ekosistemindeki araçları (Entity Framework Core, PostgreSQL, Redis, RabbitMQ, Docker) öğrenmek ve somut bir kod tabanında uygulamaktır.

Bu repository REST API katmanını içerir; kullanıcı arayüzü bu repoda yer almaz.

Teknik ve eğitim notları için bkz. EcommerceApp_Docs/README.md.


✨ Highlights

  • Katmanlı mimari: Domain merkezli, bağımlılıklar içe doğru
  • CQRS + MediatR: Komut ve sorguların ayrılması, ince controller yapısı
  • PostgreSQL + EF Core: İlişkisel veri ve code-first migrasyonlar
  • Redis: Dağıtılmış önbellek örneği (IDistributedCache)
  • RabbitMQ + MassTransit: Integration event yayını ve consumer
  • JWT + ASP.NET Identity: Kimlik doğrulama altyapısı
  • Docker Compose: Geliştirme ortamı için bağımlı servisler
  • xUnit + CI: Birim testler ve GitHub Actions ile sürekli doğrulama

🧭 Architecture

İstek akışı üst düzeyde şöyledir:

Web APIApplication (use cases, CQRS, doğrulama) → Infrastructure (EF Core, cache, mesajlaşma) → Domain (kurallar ve modeller)

flowchart TB
  Web[ECommerceApp.Web]
  App[ECommerceApp.Application]
  Inf[ECommerceApp.Infrastructure]
  Core[ECommerceApp.Core Domain]

  Web --> App
  App --> Inf
  App --> Core
  Inf --> Core
Loading

🖥️ Frontend

Arayüz React ile ayrı bir projede geliştirilmektedir.

👉 Frontend Projesi - GitHub Linki Eklenecek


📁 Solution Structure

Project Responsibility
ECommerceApp.Core Domain entities, interfaces, domain events
ECommerceApp.Application Commands, queries, handlers, DTOs, validation
ECommerceApp.Infrastructure EF Core, repositories, external integrations
ECommerceApp.Web REST API, middleware, Swagger
ECommerceApp.Tests Unit tests

🚀 How to Run

Prerequisites

Steps

  1. Start infrastructure services (database, cache, message broker, etc.):
 docker compose up -d
  1. Run the API:
 dotnet run --project ECommerceApp.Web
  1. Open Swagger (Development): Navigate to /swagger on the HTTPS URL shown in the console (e.g. https://localhost:5xxx/swagger).

🧪 Tests & CI

dotnet test -c Release

Pull requests and pushes run build and test via GitHub Actions (.github/workflows/ci.yml).


📄 License

Specify your license here when publishing the repository.

About

E-ticaret uygulaması geliştirme projesi kapsamında, Clean Architecture prensiplerine uygun olarak .NET 8 ile bir yapı oluşturacağız. Projede PostgreSQL ve MongoDB veritabanları kullanılacak, ayrıca Redis, RabbitMQ, Microsoft Identity ve JWT gibi teknolojiler entegre edilecek

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages