diff --git a/Blueprint.Platform.slnx b/Blueprint.Platform.slnx new file mode 100644 index 0000000..af30ffd --- /dev/null +++ b/Blueprint.Platform.slnx @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/docs/architecture/package-map.puml b/docs/architecture/package-map.puml new file mode 100644 index 0000000..d13f767 --- /dev/null +++ b/docs/architecture/package-map.puml @@ -0,0 +1,18 @@ +@startuml +skinparam packageStyle rectangle + +package "Core.Blueprint.Common" as Common +package "Core.Blueprint.Logging" as Logging +package "Core.Blueprint.Mongo" as Mongo +package "Core.Blueprint.Redis" as Redis +package "Core.Blueprint.SQLServer" as SqlServer +package "Core.Blueprint.Storage" as Storage +package "Core.Blueprint.KeyVault" as KeyVault + +Logging --> Common +Mongo --> Common +Redis --> Common +SqlServer --> Common +Storage --> Common +KeyVault --> Common +@enduml diff --git a/docs/architecture/platform-boundaries.md b/docs/architecture/platform-boundaries.md new file mode 100644 index 0000000..930c1b6 --- /dev/null +++ b/docs/architecture/platform-boundaries.md @@ -0,0 +1,21 @@ +# Blueprint Platform Boundaries + +This repository is a modular multi-package platform library set. + +## Package Ownership Matrix + +| Package | Responsibility | Depends On | +|---|---|---| +| Core.Blueprint.Common | Shared primitives and cross-cutting contracts | - | +| Core.Blueprint.Logging | Logging abstractions and setup helpers | Core.Blueprint.Common | +| Core.Blueprint.Mongo | Mongo integration helpers and extension points | Core.Blueprint.Common | +| Core.Blueprint.Redis | Redis integration helpers and extension points | Core.Blueprint.Common | +| Core.Blueprint.SQLServer | SQL Server integration helpers and extension points | Core.Blueprint.Common | +| Core.Blueprint.Storage | Blob/file storage integration helpers | Core.Blueprint.Common | +| Core.Blueprint.KeyVault | Key vault access integration helpers | Core.Blueprint.Common | + +## Boundary Rules + +- Blueprint remains library-only. +- Identity abstractions are not owned by this repository. +- Downstream repositories consume package contracts from this repo. diff --git a/docs/consumption/package-usage.md b/docs/consumption/package-usage.md new file mode 100644 index 0000000..eb907aa --- /dev/null +++ b/docs/consumption/package-usage.md @@ -0,0 +1,18 @@ +# Blueprint Package Usage + +## Intended Consumers + +- building-block-inventory +- building-block-catalog +- furniture-dal +- thalos-dal +- furniture-service +- thalos-service +- furniture-bff +- thalos-bff + +## Usage Guidance + +- Reference only required packages per repository layer. +- Prefer package-specific extension methods over direct infrastructure bootstrapping. +- Keep identity abstractions in Thalos repositories. diff --git a/src/Core.Blueprint.Common/Class1.cs b/src/Core.Blueprint.Common/Class1.cs new file mode 100644 index 0000000..737f778 --- /dev/null +++ b/src/Core.Blueprint.Common/Class1.cs @@ -0,0 +1,6 @@ +namespace Core.Blueprint.Common; + +public class Class1 +{ + +} diff --git a/src/Core.Blueprint.Common/Core.Blueprint.Common.csproj b/src/Core.Blueprint.Common/Core.Blueprint.Common.csproj new file mode 100644 index 0000000..b760144 --- /dev/null +++ b/src/Core.Blueprint.Common/Core.Blueprint.Common.csproj @@ -0,0 +1,9 @@ + + + + net10.0 + enable + enable + + + diff --git a/src/Core.Blueprint.KeyVault/Class1.cs b/src/Core.Blueprint.KeyVault/Class1.cs new file mode 100644 index 0000000..f74f0fb --- /dev/null +++ b/src/Core.Blueprint.KeyVault/Class1.cs @@ -0,0 +1,5 @@ +namespace Core.Blueprint.KeyVault; + +public class Class1 +{ +} diff --git a/src/Core.Blueprint.KeyVault/Core.Blueprint.KeyVault.csproj b/src/Core.Blueprint.KeyVault/Core.Blueprint.KeyVault.csproj new file mode 100644 index 0000000..6c3a887 --- /dev/null +++ b/src/Core.Blueprint.KeyVault/Core.Blueprint.KeyVault.csproj @@ -0,0 +1,7 @@ + + + net10.0 + enable + enable + + diff --git a/src/Core.Blueprint.Logging/Class1.cs b/src/Core.Blueprint.Logging/Class1.cs new file mode 100644 index 0000000..c75e4bb --- /dev/null +++ b/src/Core.Blueprint.Logging/Class1.cs @@ -0,0 +1,5 @@ +namespace Core.Blueprint.Logging; + +public class Class1 +{ +} diff --git a/src/Core.Blueprint.Logging/Core.Blueprint.Logging.csproj b/src/Core.Blueprint.Logging/Core.Blueprint.Logging.csproj new file mode 100644 index 0000000..6c3a887 --- /dev/null +++ b/src/Core.Blueprint.Logging/Core.Blueprint.Logging.csproj @@ -0,0 +1,7 @@ + + + net10.0 + enable + enable + + diff --git a/src/Core.Blueprint.Mongo/Class1.cs b/src/Core.Blueprint.Mongo/Class1.cs new file mode 100644 index 0000000..330b480 --- /dev/null +++ b/src/Core.Blueprint.Mongo/Class1.cs @@ -0,0 +1,5 @@ +namespace Core.Blueprint.Mongo; + +public class Class1 +{ +} diff --git a/src/Core.Blueprint.Mongo/Core.Blueprint.Mongo.csproj b/src/Core.Blueprint.Mongo/Core.Blueprint.Mongo.csproj new file mode 100644 index 0000000..6c3a887 --- /dev/null +++ b/src/Core.Blueprint.Mongo/Core.Blueprint.Mongo.csproj @@ -0,0 +1,7 @@ + + + net10.0 + enable + enable + + diff --git a/src/Core.Blueprint.Redis/Class1.cs b/src/Core.Blueprint.Redis/Class1.cs new file mode 100644 index 0000000..58c8ab0 --- /dev/null +++ b/src/Core.Blueprint.Redis/Class1.cs @@ -0,0 +1,5 @@ +namespace Core.Blueprint.Redis; + +public class Class1 +{ +} diff --git a/src/Core.Blueprint.Redis/Core.Blueprint.Redis.csproj b/src/Core.Blueprint.Redis/Core.Blueprint.Redis.csproj new file mode 100644 index 0000000..6c3a887 --- /dev/null +++ b/src/Core.Blueprint.Redis/Core.Blueprint.Redis.csproj @@ -0,0 +1,7 @@ + + + net10.0 + enable + enable + + diff --git a/src/Core.Blueprint.SQLServer/Class1.cs b/src/Core.Blueprint.SQLServer/Class1.cs new file mode 100644 index 0000000..da888e9 --- /dev/null +++ b/src/Core.Blueprint.SQLServer/Class1.cs @@ -0,0 +1,5 @@ +namespace Core.Blueprint.SQLServer; + +public class Class1 +{ +} diff --git a/src/Core.Blueprint.SQLServer/Core.Blueprint.SQLServer.csproj b/src/Core.Blueprint.SQLServer/Core.Blueprint.SQLServer.csproj new file mode 100644 index 0000000..6c3a887 --- /dev/null +++ b/src/Core.Blueprint.SQLServer/Core.Blueprint.SQLServer.csproj @@ -0,0 +1,7 @@ + + + net10.0 + enable + enable + + diff --git a/src/Core.Blueprint.Storage/Class1.cs b/src/Core.Blueprint.Storage/Class1.cs new file mode 100644 index 0000000..f9464ed --- /dev/null +++ b/src/Core.Blueprint.Storage/Class1.cs @@ -0,0 +1,5 @@ +namespace Core.Blueprint.Storage; + +public class Class1 +{ +} diff --git a/src/Core.Blueprint.Storage/Core.Blueprint.Storage.csproj b/src/Core.Blueprint.Storage/Core.Blueprint.Storage.csproj new file mode 100644 index 0000000..6c3a887 --- /dev/null +++ b/src/Core.Blueprint.Storage/Core.Blueprint.Storage.csproj @@ -0,0 +1,7 @@ + + + net10.0 + enable + enable + + diff --git a/tests/Core.Blueprint.Common.UnitTests/Core.Blueprint.Common.UnitTests.csproj b/tests/Core.Blueprint.Common.UnitTests/Core.Blueprint.Common.UnitTests.csproj new file mode 100644 index 0000000..efa4543 --- /dev/null +++ b/tests/Core.Blueprint.Common.UnitTests/Core.Blueprint.Common.UnitTests.csproj @@ -0,0 +1,25 @@ + + + + net10.0 + enable + enable + false + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/Core.Blueprint.Common.UnitTests/UnitTest1.cs b/tests/Core.Blueprint.Common.UnitTests/UnitTest1.cs new file mode 100644 index 0000000..4d100b5 --- /dev/null +++ b/tests/Core.Blueprint.Common.UnitTests/UnitTest1.cs @@ -0,0 +1,10 @@ +namespace Core.Blueprint.Common.UnitTests; + +public class UnitTest1 +{ + [Fact] + public void Test1() + { + + } +} diff --git a/tests/Core.Blueprint.KeyVault.UnitTests/Core.Blueprint.KeyVault.UnitTests.csproj b/tests/Core.Blueprint.KeyVault.UnitTests/Core.Blueprint.KeyVault.UnitTests.csproj new file mode 100644 index 0000000..730d0b1 --- /dev/null +++ b/tests/Core.Blueprint.KeyVault.UnitTests/Core.Blueprint.KeyVault.UnitTests.csproj @@ -0,0 +1,20 @@ + + + net10.0 + enable + enable + false + + + + + + + + + + + + + + diff --git a/tests/Core.Blueprint.KeyVault.UnitTests/UnitTest1.cs b/tests/Core.Blueprint.KeyVault.UnitTests/UnitTest1.cs new file mode 100644 index 0000000..b4b7da7 --- /dev/null +++ b/tests/Core.Blueprint.KeyVault.UnitTests/UnitTest1.cs @@ -0,0 +1,9 @@ +namespace Core.Blueprint.KeyVault.UnitTests; + +public class UnitTest1 +{ + [Fact] + public void Test1() + { + } +} diff --git a/tests/Core.Blueprint.Logging.UnitTests/Core.Blueprint.Logging.UnitTests.csproj b/tests/Core.Blueprint.Logging.UnitTests/Core.Blueprint.Logging.UnitTests.csproj new file mode 100644 index 0000000..eb6ec8d --- /dev/null +++ b/tests/Core.Blueprint.Logging.UnitTests/Core.Blueprint.Logging.UnitTests.csproj @@ -0,0 +1,20 @@ + + + net10.0 + enable + enable + false + + + + + + + + + + + + + + diff --git a/tests/Core.Blueprint.Logging.UnitTests/UnitTest1.cs b/tests/Core.Blueprint.Logging.UnitTests/UnitTest1.cs new file mode 100644 index 0000000..fa1a986 --- /dev/null +++ b/tests/Core.Blueprint.Logging.UnitTests/UnitTest1.cs @@ -0,0 +1,9 @@ +namespace Core.Blueprint.Logging.UnitTests; + +public class UnitTest1 +{ + [Fact] + public void Test1() + { + } +} diff --git a/tests/Core.Blueprint.Mongo.UnitTests/Core.Blueprint.Mongo.UnitTests.csproj b/tests/Core.Blueprint.Mongo.UnitTests/Core.Blueprint.Mongo.UnitTests.csproj new file mode 100644 index 0000000..4c898b9 --- /dev/null +++ b/tests/Core.Blueprint.Mongo.UnitTests/Core.Blueprint.Mongo.UnitTests.csproj @@ -0,0 +1,20 @@ + + + net10.0 + enable + enable + false + + + + + + + + + + + + + + diff --git a/tests/Core.Blueprint.Mongo.UnitTests/UnitTest1.cs b/tests/Core.Blueprint.Mongo.UnitTests/UnitTest1.cs new file mode 100644 index 0000000..96fcb03 --- /dev/null +++ b/tests/Core.Blueprint.Mongo.UnitTests/UnitTest1.cs @@ -0,0 +1,9 @@ +namespace Core.Blueprint.Mongo.UnitTests; + +public class UnitTest1 +{ + [Fact] + public void Test1() + { + } +} diff --git a/tests/Core.Blueprint.Redis.UnitTests/Core.Blueprint.Redis.UnitTests.csproj b/tests/Core.Blueprint.Redis.UnitTests/Core.Blueprint.Redis.UnitTests.csproj new file mode 100644 index 0000000..be997e8 --- /dev/null +++ b/tests/Core.Blueprint.Redis.UnitTests/Core.Blueprint.Redis.UnitTests.csproj @@ -0,0 +1,20 @@ + + + net10.0 + enable + enable + false + + + + + + + + + + + + + + diff --git a/tests/Core.Blueprint.Redis.UnitTests/UnitTest1.cs b/tests/Core.Blueprint.Redis.UnitTests/UnitTest1.cs new file mode 100644 index 0000000..dd3c748 --- /dev/null +++ b/tests/Core.Blueprint.Redis.UnitTests/UnitTest1.cs @@ -0,0 +1,9 @@ +namespace Core.Blueprint.Redis.UnitTests; + +public class UnitTest1 +{ + [Fact] + public void Test1() + { + } +} diff --git a/tests/Core.Blueprint.SQLServer.UnitTests/Core.Blueprint.SQLServer.UnitTests.csproj b/tests/Core.Blueprint.SQLServer.UnitTests/Core.Blueprint.SQLServer.UnitTests.csproj new file mode 100644 index 0000000..b21d6a1 --- /dev/null +++ b/tests/Core.Blueprint.SQLServer.UnitTests/Core.Blueprint.SQLServer.UnitTests.csproj @@ -0,0 +1,20 @@ + + + net10.0 + enable + enable + false + + + + + + + + + + + + + + diff --git a/tests/Core.Blueprint.SQLServer.UnitTests/UnitTest1.cs b/tests/Core.Blueprint.SQLServer.UnitTests/UnitTest1.cs new file mode 100644 index 0000000..cbd7df8 --- /dev/null +++ b/tests/Core.Blueprint.SQLServer.UnitTests/UnitTest1.cs @@ -0,0 +1,9 @@ +namespace Core.Blueprint.SQLServer.UnitTests; + +public class UnitTest1 +{ + [Fact] + public void Test1() + { + } +} diff --git a/tests/Core.Blueprint.Storage.UnitTests/Core.Blueprint.Storage.UnitTests.csproj b/tests/Core.Blueprint.Storage.UnitTests/Core.Blueprint.Storage.UnitTests.csproj new file mode 100644 index 0000000..bbf83fb --- /dev/null +++ b/tests/Core.Blueprint.Storage.UnitTests/Core.Blueprint.Storage.UnitTests.csproj @@ -0,0 +1,20 @@ + + + net10.0 + enable + enable + false + + + + + + + + + + + + + + diff --git a/tests/Core.Blueprint.Storage.UnitTests/UnitTest1.cs b/tests/Core.Blueprint.Storage.UnitTests/UnitTest1.cs new file mode 100644 index 0000000..914aa10 --- /dev/null +++ b/tests/Core.Blueprint.Storage.UnitTests/UnitTest1.cs @@ -0,0 +1,9 @@ +namespace Core.Blueprint.Storage.UnitTests; + +public class UnitTest1 +{ + [Fact] + public void Test1() + { + } +}