Skip to content

Commit 756cb3d

Browse files
committed
Merge branch 'master' into dev
# Conflicts: # src/Mobile/eShopOnContainers/eShopOnContainers.Core/eShopOnContainers.Core.csproj # src/Services/Catalog/Catalog.API/Startup.cs # src/Services/Ordering/Ordering.API/Infrastructure/AutofacModules/MediatorModule.cs # src/Web/WebMVC/Startup.cs
2 parents 70fc4c9 + d934185 commit 756cb3d

58 files changed

Lines changed: 455 additions & 461 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,15 @@ Sample .NET Core reference application, powered by Microsoft, based on a simplif
1414
**Architecture overview**: This reference application is cross-platform either at the server and client side, thanks to .NET Core services capable of running on Linux or Windows containers depending on your Docker host, and to Xamarin for mobile apps running on Android, iOS or Windows/UWP plus any browser for the client web apps.
1515
The architecture proposes a simplified microservice oriented architecture implementation with multiple autonomous microservices (each one owning its own data/db) and implementing different approaches within each microservice (simple CRUD vs. DDD/CQRS patterns) using Http as the current communication protocol.
1616
<p>
17-
The plan is to add asynchronous communication for data updates propagation across multiple services based on integration events and an event bus plus other features defined at the <a href='https://github.com/dotnet/eShopOnContainers/wiki/01.-Roadmap-and-Milestones-for-future-releases'>roadmap</a>.
17+
It also supports asynchronous communication for data updates propagation across multiple services based on Integration Events and an Event Bus plus other features defined at the <a href='https://github.com/dotnet/eShopOnContainers/wiki/01.-Roadmap-and-Milestones-for-future-releases'>roadmap</a>.
1818
<p>
1919
<img src="img/eshop_logo.png">
2020
<img src="img/eShopOnContainers_Architecture_Diagram.png">
2121
<p>
22+
The microservices are different in type, meaning different internal architecture patterns approaches depending on it purpose, as shown in the image below.
23+
<p>
24+
<img src="img/eShopOnContainers_Types_Of_Microservices.png">
25+
<p>
2226
<p>
2327
Additional miroservice styles with other frameworks and No-SQL databases will be added, eventually. This is a great opportunity for pull requests from the community, like a new microservice using Nancy, or even other languages like Node, Go, Python or data containers with MongoDB with Azure DocDB compatibility, PostgreSQL, RavenDB, Event Store, MySql, etc. You name it! :)
2428

@@ -30,15 +34,14 @@ Additional miroservice styles with other frameworks and No-SQL databases will be
3034
## Related documentation and guidance
3135
While developing this reference application, we are creating a reference Guide/eBook named <b>"Architecting and Developing Containerized and Microservice based .NET Applications"</b> which explains in detail how to develop this kind of architectural style (microservices, Docker containers, Domain-Driven Design for certain microservices) plus other simpler architectural styles, like monolithic apps that can also live as Docker containers.
3236
<p>
33-
There's also an additional eBook focusing on Containers/Docker lifecycle (DevOps, CI/CD, etc.) with Microsoft Tools, already published.
34-
You can start reviewing these Guides/eBooks here:
37+
There are also additional eBooks focusing on Containers/Docker lifecycle (DevOps, CI/CD, etc.) with Microsoft Tools, already published plus an additional eBook focusing on Enterprise Apps Patterns with Xamarin.Forms.
38+
You can download them and start reviewing these Guides/eBooks here:
3539
<p>
36-
You can download both eBooks from here:
3740

38-
| Architecting & Developing | Containers Lifecycle & CI/CD |
39-
| ------------ | ------------|
40-
| <a href='docs/architecting-and-developing-containerized-and-microservice-based-net-applications-ebook-early-draft.pdf'><img src="img/ebook_arch_dev_microservices_containers_cover.png"> </a> | <a href='https://aka.ms/dockerlifecycleebook'> <img src="img/ebook_containers_lifecycle.png"> </a> |
41-
| <a href='docs/architecting-and-developing-containerized-and-microservice-based-net-applications-ebook-early-draft.pdf'>**Download** (Early DRAFT, still work in progress)</a> | <a href='https://aka.ms/dockerlifecycleebook'>**Download** - First Edition from late 2016</a> |
41+
| Architecting & Developing | Containers Lifecycle & CI/CD | App patterns with Xamarin.Forms |
42+
| ------------ | ------------| ------------|
43+
| <a href='https://aka.ms/microservicesebook'><img src="img/ebook_arch_dev_microservices_containers_cover.png"> </a> | <a href='https://aka.ms/dockerlifecycleebook'> <img src="img/ebook_containers_lifecycle.png"> </a> | <a href='https://aka.ms/xamarinpatternsebook'> <img src="img/xamarin-enterprise-patterns-ebook-cover-small.png"> </a> |
44+
| <sup> <a href='https://aka.ms/microservicesebook'>**Download** (Early DRAFT, still work in progress)</a> </sup> | <sup> <a href='https://aka.ms/dockerlifecycleebook'>**Download** (First Edition from late 2016) </a> </sup> | <sup> <a href='https://aka.ms/xamarinpatternsebook'>**Download** (Early DRAFT, still work in progress) </a> </sup> |
4245

