{"id":15066125,"url":"https://github.com/karagultm/ecommerce-webapi","last_synced_at":"2026-02-03T19:33:34.357Z","repository":{"id":253213431,"uuid":"842825502","full_name":"karagultm/ECommerce-WebApi","owner":"karagultm","description":"This repository contains the implementation of a scalable and maintainable web API for an e-commerce platform, inspired by the Hepsiburada structure, using .NET Core 7. The project is designed following the Onion Architecture combined with the CQRS (Command Query Responsibility Segregation) design pattern to achieve a clean separation of concerns.","archived":false,"fork":false,"pushed_at":"2024-10-31T16:11:33.000Z","size":174,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-16T01:12:29.034Z","etag":null,"topics":["asp-net","asp-net-core","automapper","cqrs","cqrs-pattern","dotnet","dotnet-7","dotnet-core","ecommerce","entity-framework-core","json","jwt","jwt-authentication","mediatr","onion-architecture","swagger"],"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/karagultm.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":"2024-08-15T07:04:58.000Z","updated_at":"2024-10-31T16:11:37.000Z","dependencies_parsed_at":"2024-08-26T10:44:11.417Z","dependency_job_id":"b9d4c79d-b4ca-433e-882c-07b369716a46","html_url":"https://github.com/karagultm/ECommerce-WebApi","commit_stats":null,"previous_names":["mtkaragul/youtubeapi-onioncqrs","mtkaragul/ecommerce-webapi"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karagultm%2FECommerce-WebApi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karagultm%2FECommerce-WebApi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karagultm%2FECommerce-WebApi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karagultm%2FECommerce-WebApi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/karagultm","download_url":"https://codeload.github.com/karagultm/ECommerce-WebApi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243809885,"owners_count":20351407,"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":["asp-net","asp-net-core","automapper","cqrs","cqrs-pattern","dotnet","dotnet-7","dotnet-core","ecommerce","entity-framework-core","json","jwt","jwt-authentication","mediatr","onion-architecture","swagger"],"created_at":"2024-09-25T01:02:04.988Z","updated_at":"2026-02-03T19:33:34.307Z","avatar_url":"https://github.com/karagultm.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# E-Commerce Platform API using .NET Core 7 with Onion Architecture and CQRS Pattern\n## Description:\n\nThis repository contains the implementation of a scalable and maintainable web API for an e-commerce platform, inspired by the Hepsiburada structure, using .NET Core 7. The project is designed following the Onion Architecture combined with the CQRS (Command Query Responsibility Segregation) design pattern to achieve a clean separation of concerns and ensure high testability, flexibility, and scalability.\n\n## Key Features:\n\n.NET Core 7: Utilizes the latest features and improvements from .NET Core 7 for building a modern and performant web API. \n\nOnion Architecture: Implements a layered approach to isolate core business logic from external concerns, such as data access and UI. \n\nCQRS Pattern: Separates command and query responsibilities, optimizing for both read and write operations, enhancing performance and maintainability.\n\nEntity Framework Core: Used for data persistence, with support for migrations and database seeding. \n\nDependency Injection: Follows SOLID principles by injecting dependencies, ensuring loose coupling and easier testing.  \n\nAutomated Testing: Includes unit tests for core business logic and integration tests for API endpoints. \n\nSwagger Integration: Provides a user-friendly interface for exploring and testing API endpoints.\n\n## Folder Structure:\n\nCore: Contains the domain models, interfaces, and business logic.\n\nInfrastructure: Handles data access, third-party integrations, and external services.\n\nApplication: Implements the CQRS pattern, handling the application’s command and query processing.\n\nAPI: The entry point of the application, exposing RESTful endpoints to interact with the e-commerce platform.\n\n## Getting Started:\n\nClone the repository: git clone https://github.com/karagultm/ECommerce-WebApi\n\nNavigate to the project directory: cd ecommerce-platform-api\n\nInstall dependencies: dotnet restore\n\nApply migrations: dotnet ef database update\n\nRun the application: dotnet run\n## Technologies Used:\n\n.NET Core 7\n\nEntity Framework Core\n\nMediatR (for CQRS implementation)\n\nAutoMapper\n\nSwagger\n\n## Learning Experience: \nThroughout this project, I gained significant insights into advanced .NET Core concepts, particularly focusing on the application of Onion Architecture and the CQRS pattern in real-world scenarios. I deepened my understanding of how to structure large-scale applications for maintainability and scalability. Additionally, working with dependency injection, MediatR, and Entity Framework Core provided me with hands-on experience in managing complex business logic and ensuring high-performance data operations. This project also helped me enhance my skills in writing clean, testable code and developing APIs that follow best practices for security and usability.\n\n[] Projede kullanılan kütüphaneler, çalıştırılmadan önce indirilecekler, redisin çalıştırılması gerektiği gibi yerleri de buraya ekle mutlaka\n\nhttps://github.com/microsoftarchive/redis/releases  \nRedis-x64-3.0.504.zip\n\nmigration işlemi persistence ta yapılacak\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaragultm%2Fecommerce-webapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkaragultm%2Fecommerce-webapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaragultm%2Fecommerce-webapi/lists"}