当前位置: 首页 > 软件库 > 云计算 > Serverless 系统 >

aws-serverless-ecommerce-platform

授权协议 MIT-0 License
开发语言 JavaScript
所属分类 云计算、 Serverless 系统
软件类型 开源软件
地区 不详
投 递 者 栾钟展
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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 serverless backend for an e-commerce website. Functionalities are split across multiple micro-services that communicate either through asynchronous messages over Amazon EventBridge or over synchronous APIs.

This sample is not meant to be used as an e-commerce platform as-is, but as an inspiration on how to build event-driven serverless microservices on AWS. This makes lots of assumptions on the order flow that might not be suitable for most e-commerce platform and doesn't include many of the features that you might need for this.

Please note that you may incure AWS charges for deploying the ecommerce platform into your AWS account as not all services used are part of the free tier and you might exceed the free tier usage limit. To track costs in your AWS account, consider using AWS Cost Explorer and AWS Billing and Cost Management. You can also set up a billing alarm to get notified of unexpected charges.

Getting started

To install the necessary tools and deploy this in your own AWS account, see the getting started guide in the documentation section.

Architecture

High-level architecture

This is a high-level view of how the different microservices interact with each other. Each service folder contains anarchitecture diagram with more details for that specific service.

Technologies used

Communication/Messaging:

  • AWS AppSync for interactions between users and the ecommerce platform.
  • Amazon API Gateway for service-to-service synchronous communication (request/response).
  • Amazon EventBridge for service-to-service asynchronous communication (emitting and reacting to events).

Authentication/Authorization:

  • Amazon Cognito for managing and authenticating users, and providing JSON web tokens used by services.
  • AWS Identity and Access Management for service-to-service authorization, either between microservices (e.g. authorize to call an Amazon API Gateway REST endpoint), or within a microservice (e.g. granting a Lambda function the permission to read from a DynamoDB table).

Compute:

  • AWS Lambda as serverless compute either behind APIs or to react to asynchronous events.

Storage:

  • Amazon DynamoDB as a scalable NoSQL database for persisting informations.

CI/CD:

Monitoring:

Backend services

Services Description
users Provides user management, authentication and authorization.
products Source of truth for products information.
orders Manages order creation and status.
warehouse Manages inventory and packaging orders.
delivery Manages shipping and tracking packages.
delivery-pricing Pricing calculator for deliveries.
payment Manages payment collection and refunds.
payment-3p Simulates a third party payment system.

Frontend service

Services Description
frontend-api User-facing API for interacting with the services.

Infrastructure services

Services Description
pipeline CI/CD pipeline for deploying the resources in production.
platform Core platform resources for deploying backend services.

Shared resources

Name Description
docs Documentation application for all services.
shared Shared resources accessible for all services, such as common CloudFormation templates and OpenAPI schemas.
tools Tools used to build services.

Documentation

See the docs folder for the documentation.

Contributing

See the contributing and getting started documents to learn how to contribute to this project.

License

This library is licensed 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

  • 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

  • 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

  • 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