Skip to content

dipjyotimetia/EventShark

Repository files navigation

Event Shark: A Serverless Kafka Event Publisher Testing Framework

  • Accelerate your Kafka-driven development: Event Shark makes it easy to test consumer applications in isolation.
  • Gain confidence in your consumer code: Simulate real-world publisher behavior for comprehensive testing.
  • Optimize performance: Run targeted performance tests on consumer applications without complex publisher dependencies.

Architecture

Event Shark is a serverless framework that exposes Kafka event publishing as simple JSON requests. It allows consumer applications to simulate publisher behavior and test their systems independently. The architecture consists of:

  • A REST API server (Fiber, Go) for event publishing
  • Kafka and Schema Registry (via Docker Compose)
  • Utilities for schema conversion and consumer simulation

Directory Structure

EventShark/
  cmd/                # Main application entrypoint
  docker/             # Docker scripts and schema JSONs
  docs/               # Documentation
  gen/                # Generated Go code from Avro schemas
  pkg/                # Application packages (config, events, handlers, routers)
  schema/             # Avro schemas and codegen
  script/             # Utilities (avsc2json, consumer)
  tests/              # Integration and performance tests

Installation

See docs/setup.md for detailed setup instructions.

Configuration

See docs/configuration.md for environment variables and config file options.

Usage

See docs/usage.md for API endpoints and examples.

Utilities

Running Tests

See docs/testing.md for unit, integration, and performance testing instructions.

Test reports are generated as test-report.json and (in CI) as test-report.md.

Building the Project

To build the project, use:

make build

Contributing

See docs/contributing.md for guidelines.

About

kafka event streaming

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •