You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/dev-center/use-cases/mix-and-match-database/tutorial/tutorial-1.md
+35-32Lines changed: 35 additions & 32 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,32 +7,35 @@ prev: ./tutorial-intro.md
7
7
8
8
In this part, you will start a GitHub Codespaces session in your browser.
9
9
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
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.
15
18
16
19
## Step 1: Set up Your Codespaces
17
20
18
21
1. Click the button below to initiate Codespaces and ensure following values are selected:
## Step 3: Browse Sample Events in KurrentDB's Admin UI
71
+
## Step 3: Browse Sample Events in KurrentDB Admin UI
69
72
70
73
1. Click the `Stream Browser` link from the top navigation bar.
71
74
72
-
2. Under `Recently Changed Streams`, click the `$ce-cart` link.
75
+
2. Under `Recently Changed Streams`, click the `$ce-cart` link.
73
76
74
77
::: 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).
76
81
:::
77
82
78
-
79
83
3. You should see an ordered list of the appended events associated with two distinct, virtual shopping carts.
80
84
81
85
::: 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.
Copy file name to clipboardExpand all lines: docs/dev-center/use-cases/mix-and-match-database/tutorial/tutorial-intro.md
+16-16Lines changed: 16 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,19 +27,19 @@ Before starting, ensure you have the following:
27
27
28
28
This tutorial consists of the following steps:
29
29
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
Copy file name to clipboardExpand all lines: docs/dev-center/use-cases/outbox/tutorial/tutorial-intro.md
+20-20Lines changed: 20 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,23 +31,23 @@ Before starting, ensure you have the following:
31
31
32
32
This tutorial consists of the following steps:
33
33
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
0 commit comments