Demo projects 📁
Demo projects are fully functioning, end-to-end examples that can serve as inspiration for your work.
You can find them in the Backpack repository under /apps
.
@backpack/bookstore-rest-api
The Bookstore REST API demonstrates Backpack best practices for building a REST API.
It includes the following:
- AWS Lambdas with API Gateway
- Endpoint handlers implemented using
@backpack/aws-lambda
- Environment-specific app configs
- Error handling with
@backpack-error-handling
- Dependency injection with Needle DI
- Local development using
@backpack/vite-plugin-lambda
- OpenAPI specs with generated Zod schemas
- Unit tests and coverage with Vite
- Integration tests (standalone) with Vitest + Docker
- CI/CD using an Azure DevOps pipeline
- Logging, metrics and a dashboard with Datadog
Infrastructure architecture
The infrastructure of the API is specified as Infrastructure as Code (IaC) using CDK. It uses Lambda functions, a DynamoDB table, and an AWS API Gateway.
An overview of how all the AWS infrastructure components work together in the Bookstore Demo API can be found in the following figure:
Not in scope (yet)
The following features are not (yet) part of the Bookstore Demo API:
- Caching
- Authentication & Authorization
- Resiliency patterns
- Azure API Management integration