Skip to content

Commit 440a8eb

Browse files
committed
Rename Schemio to DataFuse with improved project structure
- Rename all Schemio.* projects and namespaces to DataFuse.* - Restructure projects with clearer separation: - Schemio.Core -> DataFuse.Adapters.Abstraction (interfaces, base classes, query/transformer contracts) - Schemio.Core (impl) -> DataFuse.Integration (DataProvider, EntityBuilder, QueryBuilder, helpers, DI extensions) - Schemio.SQL -> DataFuse.Adapters.SQL (Dapper-based SQL query engine) - Schemio.EntityFramework -> DataFuse.Adapters.EntityFramework (EF Core query engine) - Schemio.API -> DataFuse.Adapters.WebAPI (HttpClient-based Web API query engine) - Rename test projects to match new structure - Update CI workflow paths and NuGet package references - Update README and developer guide with new package names and install commands - Remove LICENSE file and old Schemio.sln, add DataFuse.sln - Rename SchemioOptionsBuilder -> DataFuseOptionsBuilder, ISchemioOptions -> IDataFuseOptions - Rename UseSchemio() -> UseDataFuse() DI extension method
1 parent 77be371 commit 440a8eb

File tree

282 files changed

+3303
-3536
lines changed

Some content is hidden

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

282 files changed

+3303
-3536
lines changed

.claude/settings.local.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"permissions": {
3+
"allow": [
4+
"Bash(dotnet restore:*)",
5+
"Bash(dotnet build:*)",
6+
"Bash(dotnet test:*)",
7+
"Bash(dotnet:*)",
8+
"Bash(git status:*)",
9+
"Bash(git add:*)",
10+
"Bash(git commit:*)"
11+
]
12+
}
13+
}

.github/workflows/PullRequest-CI.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
beta_Version: ${{ steps.gitversion.outputs.nuGetVersion }}
3131
branchName: ${{ steps.gitversion.outputs.branchName }}
3232
env:
33-
working-directory: /home/runner/work/Schemio/Schemio
33+
working-directory: /home/runner/work/DataFuse/DataFuse
3434

3535
steps:
3636
- name: Step-01 Install GitVersion
@@ -87,7 +87,7 @@ jobs:
8787
env:
8888
github-token: '${{ secrets.GH_Packages }}'
8989
nuget-token: '${{ secrets.NUGET_API_KEY }}'
90-
working-directory: /home/runner/work/Schemio/Schemio
90+
working-directory: /home/runner/work/DataFuse/DataFuse
9191
steps:
9292
- name: Step-01 Retrieve Build Artifacts
9393
uses: actions/download-artifact@v4
@@ -109,7 +109,7 @@ jobs:
109109
env:
110110
github-token: '${{ secrets.GH_Packages }}'
111111
nuget-token: '${{ secrets.NUGET_API_KEY }}'
112-
working-directory: /home/runner/work/Schemio/Schemio
112+
working-directory: /home/runner/work/DataFuse/DataFuse
113113
steps:
114114
- uses: actions/checkout@v4
115115

@@ -119,15 +119,15 @@ jobs:
119119
# dotnet-version: '6.0.x'
120120

121121
# Publish
122-
- name: publish Schemio package
122+
- name: publish DataFuse package
123123
id: publish_nuget
124124
uses: Rebel028/publish-nuget@v2.8.0
125125
with:
126126
# Filepath of the project to be packaged, relative to root of repository
127-
PROJECT_FILE_PATH: Schemio/Schemio.csproj
128-
127+
PROJECT_FILE_PATH: DataFuse/DataFuse.csproj
128+
129129
# NuGet package id, used for version detection & defaults to project name
130-
PACKAGE_NAME: Schemio
130+
PACKAGE_NAME: DataFuse
131131

132132
# Filepath with version info, relative to root of repository & defaults to PROJECT_FILE_PATH
133133
# VERSION_FILE_PATH: Directory.Build.props

CLAUDE.md

Whitespace-only changes.

