Foundgine

HomeDocumentationSamples

Samples

Foundgine.Samples.Banking

The canonical Foundgine proof domain is:

Customer
   ↓
Account
   ↓
Transaction

The active sample is deliberately a console application with no GraphQL layer.

It currently proves:

Domain
  ↓
Hand-written Metadata
  ↓
Dynamic QueryPlanner
  ↓
Foundgine.Builders.QueryPlan
  ↓
Foundgine.Providers.SqlPlanCompiler
  ↓
ProviderPlan
  ↓
SqlExecutionProvider
  ↓
real SQLite database
  ↓
ExecutionRow

Run:

dotnet run --project samples/Foundgine.Samples.Banking

Why Banking?

The domain is small enough to understand but relational enough to prove:

Next sample milestones

The same sample should grow vertically rather than spawning many disconnected demos:

Read

"Find Ada's last five transactions."

Mutation

"Refund Ada's last transaction."

The mutation should demonstrate:

resolve
→ authorize
→ plan
→ preview
→ approve
→ execute
→ verify
→ evidence

Historical sample

archive/samples/Graphgine.Samples.Banking contains the previous GraphQL/Hot Chocolate direction.

It is useful as historical material, but it is not the canonical proof for the current Foundgine direction.