Skip to content

Commit e14830e

Browse files
Fix broken links and anchors (#905)
1 parent ad67f02 commit e14830e

File tree

9 files changed

+99
-101
lines changed

9 files changed

+99
-101
lines changed

docs/dev-center/README.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
---
2-
title: Dev Center
2+
title: Tutorials
33
order: 1
44
---
55

6-
7-
### Welcome to the Kurrent Dev Center!
6+
### Kurrent Tutorials
87

98
Here you'll find tutorials, use cases, and best practices to help you get the most out of your Kurrent experience.

docs/dev-center/use-cases/mix-and-match-database/tutorial/tutorial-1.md

Lines changed: 35 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -7,32 +7,35 @@ prev: ./tutorial-intro.md
77

88
In this part, you will start a GitHub Codespaces session in your browser.
99

10-
::: info
11-
GitHub Codespaces provides an instant and preconfigured development environment all within your browser. This environment contains all the tools and code to complete this tutorial. To learn more about Github Codespaces, [click here](https://github.com/features/codespaces).
12-
:::
10+
::: info
11+
GitHub Codespaces provides an instant and preconfigured development environment all within your browser. This
12+
environment contains all the tools and code to complete this tutorial. To learn more about Github
13+
Codespaces, [click here](https://github.com/features/codespaces).
14+
:::
1315

14-
You will then initialize KurrentDB by appending sample events that mimic an e-commerce application. The events are appended using a data generator program.
16+
You will then initialize KurrentDB by appending sample events that mimic an e-commerce application. The events are
17+
appended using a data generator program.
1518

1619
## Step 1: Set up Your Codespaces
1720

1821
1. Click the button below to initiate Codespaces and ensure following values are selected:
19-
20-
[![](https://github.com/codespaces/badge.svg)](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=951198039&skip_quickstart=true)
2122

23+
[![](https://github.com/codespaces/badge.svg)](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=951198039&skip_quickstart=true)
2224

23-
| Configuration Option | Selection |
24-
|--------------------------------|----------------------|
25-
| Branch | `main` |
26-
| Dev container configuration | `Mix-and-Match Database` |
27-
| Region | Any value |
28-
| Machine type | Any value |
25+
| Configuration Option | Selection |
26+
|-----------------------------|--------------------------|
27+
| Branch | `main` |
28+
| Dev container configuration | `Mix-and-Match Database` |
29+
| Region | Any value |
30+
| Machine type | Any value |
2931

3032
Log in to GitHub if required.
3133

32-
2. Wait for your Codespace to build. This can take up to a few minutes.
34+
2. Wait for your Codespace to build. This can take up to a few minutes.
3335

3436
::: tip
35-
For this quickstart, you can safely ignore and close any Codespaces notifications that appear on the bottom right of the page.
37+
For this quickstart, you can safely ignore and close any Codespaces notifications that appear on the bottom right of the
38+
page.
3639
:::
3740

3841
## Step 2: Start and Initialize KurrentDB with Sample Events
@@ -57,45 +60,45 @@ For this quickstart, you can safely ignore and close any Codespaces notification
5760

5861
3. Copy the URL printed in the terminal from the last step.
5962

60-
4. Open a new browser tab.
63+
4. Open a new browser tab.
6164

6265
5. In the address bar of the new tab, paste the URL and navigate to it.
6366

6467
6. This will display the KurrentDB Admin UI.
65-
68+
6669
![KurrentDB Admin UI Dashboard](../images/admin-ui.png =300x)
6770

68-
## Step 3: Browse Sample Events in KurrentDB's Admin UI
71+
## Step 3: Browse Sample Events in KurrentDB Admin UI
6972

7073
1. Click the `Stream Browser` link from the top navigation bar.
7174

72-
2. Under `Recently Changed Streams`, click the `$ce-cart` link.
75+
2. Under `Recently Changed Streams`, click the `$ce-cart` link.
7376

7477
::: info Understanding Category System Projection
75-
The `$ce-cart` stream contains events from all the carts in KurrentDB. This uses the category system projection stream feature. For more information, see [System Projections](https://docs.kurrent.io/server/v25.0/features/projections/system.html#by-category).
78+
The `$ce-cart` stream contains events from all the carts in KurrentDB. This uses the category system projection
79+
stream feature. For more information,
80+
see [System Projections](https://docs.kurrent.io/server/v25.0/features/projections/system.html#by-category).
7681
:::
7782

78-
7983
3. You should see an ordered list of the appended events associated with two distinct, virtual shopping carts.
8084

8185
::: info Introducing shopping cart events
82-
In KurrentDB, events for each shopping cart are appended to a stream like `cart-2fbe05d1dcf043d782ea24923298ae3a`, where `2fbeone05d1dcf043d782ea24923298ae3a` is the cart's unique ID.
86+
In KurrentDB, events for each shopping cart are appended to a stream like `cart-2fbe05d1dcf043d782ea24923298ae3a`,
87+
where `2fbeone05d1dcf043d782ea24923298ae3a` is the cart's unique ID.
8388

8489
The cart will contain events like these:
8590

86-
| Event | Description |
87-
|---------------------------|-------------------------------------------------------------------------------------------------|
88-
| `VisitorStartedShopping` | When a visitor starts shopping and a cart is created. |
89-
| `CustomerStartedShopping` | When a known customer starts shopping and a cart is associated with their ID. |
90-
| `CartShopperGotIdentified`| When a customer's identity is linked to a cart (e.g., a visitor logged in) |
91-
| `ItemGotAdded` | When an item is added to the cart, including details like quantity, price, and tax. |
92-
| `ItemGotRemoved` | When an item is removed from the cart, including the quantity removed. |
93-
| `CartGotCheckedOut` | When a cart is checked out and converted into an order. |
94-
| `CartGotAbandoned` | When a cart is abandoned after being idle for a specified duration. |
91+
| Event | Description |
92+
|----------------------------|-------------------------------------------------------------------------------------|
93+
| `VisitorStartedShopping` | When a visitor starts shopping and a cart is created. |
94+
| `CustomerStartedShopping` | When a known customer starts shopping and a cart is associated with their ID. |
95+
| `CartShopperGotIdentified` | When a customer's identity is linked to a cart (e.g., a visitor logged in) |
96+
| `ItemGotAdded` | When an item is added to the cart, including details like quantity, price, and tax. |
97+
| `ItemGotRemoved` | When an item is removed from the cart, including the quantity removed. |
98+
| `CartGotCheckedOut` | When a cart is checked out and converted into an order. |
99+
| `CartGotAbandoned` | When a cart is abandoned after being idle for a specified duration. |
95100
:::
96101

97102
::: info Quick Quiz
98-
99103
What were the quantities of each product in the shopping carts?
100-
101104
:::

docs/dev-center/use-cases/mix-and-match-database/tutorial/tutorial-intro.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -27,19 +27,19 @@ Before starting, ensure you have the following:
2727

2828
This tutorial consists of the following steps:
2929

30-
### [Part 1: Setup and Initialize KurrentDB](/getting-started/use-cases/mix-and-match-database/tutorial-1.md)
31-
1. **[Set up your Codespaces](/getting-started/use-cases/mix-and-match-database/tutorial-1.md#step-1-set-up-your-codespaces)**: Starts up an interactive coding environment in your browser where all tools and database are installed
32-
2. **[Start and Initialize KurrentDB with Sample Events](/getting-started/use-cases/mix-and-match-database/tutorial-1.md#step-2-start-and-initialize-kurrentdb-with-sample-events)**: Start up KurrentDB and initialize it with sample events
33-
3. **[Browse the Sample Events in KurrentDB's Admin UI](/getting-started/use-cases/mix-and-match-database/tutorial-1.md#step-3-browse-sample-events-in-kurrentdb-s-admin-ui)**: Access the Admin UI to browse the appended events
34-
### [Part 2: Project KurrentDB Events to Postgres](/getting-started/use-cases/mix-and-match-database/tutorial-2.md)
35-
4. **[Execute Projection Applications](/getting-started/use-cases/mix-and-match-database/tutorial-2.md#step-4-execute-projection-application)**: Starts up the projection sample applications that transform KurrentDB events into read models in Postgres and Redis
36-
5. **[Review the Projected Read Models in Postgres](/getting-started/use-cases/mix-and-match-database/tutorial-2.md#step-5-review-the-projected-read-models-in-postgres)**: Run the PostgreSQL command line tool to review the newly inserted records
37-
6. **[Examine the Postgres Projection Application Codebase](/getting-started/use-cases/mix-and-match-database/tutorial-2.md#step-6-examine-the-postgres-projection-application-codebase)**: Examine the PostgreSQL projection application codebase to see how events are transformed to read models in the tables
38-
### [Part 3: Project KurrentDB Events to Redis](/getting-started/use-cases/mix-and-match-database/tutorial-3.md)
39-
7. **[Review the Projected Read Models in Redis](/getting-started/use-cases/mix-and-match-database/tutorial-3.md#step-7-review-the-projected-read-models-in-redis)**: Run the Redis command line tool to review the newly added entries
40-
8. **[Examine the Redis Projection Application Codebase](/getting-started/use-cases/mix-and-match-database/tutorial-3.md#step-8-examine-the-redis-projection-application-codebase)**: Examine the Redis projection application codebase to see how events are transformed into read models in Redis
41-
### [Part 4: Project KurrentDB Events in Real-Time](/getting-started/use-cases/mix-and-match-database/tutorial-4.md)
42-
9. **[Browse the Demo Web Page](/getting-started/use-cases/mix-and-match-database/tutorial-4.md#step-9-browse-the-demo-web-page)**: Navigate to the Demo Web Page to see a sample of how the read models in Postgres and Redis are used
43-
10. **[Start the Live Data Generator](/getting-started/use-cases/mix-and-match-database/tutorial-4.md#step-10-start-the-live-data-generator)**: Start a live data generator program that continuously appends events into KurrentDB
44-
11. **[Watch the Read Models Update in Real-Time](/getting-started/use-cases/mix-and-match-database/tutorial-4.md#step-11-watch-the-read-models-update-in-real-time)**: See how the read models are updated in real-time in the Demo Web Page
45-
12. **[Understanding catch-up subscription and real-time processing](/getting-started/use-cases/mix-and-match-database/tutorial-4.md#step-12-understanding-catch-up-subscription-and-real-time-processing)**: Understand how the code projects events to the read models in real-time
30+
### [Part 1: Setup and Initialize KurrentDB](tutorial-1.md)
31+
1. **[Set up your Codespaces](tutorial-1.md#step-1-set-up-your-codespaces)**: Starts up an interactive coding environment in your browser where all tools and database are installed
32+
2. **[Start and Initialize KurrentDB with Sample Events](tutorial-1.md#step-2-start-and-initialize-kurrentdb-with-sample-events)**: Start up KurrentDB and initialize it with sample events
33+
3. **[Browse the Sample Events in KurrentDB Admin UI](tutorial-1.md#step-3-browse-sample-events-in-kurrentdb-admin-ui)**: Access the Admin UI to browse the appended events
34+
### [Part 2: Project KurrentDB Events to Postgres](tutorial-2.md)
35+
4. **[Execute Projection Applications](tutorial-2.md#step-4-execute-projection-application)**: Starts up the projection sample applications that transform KurrentDB events into read models in Postgres and Redis
36+
5. **[Review the Projected Read Models in Postgres](tutorial-2.md#step-5-review-the-projected-read-models-in-postgres)**: Run the PostgreSQL command line tool to review the newly inserted records
37+
6. **[Examine the Postgres Projection Application Codebase](tutorial-2.md#step-6-examine-the-postgres-projection-application-codebase)**: Examine the PostgreSQL projection application codebase to see how events are transformed to read models in the tables
38+
### [Part 3: Project KurrentDB Events to Redis](tutorial-3.md)
39+
7. **[Review the Projected Read Models in Redis](tutorial-3.md#step-7-review-the-projected-read-models-in-redis)**: Run the Redis command line tool to review the newly added entries
40+
8. **[Examine the Redis Projection Application Codebase](tutorial-3.md#step-8-examine-the-redis-projection-application-codebase)**: Examine the Redis projection application codebase to see how events are transformed into read models in Redis
41+
### [Part 4: Project KurrentDB Events in Real-Time](tutorial-4.md)
42+
9. **[Browse the Demo Web Page](tutorial-4.md#step-9-browse-the-demo-web-page)**: Navigate to the Demo Web Page to see a sample of how the read models in Postgres and Redis are used
43+
10. **[Start the Live Data Generator](tutorial-4.md#step-10-start-the-live-data-generator)**: Start a live data generator program that continuously appends events into KurrentDB
44+
11. **[Watch the Read Models Update in Real-Time](tutorial-4.md#step-11-watch-the-read-models-update-in-real-time)**: See how the read models are updated in real-time in the Demo Web Page
45+
12. **[Understanding catch-up subscription and real-time processing](tutorial-4.md#step-12-understanding-catch-up-subscription-and-real-time-processing)**: Understand how the code projects events to the read models in real-time

docs/dev-center/use-cases/outbox/tutorial/tutorial-2.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ On the other hand, an event like `OrderPlaced` in this tutorial may not require
4444

4545
![KurrentDB Admin UI Dashboard](../images/admin-ui.png =300x)
4646

47-
## Step 3: Browse OrderPlaced Events in KurrentDB's Admin UI
47+
## Step 3: Browse OrderPlaced Events in KurrentDB Admin UI
4848

4949
1. Click the `Stream Browser` link from the top navigation bar.
5050

docs/dev-center/use-cases/outbox/tutorial/tutorial-intro.md

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -31,23 +31,23 @@ Before starting, ensure you have the following:
3131

3232
This tutorial consists of the following steps:
3333

34-
### [Part 1: Set up Codespaces](/getting-started/use-cases/outbox/tutorial-1.md)
35-
1. **[Set up your Codespaces](/getting-started/use-cases/outbox/tutorial-1.md#step-1-set-up-your-codespaces)**: Start an interactive coding environment in your browser where all tools and databases are installed
36-
37-
### [Part 2: Trigger Writes to External Data Stores](/getting-started/use-cases/outbox/tutorial-2.md)
38-
2. **[Start Databases and Append OrderPlaced Event to KurrentDB](/getting-started/use-cases/outbox/tutorial-2.md#step-2-start-databases-and-append-orderplaced-event-to-kurrentdb)**: Start KurrentDB and PostgreSQL, and append sample OrderPlaced events
39-
3. **[Browse OrderPlaced Events in KurrentDB's Admin UI](/getting-started/use-cases/outbox/tutorial-2.md#step-3-browse-orderplaced-events-in-kurrentdb-s-admin-ui)**: Access the Admin UI to explore the triggering events
40-
41-
### [Part 3: Write to a External Data Store with Persistent Subscription](/getting-started/use-cases/outbox/tutorial-3.md)
42-
4. **[Create a KurrentDB Persistent Subscription Consumer Group](/getting-started/use-cases/outbox/tutorial-3.md#step-4-create-a-kurrentdb-persistent-subscription-consumer-group)**: Set up a persistent subscription to process events
43-
5. **[Review the Consumer Group from the KurrentDB Admin UI](/getting-started/use-cases/outbox/tutorial-3.md#step-5-review-the-consumer-group-from-the-kurrentdb-admin-ui)**: Examine the created consumer group
44-
6. **[Start the Order Processor Application](/getting-started/use-cases/outbox/tutorial-3.md#step-6-start-the-order-processor-application)**: Run the application that processes OrderPlaced events
45-
7. **[Examine the Order Processor Application Codebase](/getting-started/use-cases/outbox/tutorial-3.md#step-7-examine-the-order-processor-application-codebase)**: Understand how idempotent event processing works in KurrentDB
46-
8. **[Process New Events in Real-Time](/getting-started/use-cases/outbox/tutorial-3.md#step-8-process-new-events-in-real-time)**: Observe real-time event processing with persistent subscriptions
47-
48-
### [Part 4: Error Handling for Writes to External Data Stores](/getting-started/use-cases/outbox/tutorial-4.md)
49-
9. **[Handle Application Outage with Checkpoints](/getting-started/use-cases/outbox/tutorial-4.md#step-9-handle-application-outage-with-checkpoints)**: Learn how checkpoints ensure event processing after system failures
50-
10. **[Handle Transient Errors by Retrying Events](/getting-started/use-cases/outbox/tutorial-4.md#step-10-handle-transient-errors-by-retrying-events)**: Implement retry logic for temporary failures
51-
11. **[Examine How Transient Errors are Handled in the Codebase](/getting-started/use-cases/outbox/tutorial-4.md#step-11-examine-how-transient-errors-are-handled-in-the-codebase)**: Understand the error handling implementation
52-
12. **[Handle Permanent Errors by Skipping Events](/getting-started/use-cases/outbox/tutorial-4.md#step-12-handle-permanent-errors-by-skipping-events)**: Learn to handle unrecoverable errors by skipping problematic events
53-
13. **[Examine How Permanent Errors are Handled in the Codebase](/getting-started/use-cases/outbox/tutorial-4.md#step-13-examine-how-permanent-errors-are-handled-in-the-codebase)**: Review the permanent error handling implementation
34+
### [Part 1: Set up Codespaces](tutorial-1.md)
35+
1. **[Set up your Codespaces](tutorial-1.md#step-1-set-up-your-codespaces)**: Start an interactive coding environment in your browser where all tools and databases are installed
36+
37+
### [Part 2: Trigger Writes to External Data Stores](tutorial-2.md)
38+
2. **[Start Databases and Append OrderPlaced Event to KurrentDB](tutorial-2.md#step-2-start-databases-and-append-orderplaced-event-to-kurrentdb)**: Start KurrentDB and PostgreSQL, and append sample OrderPlaced events
39+
3. **[Browse OrderPlaced Events in KurrentDB Admin UI](tutorial-2.md#step-3-browse-orderplaced-events-in-kurrentdb-admin-ui)**: Access the Admin UI to explore the triggering events
40+
41+
### [Part 3: Write to a External Data Store with Persistent Subscription](tutorial-3.md)
42+
4. **[Create a KurrentDB Persistent Subscription Consumer Group](tutorial-3.md#step-4-create-a-kurrentdb-persistent-subscription-consumer-group)**: Set up a persistent subscription to process events
43+
5. **[Review the Consumer Group from the KurrentDB Admin UI](tutorial-3.md#step-5-review-the-consumer-group-from-the-kurrentdb-admin-ui)**: Examine the created consumer group
44+
6. **[Start the Order Processor Application](tutorial-3.md#step-6-start-the-order-processor-application)**: Run the application that processes OrderPlaced events
45+
7. **[Examine the Order Processor Application Codebase](tutorial-3.md#step-7-examine-the-order-processor-application-codebase)**: Understand how idempotent event processing works in KurrentDB
46+
8. **[Process New Events in Real-Time](tutorial-3.md#step-8-process-new-events-in-real-time)**: Observe real-time event processing with persistent subscriptions
47+
48+
### [Part 4: Error Handling for Writes to External Data Stores](tutorial-4.md)
49+
9. **[Handle Application Outage with Checkpoints](tutorial-4.md#step-9-handle-application-outage-with-checkpoints)**: Learn how checkpoints ensure event processing after system failures
50+
10. **[Handle Transient Errors by Retrying Events](tutorial-4.md#step-10-handle-transient-errors-by-retrying-events)**: Implement retry logic for temporary failures
51+
11. **[Examine How Transient Errors are Handled in the Codebase](tutorial-4.md#step-11-examine-how-transient-errors-are-handled-in-the-codebase)**: Understand the error handling implementation
52+
12. **[Handle Permanent Errors by Skipping Events](tutorial-4.md#step-12-handle-permanent-errors-by-skipping-events)**: Learn to handle unrecoverable errors by skipping problematic events
53+
13. **[Examine How Permanent Errors are Handled in the Codebase](tutorial-4.md#step-13-examine-how-permanent-errors-are-handled-in-the-codebase)**: Review the permanent error handling implementation

docs/dev-center/use-cases/time-travel/tutorial/tutorial-2.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ In this part, you will start a KurrentDB instance and initialize it with a few h
4040

4141
![KurrentDB Admin UI Dashboard](../images/admin-ui.png =300x)
4242

43-
## Step 3: Browse OrderPlaced Events in KurrentDB's Admin UI
43+
## Step 3: Browse OrderPlaced Events in KurrentDB Admin UI
4444

4545
1. Click the `Stream Browser` link from the top navigation bar.
4646

0 commit comments

Comments
 (0)