{"id":17965871,"url":"https://github.com/m-polo/shopping-center","last_synced_at":"2026-05-03T18:33:07.845Z","repository":{"id":259459078,"uuid":"877875691","full_name":"m-polo/shopping-center","owner":"m-polo","description":"Dockerized .NET minimal API implementing Clean Architecture principles.","archived":false,"fork":false,"pushed_at":"2024-10-25T14:10:41.000Z","size":34,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-16T13:01:38.494Z","etag":null,"topics":["clean-architecture","docker","docker-compose","ef-core","minimal-api","netcore","postgresql"],"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/m-polo.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-10-24T11:54:33.000Z","updated_at":"2024-10-25T14:10:04.000Z","dependencies_parsed_at":"2024-10-25T17:03:05.199Z","dependency_job_id":"73da0cb2-6561-40d0-9f40-fe6644bd282a","html_url":"https://github.com/m-polo/shopping-center","commit_stats":null,"previous_names":["m-polo/shopping-center"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/m-polo/shopping-center","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m-polo%2Fshopping-center","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m-polo%2Fshopping-center/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m-polo%2Fshopping-center/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m-polo%2Fshopping-center/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/m-polo","download_url":"https://codeload.github.com/m-polo/shopping-center/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m-polo%2Fshopping-center/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32579784,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","docker","docker-compose","ef-core","minimal-api","netcore","postgresql"],"created_at":"2024-10-29T13:05:51.526Z","updated_at":"2026-05-03T18:33:07.826Z","avatar_url":"https://github.com/m-polo.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿# Shopping center\n\nShopping center is an example of API following Clean Architecture principles. \n\nIt includes everything you need, including:\n\n- [.NET Core Minimal API](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis?view=aspnetcore-7.0) for the frontend\n- [Entity Framework](https://learn.microsoft.com/es-es/ef/) as ORM\n- [Swagger](https://swagger.io) for API documentation\n- [PostgreSQL](https://www.postgresql.org/) as database\n- [Docker](https://www.docker.com/) for containerization\n- [Clean Architecture](https://www.typescriptlang.org/) for solution architecture\n\n\n## Using this template\n\nClone the repository:\n\n```sh\ngit clone https://github.com/m-polo/shopping-center.git\n```\n\nStart everything with docker:\n\n```sh\ndocker build\n```\n\n## What's inside?\n\nIt includes the following folder structure:\n\n### Folder Structure\n\n- Business Rules:\n    - BusinessObjects: DTOs, domain entities, enums, interfaces.\n    - UseCases: Interactors to handle requests for every use case.\n\n- Frameworks and Drivers\n    - UIs: Minimal API configuration and endpoints.\n- Interface Adapters:\n    - Contollers: Controllers implementations.\n    - Gateways: ORM definition.\n    - Presenters: Presenters implementations.\n    - IoC: Grouped dependency injections.\n\n\n### Build\n\nTo build solution, run the following command:\n\n```sh\ndotnet build\n```\n\nOr build shopping-center solution manually using Vs.\n\n### Migrations\n\nTo apply migrations to database, run the following command:\n\n```sh\ndotnet ef database update --startup-project Sales.WebApi --project ./Gateways/EFCore.Repositories.csproj --context SalesContext\n```\n\nTo add migrations, run the following command:\n\n```sh\ndotnet ef migrations add \u003cmigrationName\u003e --startup-project Sales.WebApi --project ./Gateways/EFCore.Repositories.csproj --context SalesContext\n```\n\n### Start\n\nTo start API, run the following command:\n\n```sh\ndotnet run -p Sales.WebApi\n```\n\nOr set Sales.WebApi as startup project from VS and run it.\n\n### Build and run API docker image\n\nTo containerize the app, run the following commands:\n\n```sh\ndocker build -f Sales.WebApi/Dockerfile -t shopping-center-api .\ndocker run -p 5000:80 --name shopping-center-api shopping-center-api\n ```\n\n Using docker compose:\n\n ```sh\ndocker compose up --build\n ```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fm-polo%2Fshopping-center","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fm-polo%2Fshopping-center","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fm-polo%2Fshopping-center/lists"}