Skip to content

Commit 3ee8062

Browse files
Update README with detailed project overview
Expanded the README to provide a comprehensive summary of the DynamoDB Developer Playbook, including core concepts, example use cases, sample data, queries, diagrams, and production checklists. Added sections for quick start, repository structure, local development instructions, usage of samples and queries, and contribution guidelines to improve onboarding and usability.
1 parent 690c828 commit 3ee8062

File tree

1 file changed

+102
-8
lines changed

1 file changed

+102
-8
lines changed

README.md

Lines changed: 102 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,106 @@
11
# DynamoDB Developer Playbook
22

3-
This repository contains a `docs/` folder ready for **GitHub Pages**.
3+
Production-minded guidance for **Amazon DynamoDB**: core concepts, repeatable patterns, **two end-to-end examples** (E-commerce & Social/Activity Feed), runnable **HTTP queries**, **sample data** (CSV/JSONL), **Mermaid diagrams**, and **production checklists**.
44

5-
## Publish on GitHub Pages
6-
1. Push `docs/` to your repo’s default branch (e.g., `main`).
7-
2. In **Settings → Pages**:
8-
- **Source:** Deploy from a branch
9-
- **Branch:** `main` and **Folder:** `/docs`
10-
3. Open your Pages URL (e.g., `https://<org>.github.io/<repo>/`).
5+
**Live site:** https://wowlabz.github.io/dynamodb-playbook/
116

12-
Mermaid diagrams are embedded directly and render in GitHub Pages.
7+
---
8+
9+
## What’s inside
10+
11+
- **Concepts** — PK/SK modeling, item collections, LSI vs GSI, conditional/idempotent writes, transactions vs conditionals, migrations, security, error taxonomy.
12+
- **Examples**
13+
- **E-commerce:** Orders, Lines, Payments, Shipments, Inventory (GSI1 OrdersByUser; GSI2 OrdersByStatus; conditional inventory).
14+
- **Feed:** Posts, Likes, Comments, Tags, Followers, Notifications (GSI1 PostsByAuthor; GSI2 PostsByTag; GSI3 FeedByUser + fan-out).
15+
- **Samples** — Clean CSVs + JSONL seeds to make the patterns concrete.
16+
- **Queries** — SigV4-ready `.http` payloads for Get/Query/Put/Update with conditions and pagination.
17+
- **Diagrams** — Access-pattern matrices, key-design cheat sheets, and shared cross-cutting visuals.
18+
- **Checklists** — Design Review, Security/IAM, Observability/Ops, Cost Alarms, DR/Backup, Migration & Evolution.
19+
20+
---
21+
22+
## Quick start
23+
24+
1. **Open the site**https://wowlabz.github.io/dynamodb-playbook/
25+
2. **Skim Concepts** → understand keys, indexes, conditional writes, streams, and migrations.
26+
3. **Pick an example** → browse its **Samples**, **Access Patterns**, **Diagrams**, and **Queries**.
27+
4. **Run the queries** → copy from `docs/assets/samples/*/queries.http` into your REST client (SigV4) or adapt to AWS CLI/SDK.
28+
5. **Before shipping** → walk through **Production Checklists**.
29+
30+
---
31+
32+
## Repo structure (high level)
33+
34+
```
35+
docs/
36+
index.md # Home
37+
concepts.md # Core concepts (with shared diagrams)
38+
downloads.md # Raw Assets & Downloads
39+
ecom/
40+
index.md # Overview
41+
samples.md # Inline tables for CSVs (links to raw)
42+
access-patterns.md # Patterns table + notes
43+
diagrams.md # Renders A1–A7
44+
queries.md # How to run queries.http
45+
feed/
46+
index.md
47+
samples.md
48+
access-patterns.md
49+
diagrams.md
50+
queries.md
51+
assets/
52+
samples/
53+
ecom/ (...csv, seed.jsonl, queries.http, helpers.{py,ts})
54+
feed/ (...csv, seed.jsonl, queries.http, helpers.{py,ts})
55+
diagrams/
56+
ecom/ A1_access-pattern-matrix.mmd, A2_key-design-cheatsheet.mmd, ...
57+
feed/ B1_..., B2_..., ...
58+
shared/ C1_partition-bookshelf.png, C2_lsi-vs-gsi.mmd, ... C7_security-scope.mmd
59+
checklists/
60+
design-review.md, security-iam.md, observability-ops.md, ...
61+
styles/, overrides/, js/ # MkDocs Material branding & mermaid init
62+
mkdocs.yml # Site configuration
63+
```
64+
65+
---
66+
67+
## Work locally (MkDocs Material)
68+
69+
```bash
70+
# 1) Install
71+
pip install mkdocs mkdocs-material pymdown-extensions
72+
73+
# 2) Serve locally
74+
mkdocs serve
75+
# http://127.0.0.1:8000
76+
77+
# 3) Build static site (optional)
78+
mkdocs build
79+
```
80+
81+
> Diagrams use Mermaid via MkDocs Material; no extra build step needed.
82+
> If you prefer PNGs for diagrams, export from the `.mmd` sources under `docs/assets/diagrams/*`.
83+
84+
---
85+
86+
## Using the samples & queries
87+
88+
- **CSV/JSONL**: load into your scripts/tests or use as mental models for item shapes and key design.
89+
- **`queries.http`**: run with a client that supports **AWS SigV4** (or translate to AWS CLI/SDK).
90+
- **Helpers**: `helpers.py` / `helpers.ts` include small key/shard helpers you can reuse.
91+
92+
---
93+
94+
## Contributing
95+
96+
1. Fork and create a feature branch.
97+
2. Keep **access patterns** and **diagrams** in sync with sample CSVs.
98+
3. Prefer **Mermaid** for diagrams; place sources under `docs/assets/diagrams/...`.
99+
4. Run `mkdocs serve` and preview before opening a PR.
100+
101+
---
102+
103+
## License
104+
105+
Copyright © Wow Labz.
106+
Docs and examples are provided for educational and internal enablement purposes.

0 commit comments

Comments
 (0)