Skip to content

Commit

Permalink
Merge pull request #16 from meysamhadeli/feat/replace-postgres-instea…
Browse files Browse the repository at this point in the history
…d-of-sql

feat: Replace postgres instead of sql for database level.
  • Loading branch information
meysamhadeli authored Sep 2, 2024
2 parents a0e372e + 616349e commit 6145b5f
Show file tree
Hide file tree
Showing 72 changed files with 720 additions and 950 deletions.
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -432,4 +432,7 @@ fabric.properties
*.sln.iml

# Tye
.tye/
.tye/

# Jwk
*.jwk
10 changes: 4 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
</div>
</div>

> 🚀 **A practical and imaginary Modular Monolith for implementing an infrastructure for up and running Modular system with the latest technology and architecture like Vertical Slice Architecture, Event Sourcing, CQRS, DDD, gRpc, MongoDB and Cap in .Net 8.**
> 🚀 **A practical and imaginary Modular Monolith for implementing an infrastructure for up and running Modular system with the latest technology and architecture like Vertical Slice Architecture, Event Driven Architecture, CQRS, DDD, gRpc and Cap in .Net 8.**
> 💡 **This project is not business-oriented and most of my focus was in the thechnical part for implement a Modular system with a sample project. In this project I implemented some concept in Modular Monolith like Inmemory Broker, Tracing, Event Driven Architecture, Vertical Slice Architecture, Event Sourcing, CQRS, DDD and gRpc.**
> 💡 **This project is not business-oriented and most of my focus was in the thechnical part for implement a Modular system with a sample project. In this project I implemented some concept in Modular Monolith like Inmemory Broker, Tracing, Event Driven Architecture, Vertical Slice Architecture, CQRS, DDD and gRpc.**
<a href="https://gitpod.io/#https://github.com/meysamhadeli/booking-modular-monolith"><img alt="Open in Gitpod" src="https://gitpod.io/button/open-in-gitpod.svg"/></a>

