{"id":19100004,"url":"https://github.com/zkavtaskin/Domain-Driven-Design-Example","last_synced_at":"2025-04-18T17:32:35.343Z","repository":{"id":16649660,"uuid":"19405057","full_name":"zkavtaskin/Domain-Driven-Design-Example","owner":"zkavtaskin","description":"Blog series supplementary domain-driven design C# repository that (hopefully) actually makes sense. ","archived":false,"fork":false,"pushed_at":"2022-06-22T17:02:24.000Z","size":30586,"stargazers_count":1641,"open_issues_count":7,"forks_count":429,"subscribers_count":116,"default_branch":"master","last_synced_at":"2023-11-07T21:24:35.077Z","etag":null,"topics":["csharp","ddd","ddd-architecture","ddd-patterns","domain-driven-design"],"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/zkavtaskin.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}},"created_at":"2014-05-03T14:48:54.000Z","updated_at":"2023-11-07T12:37:39.000Z","dependencies_parsed_at":"2022-07-14T07:20:37.239Z","dependency_job_id":null,"html_url":"https://github.com/zkavtaskin/Domain-Driven-Design-Example","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zkavtaskin%2FDomain-Driven-Design-Example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zkavtaskin%2FDomain-Driven-Design-Example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zkavtaskin%2FDomain-Driven-Design-Example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zkavtaskin%2FDomain-Driven-Design-Example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zkavtaskin","download_url":"https://codeload.github.com/zkavtaskin/Domain-Driven-Design-Example/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223783096,"owners_count":17201903,"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":["csharp","ddd","ddd-architecture","ddd-patterns","domain-driven-design"],"created_at":"2024-11-09T03:52:25.808Z","updated_at":"2025-04-18T17:32:35.338Z","avatar_url":"https://github.com/zkavtaskin.png","language":"C#","funding_links":[],"categories":["csharp"],"sub_categories":[],"readme":"Domain-Driven-Design-Example C#\n============================\n\n![Alt text](https://leanworkspace.visualstudio.com/_apis/public/build/definitions/3c44af5e-2843-4cf8-8e4f-b13743536cc3/3/badge)\n\n**Repository objective:** To supplement blog articles on DDD (see below) and create easy to follow Domain-driven design repository that makes sense (if it still makes no sense then please do let me know). \n\nPlease do note that this is my interpretation of Domain-driven design (i.e. biased). Please use this for theoretical / educational purposes only. \n\n### Articles\n\n[Applied Domain-Driven Design (DDD), Part 1 - Basics](http://www.zankavtaskin.com/2013/09/applied-domain-driven-design-ddd-part-1.html)\n\n[Applied Domain-Driven Design (DDD), Part 2 - Domain events](http://www.zankavtaskin.com/2013/09/applied-domain-driven-design-ddd-part-2.html)\n\n[Applied Domain-Driven Design (DDD), Part 3 - Specification Pattern](http://www.zankavtaskin.com/2013/10/applied-domain-driven-design-ddd-part-3.html)\n\n[Applied Domain-Driven Design (DDD), Part 4 - Infrastructure](http://www.zankavtaskin.com/2013/11/applied-domain-driven-design-ddd-part-4_16.html)\n\n[Applied Domain-Driven Design (DDD), Part 5 - Domain Service](http://www.zankavtaskin.com/2013/11/applied-domain-driven-design-ddd-part-4.html)\n\n[Applied Domain-Driven Design (DDD), Part 6 - Application Services](http://www.zankavtaskin.com/2013/11/applied-domain-driven-design-ddd-part-6.html)\n\n[Applied Domain-Driven Design (DDD), Part 7 - Read Model Services](http://www.zankavtaskin.com/2016/06/applied-domain-driven-design-ddd-part-7.html)\n\n[Applied Domain-Driven Design (DDD), My Top 5 Best Practices](https://www.codeproject.com/Articles/1131462/Domain-Driven-Design-My-Top-Best-Practices)\n\n[Applied Domain-Driven Design (DDD), Event Logging \u0026 Sourcing For Auditing](http://www.zankavtaskin.com/2016/08/applied-domain-driven-design-ddd-event.html)\n\n![alt tag](http://1.bp.blogspot.com/-f9QYYWLc1Uk/UoKzpDHYkkI/AAAAAAAACA4/OD1bq9MLYFY/s1600/DDD_png_pure.png)\n\n### Structure\n\n* eCommerce.WebService\n* eCommerce\n     * ApplicationLayer\n          * Domain Area\n               * Dto\n               * Interface\n               * Implementation \n     * DomainModelLayer\n          * Domain Area\n               * Entity\n               * Enum\n               * Spec\n               * Value\n               * Event\n     * InfrastructureLayer\n\n### API\n\nTo keep things simple I have created in memory repository with few saved items. To start using simply download, open solution and run. \n\n\n\n#### Customer\n\nCustomer already exists (John Smith, ID: 5D5020DA-47DF-4C82-A722-C8DEAF06AE23).\n\nBut if you would like to add my customers here are urls that you can call:\n\n```\napi/customer/add?FirstName=john2\u0026LastName=smith2\u0026Email=john2.smith2@microsoft.com\n\napi/customer/Getbyid/5D5020DA-47DF-4C82-A722-C8DEAF06AE23\n\napi/customer/IsEmailAvailable?email=smith.john@microsoft.com\n\napi/customer/RemoveById/5D5020DA-47DF-4C82-A722-C8DEAF06AE23\n\napi/customer/update?id=5D5020DA-47DF-4C82-A722-C8DEAF06AE23\u0026Email=smith.john@microsoft.com\n```\n\n#### Product\n\nProduct already exists (iPhone,  ID: 65D03D7E-E41A-49BC-8680-DC942BABD10A).\n\nBut if you would like to add more products here are urls that you can call:\n\n```\napi/product/add?name=iPhone5\u0026quantity=6\u0026cost=422\u0026productcodeid=B2773EBF-CD0C-4F31-83E2-691973E32531\n\napi/product/get/65D03D7E-E41A-49BC-8680-DC942BABD10A\n ```    \n \n#### Cart\n\nCustomer and product already exists, so feel free just to call these urls:\n```\n/api/cart/add?customerid=5D5020DA-47DF-4C82-A722-C8DEAF06AE23\u0026productid=65D03D7E-E41A-49BC-8680-DC942BABD10A\u0026quantity=1\n\n/api/cart/getbyid?customerid=5D5020DA-47DF-4C82-A722-C8DEAF06AE23\n\n/api/cart/remove?customerid=5D5020DA-47DF-4C82-A722-C8DEAF06AE23\u0026productid=65d03d7e-e41a-49bc-8680-dc942babd10a\u0026Quantity=1\n\n/api/cart/checkout?customerid=5D5020DA-47DF-4C82-A722-C8DEAF06AE23\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzkavtaskin%2FDomain-Driven-Design-Example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzkavtaskin%2FDomain-Driven-Design-Example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzkavtaskin%2FDomain-Driven-Design-Example/lists"}