{"id":18896653,"url":"https://github.com/otaviovb/ovb.demos.ecommerce","last_synced_at":"2025-04-15T02:36:27.125Z","repository":{"id":63781822,"uuid":"570322356","full_name":"OtavioVB/OVB.Demos.Ecommerce","owner":"OtavioVB","description":"Desenvolvendo um Ecommerce como forma de traçar metas de estudos","archived":true,"fork":false,"pushed_at":"2023-04-17T21:01:54.000Z","size":1511,"stargazers_count":7,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-06T16:20:03.844Z","etag":null,"topics":["aspnet","cart","csharp","designpatterns","dotnet","e-commerce","ecommerce","microsservices","shop","shopping-cart"],"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/OtavioVB.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":"2022-11-24T22:30:41.000Z","updated_at":"2023-08-07T00:51:39.000Z","dependencies_parsed_at":"2024-11-08T08:49:16.590Z","dependency_job_id":null,"html_url":"https://github.com/OtavioVB/OVB.Demos.Ecommerce","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OtavioVB%2FOVB.Demos.Ecommerce","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OtavioVB%2FOVB.Demos.Ecommerce/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OtavioVB%2FOVB.Demos.Ecommerce/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OtavioVB%2FOVB.Demos.Ecommerce/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OtavioVB","download_url":"https://codeload.github.com/OtavioVB/OVB.Demos.Ecommerce/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248995092,"owners_count":21195495,"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":["aspnet","cart","csharp","designpatterns","dotnet","e-commerce","ecommerce","microsservices","shop","shopping-cart"],"created_at":"2024-11-08T08:34:53.068Z","updated_at":"2025-04-15T02:36:26.364Z","avatar_url":"https://github.com/OtavioVB.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 👋 Sobre o Autor\n\nO autor, [Otávio Villas Boas Simoncini Carmanini](https://www.linkedin.com/in/otaviovillasboassimoncinicarmanini/), buscou criar esse repositório para reproduzir os conhecimentos adquiridos ao longo do seu processo de desenvolvimento, assim como, aplicar discussões e trade-off's discutidos em mentorias coordenadas por [Marcelo Castelo Branco](https://www.linkedin.com/in/marcelocastelobranco/). Vale lembrar, que esse repositório, busca esclarecer o máximo de questões possíveis que podem ocorrer acerca do projeto de desenvolvimento, de modo que tenha um **caráter analítico** quanto a modelagem dos dados, a componentização dos microsserviços, o uso de certos padrões e suas relações com requisitos funcionais e não funcionais.\n\nDesse modo, ao longo dessa wiki, buscarei colocar diferentes pontos de vistas e soluções para o mesmo problema, assim como, obter dados factuais para a escolha de certos processos de não funcionais.\n\n\n# 📌 Objetivo do Projeto\n\nO **objetivo** desse projeto é aplicar os principais conceitos utilizados em conjunto a arquitetura de microsserviços, como forma de compreender e visar os reais motivos para utilização de cada padrão a fim de entender quais são suas consequências e o que elas tem de oferecer de melhor. Vale ressaltar, que a ideia é explicar **O que**, o **Porquê**, a **Finalidade** e a **Consequência**.\n\n# ⚙️ Como rodar o projeto\n\n## Pré-Requisitos\n- .NET 7 SDK Instalado.\n- Docker instalado.\n- Conhecimento básicos de Docker e C#/.NET\n\n## Executando\n\nPara rodar o projeto, primeramente, é necessário `que você clone o projeto na sua máquina para assim conseguir rodar as dependências externas e as aplicações:\n\n```\ngit clone https://github.com/otaviovb/ovb.demos.ecommerce\n```\n\nApós rodar o projeto, entre na pasta da solução:\n\n```\ncd OVB.Demos.Ecommerce\n```\n\nCom a pasta da solução em aberto, comece executando o **Docker Compose** para implantação das dependências necessárias:\n\n```\ndocker compose up -d\n```\n\n# 🧑‍🤝‍🧑 Autor\n\n[Otávio Villas Boas Simoncini Carmanini](https://www.linkedin.com/in/otaviovillasboassimoncinicarmanini/)\n\n## Tecnologias Utilizadas\n- ASP. NET Core 7\n- .NET 7\n- Entity Framework Core 7\n- Postgree SQL\n- Postgree Admin\n- Open Telemetry\n- Jaeger\n- Prometheus\n- RabbitMq\n- Docker/Docker-Compose\n- gRPC\n\n## Conceitos Aplicados\n- MultTenant\n- Repository Pattern\n- Adapter Pattern\n- Notification Pattern\n- Builder Pattern\n- Unit Of Work Pattern\n- Singleton Pattern\n- Command Handler Pattern\n- Command Pattern\n- Database Transactions\n- Microsservices Architecture\n- Architecture in Layers\n- Rich Domain\n- Orchestration Services\n- Choreography Services\n- SOLID Principles\n- Dependency Injection\n- Async Operations\n- Continuous Deployment/Continuous Integration\n- Data Pagination\n- Api Versioning\n- Messenger\n- Health Checks\n- Eventual Consistency\n- Command Query Responsability Segregation (CQRS)\n- Retry Pattern\n- Resilience Policies\n- Circuit Breaker Pattern\n- Protobuf Binary Serialization (Faster than JsonSerializer or other libraries)\n- Worker Services\n- gRPC Communication Services\n- Observability: Trace\n- Observability: Metrics\n- Open Telemetry Collector Agent\n- Api Gateway\n- Domain Driven Design\n- Unit Tests\n- Integration Test","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fotaviovb%2Fovb.demos.ecommerce","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fotaviovb%2Fovb.demos.ecommerce","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fotaviovb%2Fovb.demos.ecommerce/lists"}