Schemio.sln renamed to DataFuse.sln

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
1+
22
Microsoft Visual Studio Solution File, Format Version 12.00
33
# Visual Studio Version 17
44
VisualStudioVersion = 17.5.33516.290
@@ -15,9 +15,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "solution", "solution", "{AF
1515
README.md = README.md
1616
EndProjectSection
1717
EndProject
18-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Schemio.Core.Tests", "tests\Schemio.Core.Tests\Schemio.Core.Tests.csproj", "{B09236CB-BBD2-4DCF-A698-74CCCAB29FFB}"
18+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DataFuse.Integration.Tests", "tests\DataFuse.Integration.Tests\DataFuse.Integration.Tests.csproj", "{B09236CB-BBD2-4DCF-A698-74CCCAB29FFB}"
1919
EndProject
20-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Schemio.SQL.Tests", "tests\Schemio.SQL.Tests\Schemio.SQL.Tests.csproj", "{1E319404-8EF0-40A1-A9D7-A404A71A98C4}"
20+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DataFuse.Adapters.SQL.Tests", "tests\DataFuse.Adapters.SQL.Tests\DataFuse.Adapters.SQL.Tests.csproj", "{1E319404-8EF0-40A1-A9D7-A404A71A98C4}"
2121
EndProject
2222
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "github", "github", "{39FD806A-D320-43C9-800F-E9D9BCC90623}"
2323
ProjectSection(SolutionItems) = preProject
@@ -28,17 +28,19 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "github", "github", "{39FD80
2828
.github\workflows\PullRequest-CodeQL.yml = .github\workflows\PullRequest-CodeQL.yml
2929
EndProjectSection
3030
EndProject
31-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Schemio.EntityFramework.Tests", "tests\Schemio.EntityFramework.Tests\Schemio.EntityFramework.Tests.csproj", "{FE039675-00BE-4DC5-945F-14E7625170D0}"
31+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DataFuse.Adapters.EntityFramework.Tests", "tests\DataFuse.Adapters.EntityFramework.Tests\DataFuse.Adapters.EntityFramework.Tests.csproj", "{FE039675-00BE-4DC5-945F-14E7625170D0}"
3232
EndProject
33-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Schemio.Core", "src\Schemio.Core\Schemio.Core.csproj", "{4F9B6FE3-CAC4-4594-84AD-98D1ECDE180C}"
33+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DataFuse.Integration", "src\DataFuse.Integration\DataFuse.Integration.csproj", "{4F9B6FE3-CAC4-4594-84AD-98D1ECDE180C}"
3434
EndProject
35-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Schemio.EntityFramework", "src\Schemio.EntityFramework\Schemio.EntityFramework.csproj", "{E8F8C13E-2E05-4092-84FD-B7B7B12DABBB}"
35+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DataFuse.Adapters.Abstraction", "src\DataFuse.Adapters.Abstraction\DataFuse.Adapters.Abstraction.csproj", "{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}"
3636
EndProject
37-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Schemio.SQL", "src\Schemio.SQL\Schemio.SQL.csproj", "{52986844-698F-486B-AEC9-846AAF50CF46}"
37+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DataFuse.Adapters.EntityFramework", "src\DataFuse.Adapters.EntityFramework\DataFuse.Adapters.EntityFramework.csproj", "{E8F8C13E-2E05-4092-84FD-B7B7B12DABBB}"
3838
EndProject
39-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Schemio.API", "src\Schemio.API\Schemio.API.csproj", "{0C1A05D2-653D-4F88-B397-BA53E0BA7281}"
39+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DataFuse.Adapters.SQL", "src\DataFuse.Adapters.SQL\DataFuse.Adapters.SQL.csproj", "{52986844-698F-486B-AEC9-846AAF50CF46}"
4040
EndProject
41-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Schemio.API.Tests", "tests\Schemio.API.Tests\Schemio.API.Tests.csproj", "{D0EE40C1-87EF-413D-A046-DC37D58BC344}"
41+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DataFuse.Adapters.WebAPI", "src\DataFuse.Adapters.WebAPI\DataFuse.Adapters.WebAPI.csproj", "{0C1A05D2-653D-4F88-B397-BA53E0BA7281}"
42+
EndProject
43+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DataFuse.Adapters.WebAPI.Tests", "tests\DataFuse.Adapters.WebAPI.Tests\DataFuse.Adapters.WebAPI.Tests.csproj", "{D0EE40C1-87EF-413D-A046-DC37D58BC344}"
4244
EndProject
4345
Global
4446
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -62,6 +64,10 @@ Global
6264
{4F9B6FE3-CAC4-4594-84AD-98D1ECDE180C}.Debug|Any CPU.Build.0 = Debug|Any CPU
6365
{4F9B6FE3-CAC4-4594-84AD-98D1ECDE180C}.Release|Any CPU.ActiveCfg = Release|Any CPU
6466
{4F9B6FE3-CAC4-4594-84AD-98D1ECDE180C}.Release|Any CPU.Build.0 = Release|Any CPU
67+
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
68+
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Debug|Any CPU.Build.0 = Debug|Any CPU
69+
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|Any CPU.ActiveCfg = Release|Any CPU
70+
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}.Release|Any CPU.Build.0 = Release|Any CPU
6571
{E8F8C13E-2E05-4092-84FD-B7B7B12DABBB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
6672
{E8F8C13E-2E05-4092-84FD-B7B7B12DABBB}.Debug|Any CPU.Build.0 = Debug|Any CPU
6773
{E8F8C13E-2E05-4092-84FD-B7B7B12DABBB}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -88,6 +94,7 @@ Global
8894
{39FD806A-D320-43C9-800F-E9D9BCC90623} = {AF995FEF-BB94-48D0-B02B-6671DA73056B}
8995
{FE039675-00BE-4DC5-945F-14E7625170D0} = {07BAE427-96CF-4F9B-80A9-48CFB0A89CF3}
9096
{4F9B6FE3-CAC4-4594-84AD-98D1ECDE180C} = {F41DA3D8-A0E9-4A05-8A35-78313C0F5804}
97+
{A1B2C3D4-E5F6-7890-ABCD-EF1234567890} = {F41DA3D8-A0E9-4A05-8A35-78313C0F5804}
9198
{E8F8C13E-2E05-4092-84FD-B7B7B12DABBB} = {F41DA3D8-A0E9-4A05-8A35-78313C0F5804}
9299
{52986844-698F-486B-AEC9-846AAF50CF46} = {F41DA3D8-A0E9-4A05-8A35-78313C0F5804}
93100
{0C1A05D2-653D-4F88-B397-BA53E0BA7281} = {F41DA3D8-A0E9-4A05-8A35-78313C0F5804}

LICENSE

Lines changed: 0 additions & 21 deletions
This file was deleted.

README.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,50 @@
1-
# <img src="https://github.com/CodeShayk/Schemio/blob/master/Images/data-integration-transparent.png" alt="data" style="width:50px;"/> Schemio v2.1.0
1+
# <img src="https://github.com/CodeShayk/Schemio/blob/master/Images/data-integration-transparent.png" alt="data" style="width:50px;"/> DataFuse v2.1.0
22
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/CodeShayk/Schemio/blob/master/LICENSE.md)
33
[![Master-Build](https://github.com/CodeShayk/Schemio/actions/workflows/Build-Master.yml/badge.svg)](https://github.com/CodeShayk/Schemio/actions/workflows/Build-Master.yml)
44
[![GitHub Release](https://img.shields.io/github/v/release/CodeShayk/Schemio?logo=github&sort=semver)](https://github.com/CodeShayk/Schemio/releases/latest)
55
[![Master-CodeQL](https://github.com/CodeShayk/Schemio/actions/workflows/Master-CodeQL.yml/badge.svg)](https://github.com/CodeShayk/Schemio/actions/workflows/Master-CodeQL.yml)
66
[![.Net 9.0](https://img.shields.io/badge/.Net-9.0-blue)](https://dotnet.microsoft.com/en-us/download/dotnet/9.0)
77
--
8-
Schemio is a powerful .NET library designed to aggregate data from heterogeneous data stores using a schema-driven approach. It enables developers to hydrate complex object graphs by fetching data from multiple sources (SQL databases, Web APIs, NoSQL stores) using XPath and JSONPath schema mappings.
8+
DataFuse is a powerful .NET library designed to aggregate data from heterogeneous data stores using a schema-driven approach. It enables developers to hydrate complex object graphs by fetching data from multiple sources (SQL databases, Web APIs, NoSQL stores) using XPath and JSONPath schema mappings.
99
#### Nuget Packages
10-
| Package | Latest | Details |
10+
| Package | Latest | Details |
1111
| --------| --------| --------|
12-
| Schemio.Core|[![NuGet version](https://badge.fury.io/nu/Schemio.Core.svg)](https://badge.fury.io/nu/Schemio.Core) | Provides `core` functionality to configure nested queries and transformers. With ability to map schema paths (XPath/JSONPath) to entity's object graph. `No QueryEngine` provided and requires implementing IQueryEngine to execute IQuery instances. |
13-
| Schemio.SQL|[![NuGet version](https://badge.fury.io/nu/Schemio.SQL.svg)](https://badge.fury.io/nu/Schemio.SQL)| Provides schemio with query engine using `Dapper` to execute SQL queries. |
14-
| Schemio.EntityFramework|[![NuGet version](https://badge.fury.io/nu/Schemio.EntityFramework.svg)](https://badge.fury.io/nu/Schemio.EntityFramework)| Provides schemio with `Entity Framework` query engine to execute queries using DbContext. |
15-
| Schemio.API|[![NuGet version](https://badge.fury.io/nu/Schemio.Api.svg)](https://badge.fury.io/nu/Schemio.Api)| Provides schemio with `Web Api` query engine to execute apis using HttpClient. |
12+
| DataFuse.Integration|[![NuGet version](https://badge.fury.io/nu/DataFuse.Integration.svg)](https://badge.fury.io/nu/DataFuse.Integration) | Provides `core` functionality to configure nested queries and transformers. With ability to map schema paths (XPath/JSONPath) to entity's object graph. `No QueryEngine` provided and requires implementing IQueryEngine to execute IQuery instances. |
13+
| DataFuse.Adapters.SQL|[![NuGet version](https://badge.fury.io/nu/DataFuse.Adapters.SQL.svg)](https://badge.fury.io/nu/DataFuse.Adapters.SQL)| Provides DataFuse with query engine using `Dapper` to execute SQL queries. |
14+
| DataFuse.Adapters.EntityFramework|[![NuGet version](https://badge.fury.io/nu/DataFuse.Adapters.EntityFramework.svg)](https://badge.fury.io/nu/DataFuse.Adapters.EntityFramework)| Provides DataFuse with `Entity Framework` query engine to execute queries using DbContext. |
15+
| DataFuse.Adapters.WebAPI|[![NuGet version](https://badge.fury.io/nu/DataFuse.Adapters.WebAPI.svg)](https://badge.fury.io/nu/DataFuse.Adapters.WebAPI)| Provides DataFuse with `Web Api` query engine to execute apis using HttpClient. |
1616

1717
## Concept
18-
### What is Schemio?
19-
`Schemio` is a data aggregation framework using queries that can target different data platforms.
18+
### What is DataFuse?
19+
`DataFuse` is a data aggregation framework using queries that can target different data platforms.
2020

2121
Key benefits:
2222
- allows fetching `aggregated` data from `heterogeneous` data storages. You could combine queries targetting different data platforms (example. `SQL`, `API`, `Cache`) to return an aggregated data `entity`.
2323
- allows `conditional` fetching of `parts` of the aggregated data entity. You could retrieve parts of object graph in the aggregated entity by specifying schema paths (using `XPath` or `JSonPath`) to identify respective sections.
2424

2525
## Getting Started?
2626
### i. Installation
27-
Install the latest nuget package as appropriate for `Core`, `Web API`, `SQL` using `Dapper` or `EntityFramework` using commands below.
27+
Install the latest nuget package as appropriate for `Core`, `Web API`, `SQL` using `Dapper` or `EntityFramework` using commands below.
2828

29-
`Scemio.Core` - for installing schemio for `bespoke` implementation of query engine.
29+
`DataFuse.Integration` - for installing DataFuse for `bespoke` implementation of query engine.
3030
```
31-
NuGet\Install-Package Schemio.Core
31+
NuGet\Install-Package DataFuse.Integration
3232
```
33-
`Schemio.SQL` - for installing schemio for SQL with `Dapper` engine.
33+
`DataFuse.Adapters.SQL` - for installing DataFuse for SQL with `Dapper` engine.
3434
```
35-
NuGet\Install-Package Schemio.SQL
35+
NuGet\Install-Package DataFuse.Adapters.SQL
3636
```
37-
`Schemio.EntityFramework` - for installing schemio for SQL with `EntityFramework` engine.
37+
`DataFuse.Adapters.EntityFramework` - for installing DataFuse for SQL with `EntityFramework` engine.
3838
```
39-
NuGet\Install-Package Schemio.EntityFramework
39+
NuGet\Install-Package DataFuse.Adapters.EntityFramework
4040
```
41-
`Schemio.API` - for installing schemio for Web API with `HttpClient` engine.
41+
`DataFuse.Adapters.WebAPI` - for installing DataFuse for Web API with `HttpClient` engine.
4242
```
43-
NuGet\Install-Package Schemio.API
43+
NuGet\Install-Package DataFuse.Adapters.WebAPI
4444
```
4545
### ii. Developer Guide
4646

47-
Please see [Developer Guide](https://github.com/CodeShayk/Schemio/wiki) for complete details to use Schemio in your project.
47+
Please see [Developer Guide](https://github.com/CodeShayk/Schemio/wiki) for complete details to use DataFuse in your project.
4848

4949
## Support
5050

0 commit comments

Comments
 (0)