当前位置: 首页 > 软件库 > 大数据 > 数据查询 >

aws-serverless-airline-booking

授权协议 View license
开发语言 Java
所属分类 大数据、 数据查询
软件类型 开源软件
地区 不详
投 递 者 江宏放
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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.

UPDATE 2021: I'm redesigning the Airline example, including improvements like using latest features, improve security, fix domain boundaries, recreate Continuous Deployment, and a ton of performance improvements (pending Quasar v2 GA).

Planning for Q4 2021 along with a public workshop based on this project - ping @heitor_lessa on Twitter if you ever get stuck.

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.

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

License Summary

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

 相关资料
  • aws-serverless-koa This library enables you to utilize AWS Lambda and Amazon API Gateway to respond to web and API requests using the Koa.js application framework Installation $ npm install --save aws

  • Wild Rydes Serverless Workshops This repository contains a collection of workshops and other hands on content that will guide you through building various serverless applications using AWS Lambda, Ama

  • Serverless Java container The aws-serverless-java-container makes it easy to run Java applications written with frameworks such as Spring, Spring Boot, Apache Struts, Jersey, or Spark in AWS Lambda. S

  • AWS Serverless Ecommerce Platform Status: Work-in-progress. Please create issues or pull requests if you have ideas for improvement. The Serverless Ecommerce Platform is a sample implementation of a s

  • Serverless AWS Alerts Plugin A Serverless plugin to easily add CloudWatch alarms to functions Installation npm i serverless-plugin-aws-alertsORyarn add --dev serverless-plugin-aws-alerts Usage Basic U

  • SpaceFinder - Serverless Auth Reference App SpaceFinder is a reference mobile app that allows users to book conference rooms, work desks, and other shared resources. The app showcases serverless authe