Expand Down Expand Up @@ -40,8 +40,7 @@
- :sparkle: Using `Inbox Pattern` on top of `Cap` for ensuring message idempotency for receiver and `Exactly once Delivery`.
- :sparkle: Using `Outbox Pattern` on top of `Cap` for ensuring no message is lost and there is at `Least One Delivery`.
- :sparkle: Using `CQRS` implementation with `MediatR` library.
- :sparkle: Using `SqlServer` for database in our modules.
- :sparkle: Using `Event Store` for `write side` of Booking-Module to store all `historical state` of aggregate.
- :sparkle: Using `Postgres` for database level in our modules.
- :sparkle: Using `Unit Testing`, `Integration Testing` for testing level.
- :sparkle: Using `Fluent Validation` and a `Validation Pipeline Behaviour` on top of `MediatR`.
- :sparkle: Using `Docker-Compose` and `Kubernetes` for our deployment mechanism.
Expand Down Expand Up @@ -84,7 +83,6 @@ High-level plan is represented in the table
- ✔️ **[`Hellang.Middleware.ProblemDetails`](https://github.com/khellang/Middleware/tree/master/src/ProblemDetails)** - A middleware for handling exception in .Net Core
- ✔️ **[`IdGen`](https://github.com/RobThree/IdGen)** - Twitter Snowflake-alike ID generator for .Net
- ✔️ **[`MagicOnion`](https://github.com/Cysharp/MagicOnion)** - gRPC based HTTP/2 RPC Streaming Framework for .NET, .NET Core and Unity.
- ✔️ **[`EventStore`](https://github.com/EventStore/EventStore)** - The open-source, functional database with Complex Event Processing.

## The Domain And Bounded Context - Service Boundary

Expand All @@ -100,7 +98,7 @@ High-level plan is represented in the table

> Note: We don't have separated API project for each module because they are not microervice and shouldn't host separately, so for hosting all modules, we just use one Api project.
![](./assets/modular-monolith-diagram.jpg)
![](./assets/modular-monolith-diagram.png)

## Structure of Project

Expand Down
113 changes: 112 additions & 1 deletion assets/modular-monolith-diagram.drawio
Original file line number Diff line number Diff line change
@@ -1 +1,112 @@
<mxfile host="Electron" modified="2022-08-07T11:52:05.038Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/19.0.2 Chrome/102.0.5005.63 Electron/19.0.3 Safari/537.36" etag="ioO9YnprGQt2y5ZIrkWm" version="19.0.2" type="device"><diagram id="clC8QdsPTIHRsGUD1VUs" name="Page-1">7Vtdc6o4GP41XuokJIBc1rZ2u3M62xnPnHP2agchVVo0Nkar++s3gYCQ4Lf4sXPwouTlTQh5nuR589EGuh8tnpg/Gb7QkMQNC4SLBnpoWJbVbkPxR1qWqQVaFk4tAxaFyrYy9KJ/iTICZZ1FIZmWHDmlMY8mZWNAx2MS8JLNZ4x+ld3eaFx+68QfEMPQC/zYtP6MQj5MrW0brOx/kGgwzN4MgXoy8jNnZZgO/ZB+FUzosYHuGaU8vRst7kksWy9rlzRfd83TvGKMjPkuGV7++WS910/7vvdE7bj55+tw/ty0VTFzP56pL1a15cusCRidjUMiSwEN1PkaRpz0Jn4gn34J1IVtyEexSEFxm3+l9B3E/nSq7mO/T+KOH3wMkvLuaUyZeDSmYyKzfRAeDFUZb1Ec99T7/Rmn0kTHXJHDkqVRUYGIS1LZMjnljH4QrUyzgbKPJYyTRcGkGuyJ0BHhbClc1NMmUuAp+mZYfq2o4GFlGxZo4HjK6Cv6DfKiVwiJGwXSHoBZjoEPCQVjVZIyPqQDOvbjx5W1E8zYPAFQtm4ZzlWGb5ROlMs74XypmlsBUIBYNCdb/pL5W3aW/FsVlyQeFqXUsph6JSwSLUGYMurAynSGY8NC8E7+NoE5pTMWkE0tlvrJVtoIOSOxz6N5ud9X4aeyvtJIVCWnCrTKVMFIowD32YBwlUtjQV6Nw4mB0QHEOA594MIS/i0A7Do5MBVNyO/koC4eBHJsiYLM3I3irIahPx3mbC9RvzxMiKI7tou8h/xJNsJbpyBcivcGPwRrYaZoIH9ZcJhIxk03EBdrxAWajmj+Fsab/MVNWoOTstuqkCkn5oosif5noDqfMympHckcX/6KpkL3yIyygOY0od+dcBCYLxLXVSZnoP4mL+xXlmL6d+NEDywgoqKZ8FbZxef39SKFLf2MzLxWgeF2BS70JugqNS1QPmwD4CKzl70lV1UnubMBwEAXaU2BTyG2UBNb11TbPC4sqW1tYtv+Lbb7jX3oPGJra3EZxmcWW3xxYtQpmqYarlfOtVypmwNY0yFHBB+7cMAkU/ZuVRDSI7eU9UZB+wqt/h4M7Y310j9Q869HaJEhtM+hQFaO9CslO5E8pbzdTZ4KfD5EnpK3qhpXzJz31irsXJ1WuTczJB0uL/g8Qwu69FwO3gyWh8vLkdOw2jmArYNUwRzGUbmgXXVqX3nRK7xVXtBx/tl31CpH2JCjV0ExMh6ImPam9KgsQEV9ck40fRJXy95BlOxzipJ38YHsxiZQCp2ti0dZbHG6YfAooPHtRB8FQnjYK1KiCVrAcQ/hRd2TLG1QCgJiJ2s1F1NH23NawAP5VZ7ZOMBtee2dVM4o2YWuprvWTrq7r1zq78HA2lgv8cWb/OuRP9uQvw6lH9F4UJf4aSp1nsnZCcQv33DbJH3gnPMxeMja4cXUTl803rxt4oir2z1K55wddc66KpmDtxvP6AhfEtSTT+OPC1LBNYGKkdsob6pa3hZot4WqF8f75LsCx+F9VasrFwfHvipwHCPi0TZ6D9nA3XV32NjoTQ13k+hadm9h34fEnCuE5M2fJZUpxVlrD2Ot2/utOHl1+lgN2uVYrW2GanbloaraQjVgkO5xThJEUyKwDNsep4w8mBCLhp7I22AZRwJrhrYD3U9Z8a2fG/KzcX/NuCgmi8Gnig32/vE6tB6Q7dQffbtQXy/3DEjbFetOENYFaXa2pmIcyfvv8/iFjGjyHR3ZmVh1Jz+mN5/pNKQhH8hBHgpNQnTFZTm1cCBfWMzWAKDZrXFdO2I/YtLxfr4/zZ+/v7+8L2c/vo9w06RA7zP+H3ZdA6MKJNfC1tZ7rnW+nluJmvUbtR06mwGbc2HYzHMDv2EzTw14a44t1QCbSK7+tyBdj1z9iwZ6/A8=</diagram></mxfile>
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36" version="24.7.10">
<diagram id="clC8QdsPTIHRsGUD1VUs" name="Page-1">
<mxGraphModel dx="2537" dy="908" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="M_qrSPq5CSGo5l-JPhvI-51" value="" style="rounded=0;whiteSpace=wrap;html=1;shadow=0;glass=0;labelBackgroundColor=none;sketch=1;fillStyle=auto;fontSize=20;opacity=50;strokeColor=none;" parent="1" vertex="1">
<mxGeometry x="-30" y="20" width="940" height="690" as="geometry" />
</mxCell>
<mxCell id="M_qrSPq5CSGo5l-JPhvI-26" style="edgeStyle=orthogonalEdgeStyle;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=20;fontColor=#1A1A1A;entryX=0.567;entryY=-0.025;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="M_qrSPq5CSGo5l-JPhvI-2" target="ZrOXXM6fzs_e_1bx1SVP-4" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="120" y="430" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="M_qrSPq5CSGo5l-JPhvI-43" style="edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.071;entryY=0.005;entryDx=0;entryDy=0;entryPerimeter=0;fontSize=20;fontColor=#1A1A1A;startArrow=classic;startFill=1;dashed=1;curved=1;strokeColor=#B5739D;strokeWidth=2;" parent="1" source="M_qrSPq5CSGo5l-JPhvI-2" target="M_qrSPq5CSGo5l-JPhvI-31" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="140" y="400" />
<mxPoint x="244" y="400" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="M_qrSPq5CSGo5l-JPhvI-2" value="&lt;font color=&quot;#1a1a1a&quot; style=&quot;font-size: 20px;&quot;&gt;&lt;b style=&quot;&quot;&gt;Flight Module&lt;/b&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=17;fillColor=#d80073;fontColor=#ffffff;strokeColor=#A50040;sketch=1;opacity=50;" parent="1" vertex="1">
<mxGeometry x="-10" y="270" width="210" height="60" as="geometry" />
</mxCell>
<mxCell id="M_qrSPq5CSGo5l-JPhvI-28" style="edgeStyle=orthogonalEdgeStyle;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;fontSize=20;fontColor=#1A1A1A;" parent="1" source="M_qrSPq5CSGo5l-JPhvI-3" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="530" y="440" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="M_qrSPq5CSGo5l-JPhvI-44" style="edgeStyle=orthogonalEdgeStyle;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=20;fontColor=#1A1A1A;startArrow=classic;startFill=1;dashed=1;strokeWidth=2;strokeColor=#B5739D;" parent="1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="444" y="605" as="targetPoint" />
<mxPoint x="521" y="330" as="sourcePoint" />
<Array as="points">
<mxPoint x="521" y="415" />
<mxPoint x="444" y="415" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="M_qrSPq5CSGo5l-JPhvI-3" value="Identity Module" style="rounded=1;whiteSpace=wrap;html=1;fontSize=20;fillColor=#d80073;fontColor=#1A1A1A;strokeColor=#A50040;sketch=1;opacity=50;fontStyle=1" parent="1" vertex="1">
<mxGeometry x="460" y="270" width="210" height="60" as="geometry" />
</mxCell>
<mxCell id="M_qrSPq5CSGo5l-JPhvI-27" style="edgeStyle=orthogonalEdgeStyle;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=20;fontColor=#1A1A1A;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="M_qrSPq5CSGo5l-JPhvI-4" target="ZrOXXM6fzs_e_1bx1SVP-2" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="320" y="430" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="M_qrSPq5CSGo5l-JPhvI-41" style="edgeStyle=orthogonalEdgeStyle;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=20;fontColor=#1A1A1A;startArrow=classic;startFill=1;dashed=1;strokeColor=#B5739D;strokeWidth=2;" parent="1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="342" y="330" as="sourcePoint" />
<mxPoint x="432" y="605" as="targetPoint" />
<Array as="points">
<mxPoint x="342" y="415" />
<mxPoint x="432" y="415" />
<mxPoint x="432" y="605" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="M_qrSPq5CSGo5l-JPhvI-4" value="Passenger Module" style="rounded=1;whiteSpace=wrap;html=1;fontSize=20;fillColor=#d80073;fontColor=#1A1A1A;strokeColor=#A50040;sketch=1;fontStyle=1;opacity=60;" parent="1" vertex="1">
<mxGeometry x="222.5" y="270" width="215" height="60" as="geometry" />
</mxCell>
<mxCell id="M_qrSPq5CSGo5l-JPhvI-29" style="edgeStyle=orthogonalEdgeStyle;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;fontSize=20;fontColor=#1A1A1A;" parent="1" source="M_qrSPq5CSGo5l-JPhvI-5" target="M_qrSPq5CSGo5l-JPhvI-10" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="M_qrSPq5CSGo5l-JPhvI-47" style="edgeStyle=orthogonalEdgeStyle;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=20;fontColor=#1A1A1A;entryX=0.949;entryY=-0.067;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;dashed=1;strokeWidth=2;strokeColor=#B5739D;fillColor=#cce5ff;" parent="1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="596.0900000000001" y="607.98" as="targetPoint" />
<mxPoint x="717" y="332" as="sourcePoint" />
<Array as="points">
<mxPoint x="717" y="402" />
<mxPoint x="596" y="402" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="M_qrSPq5CSGo5l-JPhvI-5" value="Booking Module" style="rounded=1;whiteSpace=wrap;html=1;fontSize=20;fontStyle=1;fillColor=#d80073;fontColor=#1A1A1A;strokeColor=#A50040;sketch=1;opacity=50;" parent="1" vertex="1">
<mxGeometry x="690" y="270" width="200" height="60" as="geometry" />
</mxCell>
<mxCell id="M_qrSPq5CSGo5l-JPhvI-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontSize=17;curved=1;strokeColor=#6666FF;" parent="1" source="M_qrSPq5CSGo5l-JPhvI-6" target="M_qrSPq5CSGo5l-JPhvI-2" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="M_qrSPq5CSGo5l-JPhvI-19" style="edgeStyle=orthogonalEdgeStyle;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fontSize=17;strokeColor=#6666FF;" parent="1" source="M_qrSPq5CSGo5l-JPhvI-6" target="M_qrSPq5CSGo5l-JPhvI-4" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="M_qrSPq5CSGo5l-JPhvI-20" style="edgeStyle=orthogonalEdgeStyle;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.437;entryY=0.029;entryDx=0;entryDy=0;entryPerimeter=0;fontSize=17;strokeColor=#6666FF;" parent="1" source="M_qrSPq5CSGo5l-JPhvI-6" target="M_qrSPq5CSGo5l-JPhvI-3" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="M_qrSPq5CSGo5l-JPhvI-21" style="edgeStyle=orthogonalEdgeStyle;curved=1;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=17;strokeColor=#6666FF;" parent="1" source="M_qrSPq5CSGo5l-JPhvI-6" target="M_qrSPq5CSGo5l-JPhvI-5" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="M_qrSPq5CSGo5l-JPhvI-6" value="&lt;font style=&quot;font-size: 20px;&quot; color=&quot;#1a1a1a&quot;&gt;&lt;b&gt;Api&lt;/b&gt;&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fontSize=17;fillColor=#1ba1e2;strokeColor=default;sketch=1;shadow=0;glass=0;fontColor=#ffffff;fillStyle=auto;opacity=50;" parent="1" vertex="1">
<mxGeometry x="150" y="80" width="540" height="60" as="geometry" />
</mxCell>
<mxCell id="M_qrSPq5CSGo5l-JPhvI-10" value="Event&lt;div&gt;Store&lt;/div&gt;" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;fontSize=20;fontStyle=1;fillColor=#12D356;sketch=1;opacity=50;" parent="1" vertex="1">
<mxGeometry x="710" y="439" width="90" height="111" as="geometry" />
</mxCell>
<mxCell id="M_qrSPq5CSGo5l-JPhvI-31" value="&lt;b&gt;InMemory Broker&lt;/b&gt;" style="rounded=1;whiteSpace=wrap;html=1;shadow=0;glass=0;labelBackgroundColor=none;sketch=1;fillStyle=auto;fontSize=20;strokeColor=#36393d;fillColor=#FFFF26;opacity=50;" parent="1" vertex="1">
<mxGeometry x="215" y="610" width="410" height="60" as="geometry" />
</mxCell>
<mxCell id="ZrOXXM6fzs_e_1bx1SVP-1" value="Postgres" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;fontSize=20;fontStyle=1;fillColor=#12D356;sketch=1;opacity=50;" parent="1" vertex="1">
<mxGeometry x="490" y="439" width="90" height="111" as="geometry" />
</mxCell>
<mxCell id="ZrOXXM6fzs_e_1bx1SVP-2" value="Postgres" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;fontSize=20;fontStyle=1;fillColor=#12D356;sketch=1;opacity=50;" parent="1" vertex="1">
<mxGeometry x="280" y="439" width="90" height="111" as="geometry" />
</mxCell>
<mxCell id="ZrOXXM6fzs_e_1bx1SVP-4" value="Postgres" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;fontSize=20;fontStyle=1;fillColor=#12D356;sketch=1;opacity=50;" parent="1" vertex="1">
<mxGeometry x="70" y="439" width="90" height="111" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>
Binary file removed assets/modular-monolith-diagram.jpg
Binary file not shown.
Binary file added assets/modular-monolith-diagram.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
34 changes: 20 additions & 14 deletions deployments/docker-compose/infrastracture.yaml
Original file line number Diff line number Diff line change
@@ -1,20 +1,26 @@
version: "3.3"
services:

#######################################################
# SqlServer
#######################################################
db:
container_name: sqldb
image: mcr.microsoft.com/mssql/server
restart: unless-stopped
ports:
- "1433:1433"
environment:
SA_PASSWORD: "@Aa123456"
ACCEPT_EULA: "Y"
networks:
- booking
#######################################################
# Postgres
######################################################
postgres:
image: postgres:latest
container_name: postgres
restart: unless-stopped
ports:
- '5432:5432'
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
command:
- "postgres"
- "-c"
- "wal_level=logical"
- "-c"
- "max_prepared_transactions=10"
networks:
- booking


#######################################################
Expand Down
9 changes: 4 additions & 5 deletions src/Api/src/Program.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
using System.Reflection;
using Booking;
using BuildingBlocks.CAP;
using BuildingBlocks.Domain;
Expand Down Expand Up @@ -69,10 +68,10 @@
app.UseAuthorization();
app.UseHttpsRedirection();

app.UseFlightModules();
app.UsePassengerModules();
app.UseBookingModules();
app.UseIdentityModules();
app.UseFlightModules(env);
app.UsePassengerModules(env);
app.UseBookingModules(env);
app.UseIdentityModules(env);

app.UseProblemDetails();

Expand Down
17 changes: 10 additions & 7 deletions src/Api/src/appsettings.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,16 @@
}
},
"ConnectionStrings": {
"Booking": "Server=.\\sqlexpress;Database=BookingDB-Monolith;Trusted_Connection=True;MultipleActiveResultSets=true",
"Flight": "Server=.\\sqlexpress;Database=FlightDB-Monolith;Trusted_Connection=True;MultipleActiveResultSets=true",
"Passenger":"Server=.\\sqlexpress;Database=PassengerDB-Monolith;Trusted_Connection=True;MultipleActiveResultSets=true",
"Identity": "Server=.\\sqlexpress;Database=IdentityDB-Monolith;Trusted_Connection=True;MultipleActiveResultSets=true"
"Passenger":"Server=localhost;Port=5432;Database=passenger_db;User Id=postgres;Password=postgres;Include Error Detail=true",
"Identity": "Server=localhost;Port=5432;Database=identity_db;User Id=postgres;Password=postgres;Include Error Detail=true",
"Flight": "Server=localhost;Port=5432;Database=flight_db;User Id=postgres;Password=postgres;Include Error Detail=true"
},
"EventStore": {
"ConnectionString": "esdb://localhost:2113?tls=false"
},
"MongoOptions": {
"ConnectionString": "mongodb://localhost:27017",
"DatabaseName": "booking-db"
},
"Jwt": {
"Authority": "https://localhost:5000",
Expand All @@ -35,9 +41,6 @@
"FlightAddress": "https://localhost:5000",
"PassengerAddress": "https://localhost:5000"
},
"EventStore": {
"ConnectionString": "esdb://localhost:2113?tls=false"
},
"PersistMessageOptions": {
"Interval": 30,
"Enabled": true
Expand Down
Loading

0 comments on commit 6145b5f

Please sign in to comment.