Examples¶
Complete, runnable examples demonstrating how to use ddb-lib in real-world scenarios.
Repository examples¶
All examples are available in the GitHub repository.
Standalone examples¶
Examples using @ddb-lib/client without AWS Amplify.
basic CRUD operations¶
Learn the fundamentals of CRUD operations with TableClient.
Topics Covered: - Creating items with put() - Reading items with get() - Updating items with update() - Deleting items with delete() - Error handling
File: examples/standalone/basic-crud.ts
single-table design¶
Implement single-table design patterns with multiple entity types.
Topics Covered: - Entity keys for different types - Composite keys for relationships - GSI for alternative access patterns - Query patterns
File: examples/standalone/single-table-design.ts
statistics and monitoring¶
Monitor and optimize DynamoDB operations.
Topics Covered: - Statistics collection - Anti-pattern detection - Optimization recommendations - Performance metrics
File: examples/standalone/stats-monitoring.ts
Amplify examples¶
Examples using @ddb-lib/amplify with AWS Amplify Gen 2.
basic Amplify usage¶
Get started with Amplify integration.
Topics Covered: - Amplify client setup - Model operations - Monitoring integration - Pattern helpers
File: examples/amplify/basic-usage.ts
amplify monitoring¶
Monitor Amplify data operations.
Topics Covered: - AmplifyMonitor setup - Statistics collection - Recommendations - Performance tracking
File: examples/amplify/with-monitoring.ts
pattern helpers¶
Use pattern helpers with Amplify schemas.
Topics Covered: - Entity keys in Amplify - Composite keys for relationships - Time-series patterns - Multi-tenant patterns
File: examples/amplify/pattern-helpers.ts
Running examples¶
Prerequisites¶
# Install dependencies
npm install
# Configure AWS credentials
export AWS_REGION=us-east-1
export AWS_ACCESS_KEY_ID=your_key
export AWS_SECRET_ACCESS_KEY=your_secret
Run standalone examples¶
# Basic CRUD
npx tsx examples/standalone/basic-crud.ts
# Single-table design
npx tsx examples/standalone/single-table-design.ts
# Statistics monitoring
npx tsx examples/standalone/stats-monitoring.ts
Run Amplify examples¶
# Basic usage
npx tsx examples/amplify/basic-usage.ts
# With monitoring
npx tsx examples/amplify/with-monitoring.ts
# Pattern helpers
npx tsx examples/amplify/pattern-helpers.ts
Example structure¶
Each example follows this structure:
// 1. Imports
import { TableClient } from '@ddb-lib/client'
// 2. Configuration
const config = {
tableName: 'ExampleTable',
region: 'us-east-1'
}
// 3. Setup
const table = new TableClient(config)
// 4. Example operations
async function example() {
// ... operations
}
// 5. Run
example().catch(console.error)
Additional resources¶
- Getting Started - Installation and setup
- Guides - Feature-specific guides
- API Reference - Complete API documentation
- Patterns - DynamoDB design patterns
- Best Practices - Optimization techniques
Contributing examples¶
Have a great example to share? We'd love to include it!
- Fork the repository
- Add your example to
examples/ - Include a README with explanation
- Submit a pull request
See the Contributing Guide for more details.