{"id":29179979,"url":"https://github.com/canerpatir/aspnet-core-clean-arch","last_synced_at":"2025-07-01T19:07:42.488Z","repository":{"id":40617647,"uuid":"184444745","full_name":"CanerPatir/aspnet-core-clean-arch","owner":"CanerPatir","description":"It is a clean architecture project template which is based on hexagonal-architecture principles built with .Net core. ","archived":false,"fork":false,"pushed_at":"2023-03-04T01:15:23.000Z","size":216,"stargazers_count":171,"open_issues_count":1,"forks_count":35,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-05-04T10:39:01.248Z","etag":null,"topics":["clean-architecture","clean-code","ddd-architecture","ddd-sample","dotnet-core","hexagonal-architecture","microservice","mongodb","onion-architecture","port-and-adapters","tdd"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CanerPatir.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2019-05-01T16:18:02.000Z","updated_at":"2025-03-11T19:46:13.000Z","dependencies_parsed_at":"2024-11-13T04:53:08.609Z","dependency_job_id":"a790d731-078a-4f4b-ba48-55669b01a663","html_url":"https://github.com/CanerPatir/aspnet-core-clean-arch","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CanerPatir/aspnet-core-clean-arch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CanerPatir%2Faspnet-core-clean-arch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CanerPatir%2Faspnet-core-clean-arch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CanerPatir%2Faspnet-core-clean-arch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CanerPatir%2Faspnet-core-clean-arch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CanerPatir","download_url":"https://codeload.github.com/CanerPatir/aspnet-core-clean-arch/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CanerPatir%2Faspnet-core-clean-arch/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263021823,"owners_count":23401148,"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":["clean-architecture","clean-code","ddd-architecture","ddd-sample","dotnet-core","hexagonal-architecture","microservice","mongodb","onion-architecture","port-and-adapters","tdd"],"created_at":"2025-07-01T19:07:41.869Z","updated_at":"2025-07-01T19:07:42.449Z","avatar_url":"https://github.com/CanerPatir.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Experimental Product Domain Based On Hexagonal Architecture Principles\nThis project is a sample application built using .NET Core. The main goal of this project is implementing and better understanding DDD and hexagonal architecture principles.  \n# Also known as\n* Ports and Adapters\n* Clean Architecture\n* Onion Architecture\n# Hexagonal architecture\n![hexagonal](/hexagonal.png?raw=true \"hexagonal\")\n\n\n\nWith hexagonal architecture\n* Domain layer contains enterprise wide logic and types and does not depend anything except these \n* Application layer contains business logic and types\n* Infrastructure layer (including persistence, messaging, logging, presentation) contains all external concerns\n* Presentation and Infrastructure layers depend only on Application\n* Infrastructure dependencies can be replaced\nwith minimal effort. For instance, we can switch data store without touching business code. \n\n## Getting Started\nUse these instructions to get the project up and running.\n\n### Prerequisites\nYou will need the following tools:\n\n* [Visual Studio Code or 2019](https://www.visualstudio.com/downloads/) or [JetBrains Rider](https://www.jetbrains.com/rider/download)\n* [.NET Core SDK 3.0](https://www.microsoft.com/net/download/dotnet-core/3.0)\n\n### Setup\nFollow these steps to get your development environment set up:\n\n  1. Clone the repository\n  2. At the root directory, restore dependencies\n     ```\n     dotnet restore\n     ```\n  3. Build the solution\n     ```\n     dotnet build\n     ```\n  5. Run tests\n     ```\n     dotnet test\n\t ```\n## Technologies\n* .NET Core 3.0\n* ASP.NET Core 3.0\n## License\nThis project is licensed under the MIT License - see the [LICENSE.md](https://github.com/CanerPatir/aspnet-core-clean-arch/blob/master/LICENSE) file for details.\n## References\n* https://herbertograca.com/2017/11/16/explicit-architecture-01-ddd-hexagonal-onion-clean-cqrs-how-i-put-it-all-together/\n* https://blog.ploeh.dk/2013/12/03/layers-onions-ports-adapters-its-all-the-same/","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcanerpatir%2Faspnet-core-clean-arch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcanerpatir%2Faspnet-core-clean-arch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcanerpatir%2Faspnet-core-clean-arch/lists"}