All Projects → aws-samples → Aws Serverless Ecommerce Platform

aws-samples / Aws Serverless Ecommerce Platform

Licence: other
Serverless Ecommerce Platform is a sample implementation of a serverless backend for an e-commerce website. 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.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Aws Serverless Ecommerce Platform

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 (+1699.36%)
Mutual labels:  microservices, api-gateway, aws, serverless, lambda
Serverless Es Logs
A Serverless plugin to transport logs to ElasticSearch
Stars: ✭ 51 (-89.13%)
Mutual labels:  api-gateway, aws, serverless, lambda
Terraform Nextjs Plugin
A plugin to generate terraform configuration for Nextjs 8 and 9
Stars: ✭ 41 (-91.26%)
Mutual labels:  api-gateway, aws, serverless, lambda
Aws Lambda Fastify
Insipired by aws-serverless-express to work with Fastify with inject functionality.
Stars: ✭ 190 (-59.49%)
Mutual labels:  api-gateway, aws, serverless, lambda
Aws Sam Cli
CLI tool to build, test, debug, and deploy Serverless applications using AWS SAM
Stars: ✭ 5,817 (+1140.3%)
Mutual labels:  api-gateway, aws, serverless, lambda
Aws Mobile React Sample
A React Starter App that displays how web developers can integrate their front end with AWS on the backend. The App interacts with AWS Cognito, API Gateway, Lambda and DynamoDB on the backend.
Stars: ✭ 650 (+38.59%)
Mutual labels:  api-gateway, aws, serverless, lambda
Serverless Next.js
⚡ Deploy your Next.js apps on AWS Lambda@Edge via Serverless Components
Stars: ✭ 2,977 (+534.75%)
Mutual labels:  api-gateway, aws, serverless, lambda
Hexaville
The modern serverless web application engine and framework for Swift
Stars: ✭ 123 (-73.77%)
Mutual labels:  api-gateway, aws, serverless, lambda
Serverless Api Example
Example of a Golang, Serverless API
Stars: ✭ 62 (-86.78%)
Mutual labels:  microservices, aws, serverless, lambda
Designing Cloud Native Microservices On Aws
Introduce a fluent way to design cloud native microservices via EventStorming workshop, this is a hands-on workshop. Contains such topics: DDD, Event storming, Specification by example. Including the AWS product : Serverless Lambda , DynamoDB, Fargate, CloudWatch.
Stars: ✭ 131 (-72.07%)
Mutual labels:  microservices, aws, serverless, lambda
Mangum
AWS Lambda & API Gateway support for ASGI
Stars: ✭ 475 (+1.28%)
Mutual labels:  api-gateway, aws, serverless, lambda
Shep
A framework for building JavaScript Applications with AWS API Gateway and Lambda
Stars: ✭ 376 (-19.83%)
Mutual labels:  api-gateway, aws, serverless, lambda
Aws Serverless Appsync App
This workshop shows you how to build a Web Application that demonstrates how easy it is to create data driven web applications all with no servers. You will build a serverless web application that lets users search for popular tourist destinations. The application will use AWS AppSync and the AWS Serverless platform to provide real-time weather analysis of the indexed destinations.
Stars: ✭ 162 (-65.46%)
Mutual labels:  appsync, aws, serverless, lambda
Workshop Donkeytracker
Workshop to build a serverless tracking application for your mobile device with an AWS backend
Stars: ✭ 27 (-94.24%)
Mutual labels:  api-gateway, aws, serverless, lambda
Aws Serverless Appsync Loyalty
Unicorn Loyalty: E-Commerce Serverless GraphQL Loyalty Sample App
Stars: ✭ 110 (-76.55%)
Mutual labels:  appsync, aws, serverless, lambda
Aws Mobile React Native Starter
AWS Mobile React Native Starter App https://aws.amazon.com/mobile
Stars: ✭ 2,247 (+379.1%)
Mutual labels:  api-gateway, aws, serverless, lambda
Eventstormingworkshop
EventStorming workshop, this is a hands-on workshop. Contains such topics: DDD, Event storming, Specification by example. Including the AWS product : Serverless Lambda , DynamoDB, Fargate, CloudWatch.
Stars: ✭ 184 (-60.77%)
Mutual labels:  microservices, aws, serverless, lambda
Aws Microservices Deploy Options
This repo contains a simple application that consists of three microservices. Each application is deployed using different Compute options on AWS.
Stars: ✭ 370 (-21.11%)
Mutual labels:  microservices, aws, serverless, lambda
Grant
OAuth Proxy
Stars: ✭ 3,509 (+648.19%)
Mutual labels:  aws, serverless, lambda
Serverless Iam Roles Per Function
Serverless Plugin for easily defining IAM roles per function via the use of iamRoleStatements at the function level.
Stars: ✭ 311 (-33.69%)
Mutual labels:  aws, serverless, lambda

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.

High-level flow across microservices

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.

High-level architecture diagram

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.

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