DomainEngine

Struct DomainEngine 

Source
pub struct DomainEngine;
Expand description

Metadata-driven domain engine for complex data management.

Enterprise-grade domain engine providing GraphQL API for managing domains, entities, and attributes with dynamic expression evaluation and multi-source data aggregation. Features fine-grained permissions, multi-dimensional attributes, and connectivity to data sources (OLAP, PostgreSQL, ClickHouse). Built with Rust, Tokio, async-graphql, Axum, DataFusion (SQL frontend), and OpenTelemetry.

Trait Implementations§

Source§

impl AsyncGraphQL for DomainEngine

GraphQL server implementation.

Source§

impl Axum for DomainEngine

Web framework for HTTP server.

Source§

impl ClickHouse for DomainEngine

Columnar database for analytical workloads.

Source§

impl DataFusion for DomainEngine

Query engine built on Apache Arrow.

Source§

impl<'period, 'f2024, Language> Developer<Language> for &'period DomainEngine
where Language: Rust, 'period: 'f2024,

Core Software Engineer on Domain Engine

Main responsibilities and achievements:

  • Development of metadata-driven schema system and storage layer
  • Implemented schema versioning and diff system for tracking schema evolution over time
  • Expression language implementation for dynamic calculations
  • GraphQL API design with federation support
  • Multi-source persistent layer integration (OLAP, PostgreSQL, ClickHouse) with unified query interface
  • Permissions system and access control implementation
  • SQL frontend integration using DataFusion
  • Fixed critical issues in API layer
  • Observability: structured logging, tracing, Prometheus metrics
Source§

impl Postgresql for DomainEngine

Relational database for structured data.

Source§

impl Rust for DomainEngine

Rust is the main programming language for this project.

Source§

impl Tokio for DomainEngine

Async runtime for concurrent operations.

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.