About Kinesis API

A powerful framework that makes creating, managing, and scaling APIs simpler and more efficient. Think of Kinesis API as an API to make APIs.

Project Status

This project is still under active development. Expect bugs and breaking changes with each new version until the 1.x.x release. The core logic is already implemented and extensively tested. Websocket support and some additional features are still in development. API documentation is available at api.kinesis.world/scalar, or locally on the /scalar endpoint.

Tech Stack
  • Rocket: Fast, type-safe web framework for Rust
  • Tera: Powerful template engine inspired by Jinja2 and Django
  • Serde: High-performance serialization framework for Rust
  • Lettre: Email handling library for notifications
  • utoipa: OpenAPI documentation generator
  • Kinesis DB: Custom-built ACID-compliant embedded database system
  • Tailwind CSS: Utility-first CSS framework for rapid UI development
  • DaisyUI: Component library for Tailwind CSS with themeable widgets
  • Markdown-it: Extensible Markdown parser, used for rendering rich text content
  • PrismJS: Lightweight, extensible syntax highlighter
  • MermaidJS: JavaScript based diagramming and charting tool
Kinesis API Schema
Kinesis DB: Custom Database System

Kinesis API includes a high-performance, ACID-compliant embedded database built from the ground up in Rust. This eliminates dependencies on external database systems, reducing potential points of failure and providing significant performance advantages.

Multiple Storage Engines

  • In-Memory: Ultra-fast, volatile storage for temporary data and caching
  • On-Disk: Durable storage with ACID guarantees for critical data
  • Hybrid: Intelligent caching with persistent backing for balanced performance

Schema Management

  • Flexible schema creation and runtime updates
  • Strong type system with field constraints
  • Support for required fields, unique constraints, and default values
  • Pattern matching for string fields using regular expressions

Transaction Support

  • Full ACID compliance (Atomicity, Consistency, Isolation, Durability)
  • Multiple isolation levels (ReadUncommitted, ReadCommitted, RepeatableRead, Serializable)
  • Deadlock detection and prevention
  • Write-Ahead Logging (WAL) for crash recovery

Performance Optimizations

  • Efficient buffer pool management
  • Configurable caching strategies
  • Automatic blob storage for large string values
  • Asynchronous I/O operations
X Engine

The most sophisticated component of Kinesis API is the X Engine, which allows users to define and deploy custom APIs. The X Engine uses:

  • Processors: Handle execution flow including loops, conditional logic, and control signals (return/break/fail) when executing custom APIs
  • Resolvers: Map requests to the appropriate data sources and transform inputs
  • Convertors: Transform data between different formats for input/output processing
  • Definitions: Define the expected result format for each "block" that makes up a custom API
Configuration Options

Kinesis API provides various configuration options to customize its behavior for different environments and use cases. You can find detailed configuration information in the project documentation.