Zurück zum Ranking

aws-samples/aws-serverless-airline-booking

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.

graphqlairline-bookingserverlesssamlambda-functionslambdaawsaws-lambdapythontypescriptaws-lambda-pythonaws-lambda-node
Sterne-Wachstum
Sterne
2.3k
Forks
1.3k
Wochenwachstum
Issues
3
1k2k
Apr. 2019Sept. 2021Feb. 2024Juli 2026
README

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.

Note

This project is no longer being worked on. This branch repo only serves to give inspiration to others as a point in time reference, you can see the former code by viewing the archive branch

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.

Ähnliche Repositories
hoppscotch/hoppscotch

Open-Source API Development Ecosystem • https://hoppscotch.io • Offline, On-Prem & Cloud • Web, Desktop & CLI • Open-Source Alternative to Postman, Insomnia

TypeScriptnpmMIT Licenseapiapi-client
hoppscotch.io
79.8k6k
strapi/strapi

🚀 Strapi is the leading open-source headless CMS. It’s 100% JavaScript/TypeScript, fully customizable, and developer-first.

TypeScriptnpmOtherstrapinodejs
strapi.io
72.7k9.8k
gatsbyjs/gatsby

React-based framework with performance, scalability, and security built in.

JavaScriptnpmMIT Licensegatsbystatic-site-generator
gatsbyjs.com
56k10.2k
twentyhq/twenty

The open alternative to Salesforce, designed for AI.

TypeScriptnpmOthercrmcustomer
twenty.com
53.4k8.1k
prettier/prettier

Prettier is an opinionated code formatter.

JavaScriptnpmMIT Licenseformatterprinter
prettier.io
52.1k4.9k
TanStack/query

🤖 Powerful asynchronous state management, server-state utilities and data fetching for the web. TS/JS, React Query, Solid Query, Svelte Query and Vue Query.

TypeScriptnpmMIT Licensereacthooks
tanstack.com/query
50k4k
payloadcms/payload

Payload is the open-source, fullstack Next.js framework, giving you instant backend superpowers. Get a full TypeScript backend and admin panel instantly. Use Payload as a headless CMS or for building powerful applications.

TypeScriptnpmMIT Licenseheadless-cmscms
payloadcms.com
43.7k4k
Kong/insomnia

The open-source, cross-platform API client for GraphQL, REST, WebSockets, SSE and gRPC. With Cloud, Local and Git storage.

TypeScriptnpmApache License 2.0electron-apprest-api
insomnia.rest
39.9k2.4k
directus/directus

The flexible backend for all your projects 🐰 Turn your DB into a headless CMS, admin panels, or apps with a custom UI, instant APIs, auth & more.

TypeScriptnpmOtherapicms
directus.com
36.7k4.9k
refinedev/refine

A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility.

TypeScriptnpmMIT Licensereacttypescript
refine.dev
35.4k3.2k
hasura/graphql-engine

Blazing fast, instant realtime GraphQL APIs on all your data with fine grained access control, also trigger webhooks on database events.

TypeScriptnpmApache License 2.0graphqlgraphql-server
hasura.io
32k2.9k
slymnoyann/hey-1

Hey is a decentralized and permissionless social media app built with Lens Protocol 🌿

TypeScriptnpmGNU General Public License v3.0web3blockchain
hey.xyz
29.4k1.8k