All Projects → Tinkoff → typed-schema

Tinkoff / typed-schema

Licence: Apache-2.0 License
Typelevel http service definition DSL

Programming Languages

scala
5932 projects

Projects that are alternatives of or similar to typed-schema

Typed Schema
Typelevel http service definition DSL
Stars: ✭ 145 (-3.97%)
Mutual labels:  akka-http, swagger, http-server
Guardrail
Principled code generation from OpenAPI specifications
Stars: ✭ 396 (+162.25%)
Mutual labels:  akka-http, swagger
Go Book Store Api
Go Sample project to understand Mysql CRUD operation with best practises Includes logging, JWT, Swagger and Transactions
Stars: ✭ 18 (-88.08%)
Mutual labels:  swagger, http-server
Swagger Akka Http Sample
Sample demonstrating use of swagger-akka-http
Stars: ✭ 79 (-47.68%)
Mutual labels:  akka-http, swagger
Akka Http
The Streaming-first HTTP server/module of Akka
Stars: ✭ 1,163 (+670.2%)
Mutual labels:  akka-http, http-server
podpodge
Convert YouTube playlists to audio-only RSS feeds for podcast apps to consume.
Stars: ✭ 32 (-78.81%)
Mutual labels:  akka-http, swagger
MithrilShards
.NET 6 extensible P2P Network / Distributed services library.
Stars: ✭ 15 (-90.07%)
Mutual labels:  swagger
io-api
The API documentation for Adafruit IO
Stars: ✭ 15 (-90.07%)
Mutual labels:  swagger
trembita
Model complex data transformation pipelines easily
Stars: ✭ 44 (-70.86%)
Mutual labels:  typelevel-programming
couper
Couper is a lightweight API gateway designed to support developers in building and operating API-driven Web projects
Stars: ✭ 60 (-60.26%)
Mutual labels:  http-server
EvaEngine.js
A micro service development engine for node.js
Stars: ✭ 31 (-79.47%)
Mutual labels:  swagger
nestjs-auth-starter-kit
NestJS Auth Starter Kit (typescript / typeorm / swagger / passport / bcrypt)
Stars: ✭ 37 (-75.5%)
Mutual labels:  swagger
aitch
aitch is a simple, lightweight toolkit for building HTTP servers in Rust, loosely based on Go's net/http.
Stars: ✭ 19 (-87.42%)
Mutual labels:  http-server
silky
The Silky framework is designed to help developers quickly build a microservice development framework through simple code and configuration under the .net platform.
Stars: ✭ 146 (-3.31%)
Mutual labels:  swagger
s3www
Serve static files from any S3 compatible object storage services (Let's Encrypt ready)
Stars: ✭ 86 (-43.05%)
Mutual labels:  http-server
malidate
A logging DNS and HTTP(S) server. Opensource alternative to some parts of the Burpsuite Collaborator server.
Stars: ✭ 31 (-79.47%)
Mutual labels:  http-server
swagger-conformance
Python based tool for testing whether your API conforms to its Swagger schema
Stars: ✭ 51 (-66.23%)
Mutual labels:  swagger
openapi-schemas
JSON Schemas for every version of the OpenAPI Specification
Stars: ✭ 22 (-85.43%)
Mutual labels:  swagger
super-powered-api-testing
Comparisons of powerful API testing tools
Stars: ✭ 25 (-83.44%)
Mutual labels:  swagger
Network-Attached-Storage-NAS-Box-using-Raspberry-Pi
Network Attached Storage (NAS) Box using Raspberry Pi allows you to install comprehensive applications and services on your Raspberry Pi, whenever you need them.
Stars: ✭ 19 (-87.42%)
Mutual labels:  http-server
CI Release
Scala CI Maven Central

Welcome to Typed Schema

Typed schema is an http service definition DSL, currently translating to akka-http Routes and OpenApi 3.0 definition inspired by the haskell-servant library.

Getting started

Typed Schema is published to Maven Central and cross-built for Scala 2.12 and 2.13 so you can just add the following to your build:

libraryDependencies ++= List(
  "ru.tinkoff" %% "typed-schema-swagger" % "latest version in badge",
  "ru.tinkoff" %% "typed-schema-finagle-zio" % "latest version in badge",
  "ru.tinkoff" %% "typed-schema-finagle-custom" % "latest version in badge",
)

or

libraryDependencies ++= List(
  "ru.tinkoff" %% "typed-schema-swagger"        % "latest version in badge",
  "ru.tinkoff" %% "typed-schema-finagle-env"    % "latest version in badge",
  "ru.tinkoff" %% "typed-schema-finagle-custom" % "latest version in badge",
)

or

libraryDependencies ++= List(
  "ru.tinkoff" %% "typed-schema-swagger"   % "latest version in badge",
  "ru.tinkoff" %% "typed-schema-akka-http" % "latest version in badge",
)

Motivation

We the People building services using modern scala often struggling to satisfy following requirements

  • Service implementation should be checked to be compatible with OpenApi 3.0 specifications at the compile time
  • Service definition should be detachable from the implementation and exportable as mere specification
  • There should be an easy way to migrate all the services to different effect\future\task implementation without changing any definition
  • There should be some way to migrate all the service to another framework without reimplementing them

Learn More on the TypedSchema Microsite

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].