4346
Send feedback to [cesardl@microsoft.com](cesardl@microsoft.com)
4447
<p>
@@ -89,7 +92,7 @@ The app was also partially tested on "Docker for Mac" using a development MacOS
8992

9093
## Sending feedback and pull requests
9194
As mentioned, we'd appreciate to your feedback, improvements and ideas.
92-
You can create new issues at the issues section, do pull requests and/or send emails to eshop_feedback@service.microsoft.com
95+
You can create new issues at the issues section, do pull requests and/or send emails to **eshop_feedback@service.microsoft.com**
9396

9497
## Questions
9598
[QUESTION] Answer +1 if the solution is working for you (Through VS2017 or CLI environment):

docker-compose.override.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ services:
4545
- ASPNETCORE_URLS=http://0.0.0.0:5102
4646
- ConnectionString=Server=sql.data;Database=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;Password=Pass@word
4747
- identityUrl=http://identity.api:5105 #Local: You need to open your local dev-machine firewall at range 5100-5105. at range 5100-5105.
48+
- BasketUrl=http://basket.api:5103
4849
- EventBusConnection=rabbitmq
4950
ports:
5051
- "5102:5102"

docker-compose.prod.yml

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ services:
1919
- ASPNETCORE_URLS=http://0.0.0.0:5103
2020
- ConnectionString=basket.data
2121
- identityUrl=http://identity.api:5105 #Local: You need to open your host's firewall at range 5100-5105. at range 5100-5105.
22+
- EventBusConnection=rabbitmq
2223
ports:
2324
- "5103:5103"
2425

@@ -28,6 +29,7 @@ services:
2829
- ASPNETCORE_URLS=http://0.0.0.0:5101
2930
- ConnectionString=Server=sql.data;Database=Microsoft.eShopOnContainers.Services.CatalogDb;User Id=sa;Password=Pass@word
3031
- ExternalCatalogBaseUrl=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5101 #Local: You need to open your host's firewall at range 5100-5105. at range 5100-5105.
32+
- EventBusConnection=rabbitmq
3133
ports:
3234
- "5101:5101"
3335

@@ -48,6 +50,8 @@ services:
4850
- ASPNETCORE_URLS=http://0.0.0.0:5102
4951
- ConnectionString=Server=sql.data;Database=Microsoft.eShopOnContainers.Services.OrderingDb;User Id=sa;Password=Pass@word
5052
- identityUrl=http://identity.api:5105 #Local: You need to open your host's firewall at range 5100-5105. at range 5100-5105.
53+
- BasketUrl=http://basket.api:5103
54+
- EventBusConnection=rabbitmq
5155
ports:
5256
- "5102:5102"
5357

@@ -82,10 +86,13 @@ services:
8286

8387
webstatus:
8488
environment:
85-
- ASPNETCORE_ENVIRONMENT=Development
89+
- ASPNETCORE_ENVIRONMENT=Production
90+
- ASPNETCORE_URLS=http://0.0.0.0:5107
8691
- CatalogUrl=http://catalog.api:5101/hc
8792
- OrderingUrl=http://ordering.api:5102/hc
8893
- BasketUrl=http://basket.api:5103/hc
89-
- IdentityUrl=http://10.0.75.1:5105/hc
94+
- mvc=http://webmvc:5100/hc
95+
- spa=http://webspa:5104/hc
96+
- IdentityUrl=http://${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}:5105 #Local: Use ${ESHOP_PROD_EXTERNAL_DNS_NAME_OR_IP}, if using external IP or DNS name from browser.
9097
ports:
91-
- "5107:5107"
98+
- "5107:5107"

docs/Developing-Enterprise-Mobile-Applications-with-XamarinForms.pdf renamed to docs/Enterprise-Application-Patterns-using-XamarinForms.pdf

1.03 MB
Binary file not shown.
-22 KB
Loading
427 KB
Loading
156 KB
Loading
-30.2 KB
Binary file not shown.
28.2 KB
Loading

0 commit comments

Comments
 (0)