Skip to content

Latest commit

 

History

History
62 lines (45 loc) · 2.98 KB

README.md

File metadata and controls

62 lines (45 loc) · 2.98 KB

Serverless Event-driven E-commerce Microservices

UDEMY COURSE WITH DISCOUNTED - Step by Step Development of this Repository -> https://www.udemy.com/course/aws-serverless-microservices-lambda-eventbridge-sqs-apigateway/?couponCode=APRI24

course2

This is a Serverless Event-driven E-commerce project for TypeScript development with CDK. The cdk.json file tells the CDK Toolkit how to execute your app.

Check Explanation of this Repository on Medium

Whats Including In This Repository

We will be following the reference architecture above which is a real-world Serverless E-commerce application and it includes;

  • REST API and CRUD endpoints with using AWS Lambda, API Gateway
  • Data persistence with using AWS DynamoDB
  • Decouple microservices with events using Amazon EventBridge
  • Message Queues for cross-service communication using AWS SQS
  • Cloud stack development with IaC using AWS CloudFormation and AWS CDK

Prerequisites

You will need the following tools:

  • AWS Account and User
  • AWS CLI
  • NodeJS
  • AWS CDK Toolkit
  • Docker

Run The Project

Follow these steps to get your development environment set up: (Before Run Start the Docker Desktop)

  1. Clone the repository
  2. At the root directory which include cdk.json files, run below command:
cdk deploy

Note: Make sure that your Docker Desktop is running before execute the cdk deploy command.

  1. Wait for provision all microservices into aws cloud. That’s it!

  2. You can launch microservices as below urls:

Useful commands

  • npm run build compile typescript to js
  • npm run watch watch for changes and compile
  • npm run test perform the jest unit tests
  • cdk deploy deploy this stack to your default AWS account/region
  • cdk diff compare deployed stack with current state
  • cdk synth emits the synthesized CloudFormation template

Authors

See also the list of contributors who participated in this project. Check also gihtub page of repository.