Skip to content
View mannkostir's full-sized avatar

Block or report mannkostir

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
mannkostir/README.md

Artem Gabatov - Backend Engineer

Node.js / NestJS, TypeScript. I build event-driven systems: microservices on Kafka, streaming pipelines and domain models that hold their invariants under DDD.

I turn the patterns I keep needing in production into small, tested, documented libraries:

Library What it does
nestjs-kafka Decorator-driven Kafka consumers and producer for NestJS on librdkafka: dead-letter and retry topics, Avro via Schema Registry, topic namespacing npm
typeorm-unit-of-work Unit of Work for TypeORM: ambient transactions, aggregate domain events before and after commit, transactional outbox npm
flink-projections Stateful Flink operators that project entity change streams into search documents, with explicit deletes and savepoint-safe state Maven Central
nest-result Typed errors for NestJS: the compiler proves every error is mapped to an HTTP response npm
domain-integrity Static analysis that fails CI when an aggregate's lifecycle drifts from its declared intent npm

Stack: TypeScript · Node.js · NestJS · PostgreSQL · Kafka · Flink · Elasticsearch / OpenSearch · Redis · Kubernetes · Java

📫 Telegram @agabatov · mannkostir@gmail.com

Pinned Loading

  1. nestjs-kafka nestjs-kafka Public

    Decorator-driven Kafka consumers and producer for NestJS on librdkafka, with a consumer group per handler, fail, ignore and dead-letter error policies, topic namespacing, and Avro via Schema Registry.

    TypeScript

  2. domain-integrity domain-integrity Public

    Checks that a TypeScript domain's aggregate lifecycles match their declared intent.

    TypeScript

  3. typeorm-unit-of-work typeorm-unit-of-work Public

    Unit of Work for TypeORM: ambient transactions and aggregate domain events published before and after commit

    TypeScript

  4. nest-result nest-result Public

    Compiler-checked, exhaustive mapping of neverthrow Results to HTTP responses for NestJS, plus transactions that roll back on Err.

    TypeScript

  5. flink-projections flink-projections Public

    Stateful Flink operators that project entity change streams into documents, with explicit deletes, stable uids and state names for savepoints, per-stream state TTL, and Kafka and Elasticsearch adap…

    Java