An open API service indexing awesome lists of open source software.

https://github.com/aklinker1/zeta

Composable, testable, OpenAPI-first backend framework with validation built-in
https://github.com/aklinker1/zeta

backend openapi typescript

Last synced: 2 days ago
JSON representation

Composable, testable, OpenAPI-first backend framework with validation built-in

Awesome Lists containing this project

README

          

# Zeta

[![JSR](https://jsr.io/badges/@aklinker1/zeta)](https://jsr.io/@aklinker1/zeta) [![NPM Version](https://img.shields.io/npm/v/%40aklinker1%2Fzeta?logo=npm&labelColor=red&color=white)](https://www.npmjs.com/package/@aklinker1/zeta) [![Docs](https://img.shields.io/badge/Docs-blue?logo=readme&logoColor=white)](https://zeta.aklinker1.io) [![API Reference](https://img.shields.io/badge/API%20Reference-blue?logo=readme&logoColor=white)](https://jsr.io/@aklinker1/zeta/doc) [![License](https://img.shields.io/github/license/aklinker1/zeta)](https://github.com/aklinker1/zeta/blob/main/LICENSE) [![Changelog](https://img.shields.io/badge/Changelog-blue?logo=github&logoColor=white)](https://github.com/aklinker1/zeta/blob/main/CHANGELOG.md)

Composable, fast, testable, OpenAPI-first backend framework with validation built-in.

```ts
// main.ts
import { createApp } from "@aklinker1/zeta";
import { zodSchemaAdapter } from "@aklinker1/zeta/adapters/zod-schema-adapter";
import { z } from "zod";

const app = createApp({
schemaAdapter: zodSchemaAdapter,
}).get(
"/hello",
{
operationId: "sayHello",
summary: "Say Hello",
description: "A simple hello world example",
response: z.object({ message: z.string() }),
},
() => ({ message: "Hello world!" }),
);

app.listen(3000);
```

```sh
bun run main.ts
deno run --allow-net main.ts
```

**Features**

- โœ… [Standard schema](https://standardschema.dev/) support (Zod, Arktype, Valibot, etc)
- ๐Ÿงฉ Composable apps, plugins, and routes
- ๐Ÿค– Type-safe server and client side code
- โ„๏ธ WinterCG compatible
- ๐Ÿงช Easy to test
- ๐Ÿ“„ OpenAPI docs built-in

## Docs

Visit for the full documentation.