[go: up one dir, main page]

Skip to content

Schemio - Framework to allow fetching aggregated data conditionally by object graph using schema paths (supports XPath & JSONPath.)

License

Notifications You must be signed in to change notification settings

CodeShayk/Schemio

Repository files navigation

ninja Schemio v1.0

License: MIT Master-Build GitHub Release Master-CodeQL .Net 8.0

Nuget Packages

Package Latest Details
Schemio.Core NuGet version 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.
Schemio.SQL NuGet version Provides schemio with query engine using Dapper to execute SQL queries.
Schemio.EntityFramework NuGet version Provides schemio with Entity Framework query engine to execute queries using DbContext.

Concept

What is Schemio?

Schemio is a data aggregation framework that

  • 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.
  • allows conditionally fetching only parts of the data entity. You could retrieve an aggregated data entity with selective sections of its object graph populated depending on the context passed with the request.

When to use Schemio?

Schemio is perfect fit for many use cases. Few examples that require the service tier to dynamically fetch aggregated data with high performance, availability and scalability are

  • Aggregated APIs
  • Data Reporting
  • Document Generation (with templated data)
  • Content Management Systems
  • Many more

Getting Started?

i. Installation

Install the latest nuget package as appropriate for Core, SQL using Dapper or EntityFramework.

Scemio.Core - for installing schemio for bespoke implementation of query engine.

NuGet\Install-Package Schemio.Core

Schemio.SQL - for installing schemio for SQL with Dapper engine.

NuGet\Install-Package Schemio.SQL

Schemio.EntityFramework - for installing schemio for SQL with EntityFramework engine.

NuGet\Install-Package Schemio.EntityFramework

ii. Developer Guide

Please see Developer Guide for details on how to implement schemio in your project.

Support

If you are having problems, please let me know by raising a new issue.

License

This project is licensed with the MIT license.

Version History

The main branch is now on .NET 8.0. The following previous versions are available:

Version Release Notes Developer Guide
v1.0.0 Notes Guide
Pre-Release v2.0.0 Notes Guide

Credits

Thank you for reading. Please fork, explore, contribute and report. Happy Coding !! :)