All Projects → dataleonlabs → yap

dataleonlabs / yap

Licence: Apache-2.0 license
Open source API Gateway on GraphQL for serverless. Less code, safer API. 💪

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to yap

Epsagon Go
Automated tracing library for Go 1.x ⚡️
Stars: ✭ 24 (-77.14%)
Mutual labels:  lambda-functions, serverless-functions
pong
🏓 Pong for RESTful APIs (microservices pattern) using Serverless Framework ⚡
Stars: ✭ 27 (-74.29%)
Mutual labels:  api-gateway, lambda-functions
serverless-ts-template
Serverless Typescript Template
Stars: ✭ 13 (-87.62%)
Mutual labels:  lambda-functions, serverless-functions
getting-started-with-serverless
Follow along with blog posts, code samples, and practical exercises to learn how to build serverless applications from your local Integrated development environment (IDE).
Stars: ✭ 46 (-56.19%)
Mutual labels:  api-gateway, lambda-functions
CloudFrontier
Monitor the internet attack surface of various public cloud environments. Currently supports AWS, GCP, Azure, DigitalOcean and Oracle Cloud.
Stars: ✭ 102 (-2.86%)
Mutual labels:  api-gateway, lambda-functions
aws-tailor
AWS account provisioning and management service
Stars: ✭ 105 (+0%)
Mutual labels:  api-gateway, lambda-functions
Gcf.cr
gcf.cr provides serverless execution and deployment of crystal language code in Google Cloud Functions
Stars: ✭ 51 (-51.43%)
Mutual labels:  lambda-functions, serverless-functions
Lambda Proxy Router
A simple router for AWS Lambda Proxy Functions
Stars: ✭ 14 (-86.67%)
Mutual labels:  api-gateway, lambda-functions
Serverless Aws Alias
Alias support for Serverless 1.x
Stars: ✭ 171 (+62.86%)
Mutual labels:  api-gateway, lambda-functions
lamba-thumbnailer
AWS S3 Video Thumbnailer with Lambda
Stars: ✭ 21 (-80%)
Mutual labels:  lambda-functions, serverless-functions
lmdrouter
Go HTTP router library for AWS API Gateway-invoked Lambda Functions
Stars: ✭ 121 (+15.24%)
Mutual labels:  api-gateway, lambda-functions
e-shop
Sample Spring Cloud microservices e-shop.
Stars: ✭ 48 (-54.29%)
Mutual labels:  api-gateway
kong-oidc-auth
OpenID Connect authentication with Kong gateway
Stars: ✭ 41 (-60.95%)
Mutual labels:  api-gateway
ngx-lua-zuul
基于Nginx&Lua 和Netflix Eureka的微服务网关。请看看:https://github.com/tietang/zebra
Stars: ✭ 94 (-10.48%)
Mutual labels:  api-gateway
terraform-aws-lambda-function
A Terraform module for deploying and managing Lambda functions on Amazon Web Services (AWS). https://aws.amazon.com/lambda/
Stars: ✭ 37 (-64.76%)
Mutual labels:  lambda-functions
sample-spring-cloud-gateway
sample spring cloud application with embedded api gateway on spring cloud gateway with or without service discovery with eureka
Stars: ✭ 25 (-76.19%)
Mutual labels:  api-gateway
serverless
BlueNimble is a Hybrid Serverless Platform focusing on developer productivity and application portability. Create and run scalable APIs and applications without coding or by coding less. Focus on application business logic without any knowledge of the underlying microservices architecture.
Stars: ✭ 30 (-71.43%)
Mutual labels:  api-gateway
yake
A Rake-like DSL for writing AWS Lambda handlers
Stars: ✭ 146 (+39.05%)
Mutual labels:  api-gateway
jsitemapgenerator
Java sitemap generator. This library generates a web sitemap, can ping Google, generate RSS feed, robots.txt and more with friendly, easy to use Java 8 functional style of programming
Stars: ✭ 38 (-63.81%)
Mutual labels:  lambda-functions
serverless-fission
Use Fission through Serverless Framework https://serverless.com
Stars: ✭ 19 (-81.9%)
Mutual labels:  serverless-functions

We love contributors, you can contribute or click ⭐️ (see above ↗️) to support us. Follow our news 🏅 on Twitter and Slack.

Less code, safer API.

contributions welcome GitHub Workflow Status (branch) Codacy Badge GitHub last commit Requirements Status

Yap is the lightweight microservices API gateway with GraphQL that shines at the heart of any microservices or serverless architecture, which aims to be a smaller, more expressive, and more robust foundation with low-code approach and security entreprise-gradle.

Please distinguish Yap (the core project of Young App) and YAP (the platform of Young App).

Motivation

Young App helps to automate business workflows across cloud and on-premise apps providing employees with prompt communication and building in teams sophisticated collaboration. As an illustration, YAP automates quotes processing for cash business, which may involve multiple apps.

Without API Management, we are using Express, Koa or Hapi on Nodejs without security handler, and all others NodeJS frameworks are based on http module, yap is different, designed only for serverless functions (event-driven) and GraphQL.

Key features of Yap 🙌

Yap offers powerful, yet lightweight features that allow fine-grained control over your API ecosystem.

  • Elegants XML Policies – Policies are a powerful capability of the system that allow the publisher to change API behavior through configuration in elegants with XML
  • GraphQL as API Gateway – GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. Yap use only GraphQL as API Gateway.
  • API Connectors – YAP is the only integration platform that was built from the ground to support a single design interface for developer/IT and for citizen integrators.

Installing

It's an official version for JavaScript, available for Node.js backends, Serverless and AWS Lambda.

With yarn
yarn install @youngapp/yap
With npm
npm install @youngapp/yap

Hello API

Yap application is an object containing resolvers functions and policies which are composed and executed in a stack-like manner upon request. Yap is similar to many other middleware systems that you may have encountered such as Koa, Connect.

Minimalist application with http.Server

import { Yap } from "@youngapp/yap";
import typeDefs from "./schema.graphql";
import resolvers from "./resolvers.ts";

// Your schema definition and resolvers GraphQL
const app = new Yap({ typeDefs, resolvers });

app.listen(3000, () => {
  console.log('Example app listening on port 3000!')
})

With AWS Lambda

import { Yap } from "@youngapp/yap";
import typeDefs from "./schema.graphql";
import resolvers from "./resolvers.ts";

// Your schema definition and resolvers GraphQL
const app = new Yap({ typeDefs, resolvers });

// A simple handler for AWS Lambda.
exports.handler = app.handler;

Find more details on Usage guide

Enjoy 🎉

Documentation

Opening issues

If you encounter a bug with YAP, we would appreciate if you inform us about it. Before opening a new issue, please go through existing issues to find the solution right away if your problem was solved before.

Attach the following details if appropriate:

  • SDK, Node.js
  • Environment and OS
  • Stack trace

The GitHub issues are intended for bug reports and feature requests. For quick help and questions on using the Yap SDK for JavaScript, please use the resources listed within Getting Help section. The time of our support experts is rushingly flying but even so, they would like to help you in time, and therefore, will appreciate your help in applying for support reasonably by providing full details and excluding duplicated issues.

Contribute

Yap is the open source and we love contributions! If you have an idea for a great improvement or spy an issue you’re keen to fix, follow our Contributing Guide.

No contribution is too small – we encourage you to provide feedback and report issues.

Community support 🌍

For general help using Yap, please refer to the official Yap documentation. For additional help, you can use one of these channels to ask a question:

License

This SDK is distributed under Apache License 2.0. See LICENSE.txt for more information.

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].