Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# GitHub CODEOWNERS file
# This file defines code ownership and required reviewers for pull requests
# Documentation: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners

# Default owner for everything in the repository
* @mwarman

# Infrastructure as Code (AWS CDK)
/infrastructure/ @mwarman

# GitHub configuration and workflows
/.github/ @mwarman

# Documentation
/docs/ @mwarman
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Continuous Integration
name: CI

on:
pull_request:
Expand Down
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.github/CODEOWNERS
12 changes: 8 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
# Lambda Starter

A Lambda starter kit for Node.js TypeScript serverless functions.
[![CI](https://github.com/leanstacks/lambda-starter/actions/workflows/ci.yml/badge.svg)](https://github.com/leanstacks/lambda-starter/actions/workflows/ci.yml)
 
 
[![Code Quality](https://github.com/leanstacks/lambda-starter/actions/workflows/code-quality.yml/badge.svg)](https://github.com/leanstacks/lambda-starter/actions/workflows/code-quality.yml)

## Overview

This project provides a solid foundation for implementing Serverless Microservice Patterns with AWS Lambda functions using Node.js and TypeScript. The project uses the AWS CDK for infrastructure as code, Jest for testing, and modern development tooling.

There are many Serverless Microservice Patterns which may be implemented with AWS Lambda functions. This project illustrates the "Simple Web Service" pattern, which is one of the most frequently used.
There are many Serverless Microservice Patterns which may be implemented with AWS Lambda functions. This project illustrates the "Simple Web Service" pattern, which is one of the most frequently used. If you need to implement a different design pattern, reference the **Serverless Microservice Patterns** section below.

## Features

Expand Down Expand Up @@ -243,14 +246,15 @@ Learn more about the Lambda Utils with these resources...

## Serverless Microservice Patterns

This project implements the **Simple Web Service** serverless microservice pattern. The [Serverless Microservice Patterns repository](https://github.com/leanstacks/serverless-microservice-patterns) provides a comprehensive collection of additional patterns and examples, including:
This project implements the **Simple Web Service** serverless microservice pattern. The [Serverless Microservice Patterns repository](https://github.com/leanstacks/serverless-microservice-patterns) provides a suite of additional patterns and examples such as:

- **Simple Web Service**: A basic serverless web service pattern using API Gateway, Lambda, and DynamoDB.
- **Gatekeeper**: Adds an Auth microservice to authenticate and authorize API requests.
- **Internal API**: Facilitates synchronous, internal microservice-to-microservice integration without API Gateway exposure.
- **Internal Handoff**: Enables asynchronous microservice-to-microservice communication.
- **Publish Subscribe**: Demonstrates event-driven architecture using SNS topics and SQS queues for loose coupling.
- **Queue-Based Load Leveling**: Uses a message queue as a buffer to decouple producers from consumers and smooth demand spikes.
- **Fan Out**: Breaks a large workload into a collection of smaller tasks. This is particularly useful for batch processing.
- **Fan Out / Fan In**: Breaks a large workload into a collection of smaller tasks with progress tracking and results aggregation. This is particularly useful for batch processing.

Each pattern is implemented as a standalone project with practical examples and reference implementations for building scalable, event-driven microservices on AWS.

Expand Down