All Projects → aws-samples → Aws Serverless Airline Booking

aws-samples / Aws Serverless Airline Booking

Licence: other
Airline Booking is a sample web application that provides Flight Search, Flight Payment, Flight Booking and Loyalty points including end-to-end testing, GraphQL and CI/CD. This web application was the theme of Build on Serverless Season 2 on AWS Twitch running from April 24th until end of August in 2019.

Programming Languages

python
139335 projects - #7 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to Aws Serverless Airline Booking

Webiny Js
Enterprise open-source serverless CMS. Includes a headless CMS, page builder, form builder and file manager. Easy to customize and expand. Deploys to AWS.
Stars: ✭ 4,869 (+277.44%)
Mutual labels:  graphql, aws, serverless, aws-lambda, lambda, lambda-functions
Lambcycle
🐑🛵 A declarative lambda middleware with life cycle hooks 🐑🛵
Stars: ✭ 88 (-93.18%)
Mutual labels:  aws, serverless, aws-lambda, lambda, lambda-functions
Aws Lambda List
A list of hopefully useful AWS lambdas and lambda-related resources.
Stars: ✭ 130 (-89.92%)
Mutual labels:  aws, serverless, aws-lambda, lambda, lambda-functions
Up
Up focuses on deploying "vanilla" HTTP servers so there's nothing new to learn, just develop with your favorite existing frameworks such as Express, Koa, Django, Golang net/http or others.
Stars: ✭ 8,439 (+554.19%)
Mutual labels:  graphql, aws, serverless, aws-lambda, lambda
Aws Lambda Workshop
Some incremental examples suitable to host an AWS Lambda Functions workshop
Stars: ✭ 18 (-98.6%)
Mutual labels:  aws, serverless, aws-lambda, lambda
Lambdalogs
A CLI tool to trace AWS Lambda calls over multiple CloudWatch log groups.
Stars: ✭ 18 (-98.6%)
Mutual labels:  aws, serverless, aws-lambda, lambda
Serverless Node Simple Image Resize
Simple image resize AWS lambda function
Stars: ✭ 74 (-94.26%)
Mutual labels:  aws, serverless, aws-lambda, lambda
Serverless Plugin Stackstorm
Plugin for serverless framework to run ready to use actions from StackStorm Exchange as AWS Lambda.
Stars: ✭ 28 (-97.83%)
Mutual labels:  aws, serverless, aws-lambda, lambda
Archive aws Lambda Go
A fast and clean way to execute Go on AWS Lambda.
Stars: ✭ 710 (-44.96%)
Mutual labels:  aws, serverless, aws-lambda, lambda
Lamb
monitoring tool for better visibility when developing AWS Lambda functions
Stars: ✭ 11 (-99.15%)
Mutual labels:  aws, serverless, aws-lambda, lambda
Serverless Node Simple Messaging
Simple email AWS lambda function
Stars: ✭ 75 (-94.19%)
Mutual labels:  aws, serverless, aws-lambda, lambda
Serverless Plugin Warmup
Keep your lambdas warm during winter. ♨
Stars: ✭ 814 (-36.9%)
Mutual labels:  aws, serverless, aws-lambda, lambda
Archive aws Lambda Go Shim
Author your AWS Lambda functions in Go, effectively.
Stars: ✭ 799 (-38.06%)
Mutual labels:  aws, serverless, aws-lambda, lambda
Epsagon Go
Automated tracing library for Go 1.x ⚡️
Stars: ✭ 24 (-98.14%)
Mutual labels:  serverless, aws-lambda, lambda, lambda-functions
Lambda Packages
Various popular python libraries, pre-compiled to be compatible with AWS Lambda
Stars: ✭ 713 (-44.73%)
Mutual labels:  aws, serverless, aws-lambda, lambda
Graphql Serverless
Sample project to guide the use of GraphQL and Serverless Architecture.
Stars: ✭ 28 (-97.83%)
Mutual labels:  graphql, aws, serverless, aws-lambda
Serverless Application Model
AWS Serverless Application Model (SAM) is an open-source framework for building serverless applications
Stars: ✭ 8,305 (+543.8%)
Mutual labels:  aws, serverless, lambda, sam
Serverless
This is intended to be a repo containing all of the official AWS Serverless architecture patterns built with CDK for developers to use. All patterns come in Typescript and Python with the exported CloudFormation also included.
Stars: ✭ 1,048 (-18.76%)
Mutual labels:  graphql, aws, serverless, lambda-functions
Serverless Es Logs
A Serverless plugin to transport logs to ElasticSearch
Stars: ✭ 51 (-96.05%)
Mutual labels:  aws, serverless, aws-lambda, lambda
Aws Sam Cli
CLI tool to build, test, debug, and deploy Serverless applications using AWS SAM
Stars: ✭ 5,817 (+350.93%)
Mutual labels:  aws, serverless, lambda, sam

AWS Serverless Airline Booking

Serverless Airline Booking is a complete web application that provides Flight Search, Payment, Booking and Loyalty points including end-to-end testing, GraphQL and CI/CD. This web application was the theme of Build on Serverless Season 2 on AWS Twitch running from April 24th until August 7th - Check out Twitch branch for the list of 14 episodes.

For more up-to-date information on what's being implemented, take a look at our current Boards.

Enhancements on all services will resume after the Powertools project is GA

Serverless Airline Booking sample

Deployment

To get started with the Serverless Airline application, you can deploy into your AWS Account by following our Get Started instructions

Stack

Summary of what the stack looks like now including a picture with the core tech:

  • Front-end - Vue.js as the core framework, Quasar for UI, Amplify for Auth UI component and AWS integration, and Stripe JS with Stripe Elements for card tokenization, validation, etc.
  • Data - All data is modeled after GraphQL types and stored in DynamoDB. Python being the core language for all services except Loyalty that's written in Typescript, and JavaScript for front-end.
  • API - GraphQL is managed by AppSync and also acts as an API Hub to interact with other services. Loyalty implements a REST API to demonstrate how to secure service-to-service communication while maintaining a public endpoint. Payment API is also based on REST to demonstrate an external payment provider.
  • Auth - Cognito provides JSON Web Tokens (JWT) and along with AppSync fine-grained authorization on what data types users can access.
  • Messaging - Booking workflow is managed by Step Functions while SNS provides service-to-service communication through messaging between Booking and Loyalty.

Core stack

Back-end

Back-end services that makes up the Serverless Airline functionalities as of now:

Service Language Description
Catalog Apache VTL Provides Flight search. CRUD operations including custom indexes are auto-generated by Amplify
Booking Python and Apache VTL Provides new and list Bookings. CRUD operations including custom indexes are auto-generated by Amplify. Business workflow is implemented in Python.
Payment YAML and Python Provides payment authorization, collection and refund. Bulk of Payment integration with Stripe is done via a Serverless Application Repository App. Payment collection and refund operations within Booking business workflow are in Python
Loyalty Typescript Provides Loyalty points for customers including tiers. Fetching and ingesting Loyalty points are implemented in Typescript.

Front-end

See more information about our Front-end, components, routing and convention

High level infrastructure architecture

Serverless Airline Architecture

License Summary

This sample code is made available under the MIT-0 license. See the LICENSE file.

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