From c4e92fef07883494b74efcdd4fcf7130812d6c83 Mon Sep 17 00:00:00 2001 From: Giselle van Dongen Date: Wed, 22 Apr 2026 09:31:35 +0200 Subject: [PATCH] Fix icons --- README.md | 92 +++++++++++++++++++++++++++---------------------------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/README.md b/README.md index 38d42588..f81bd72b 100644 --- a/README.md +++ b/README.md @@ -33,12 +33,12 @@ challenges. Have a look at the example catalog for your preferred SDK language: -[![TypeScript](https://skillicons.dev/icons?i=ts)](typescript) -[![Go](https://skillicons.dev/icons?i=go)](go) -[![Python](https://skillicons.dev/icons?i=python&theme=light)](python) -[![Java](https://skillicons.dev/icons?i=java&theme=light)](java) -[![Kotlin](https://skillicons.dev/icons?i=kotlin&theme=light)](kotlin) -[![Rust](https://skillicons.dev/icons?i=rust&theme=light)](rust) +[![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?logo=typescript&logoColor=white)](typescript) +[![Go](https://img.shields.io/badge/Go-00ADD8?logo=go&logoColor=white)](go) +[![Python](https://img.shields.io/badge/Python-3776AB?logo=python&logoColor=white)](python) +[![Java](https://img.shields.io/badge/Java-ED8B00?logo=openjdk&logoColor=white)](java) +[![Kotlin](https://img.shields.io/badge/Kotlin-7F52FF?logo=kotlin&logoColor=white)](kotlin) +[![Rust](https://img.shields.io/badge/Rust-000000?logo=rust&logoColor=white)](rust) Or have a look at the general catalog below: @@ -47,64 +47,64 @@ Or have a look at the general catalog below: | Example Name | Languages | |-------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Services - Durable Execution | [](typescript/basics/src/0_durable_execution.ts) [](go/basics/part0/durableexecution.go) [](python/basics/app/0_durable_execution.py) [](java/basics/src/main/java/durable_execution/SubscriptionService.java) [](kotlin/basics/src/main/kotlin/durable_execution/SubscriptionService.kt) [](rust/basics/src/p0_durable_execution.rs) | -| Durable Building Blocks | [](typescript/basics/src/1_building_blocks.ts) [](go/basics/part1/buildingblocks.go) [](python/basics/app/1_building_blocks.py) [](java/basics/src/main/java/building_blocks/MyService.java) [](kotlin/basics/src/main/kotlin/building_blocks/MyService.kt) [](rust/basics/src/p1_building_blocks.rs) | -| Virtual Objects | [](typescript/basics/src/2_virtual_objects.ts) [](go/basics/part2/virtualobjects.go) [](python/basics/app/2_virtual_objects.py) [](java/basics/src/main/java/virtual_objects/GreeterObject.java) [](kotlin/basics/src/main/kotlin/virtual_objects/GreeterObject.kt) [](rust/basics/src/p2_virtual_objects.rs) | -| Workflows | [](typescript/basics/src/3_workflows.ts) [](go/basics/part3/workflows.go) [](python/basics/app/3_workflows.py) [](java/basics/src/main/java/workflows/SignupWorkflow.java) [](kotlin/basics/src/main/kotlin/workflows/SignupWorkflow.kt) [](rust/basics/src/p3_workflows.rs) | +| Services - Durable Execution | [](typescript/basics/src/0_durable_execution.ts) [](go/basics/part0/durableexecution.go) [](python/basics/app/0_durable_execution.py) [](java/basics/src/main/java/durable_execution/SubscriptionService.java) [](kotlin/basics/src/main/kotlin/durable_execution/SubscriptionService.kt) [](rust/basics/src/p0_durable_execution.rs) | +| Durable Building Blocks | [](typescript/basics/src/1_building_blocks.ts) [](go/basics/part1/buildingblocks.go) [](python/basics/app/1_building_blocks.py) [](java/basics/src/main/java/building_blocks/MyService.java) [](kotlin/basics/src/main/kotlin/building_blocks/MyService.kt) [](rust/basics/src/p1_building_blocks.rs) | +| Virtual Objects | [](typescript/basics/src/2_virtual_objects.ts) [](go/basics/part2/virtualobjects.go) [](python/basics/app/2_virtual_objects.py) [](java/basics/src/main/java/virtual_objects/GreeterObject.java) [](kotlin/basics/src/main/kotlin/virtual_objects/GreeterObject.kt) [](rust/basics/src/p2_virtual_objects.rs) | +| Workflows | [](typescript/basics/src/3_workflows.ts) [](go/basics/part3/workflows.go) [](python/basics/app/3_workflows.py) [](java/basics/src/main/java/workflows/SignupWorkflow.java) [](kotlin/basics/src/main/kotlin/workflows/SignupWorkflow.kt) [](rust/basics/src/p3_workflows.rs) | #### Use Cases and Patterns | Example Name | Languages | |---------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Durable RPC, Idempotency & Concurrency | [](typescript/patterns-use-cases/README.md#durable-rpc-idempotency--concurrency) [](go/patterns-use-cases/README.md#durable-rpc-idempotency--concurrency) [](python/patterns-use-cases/README.md#durable-rpc-idempotency--concurrency) [](java/patterns-use-cases/README.md#durable-rpc-idempotency--concurrency) | -| \(Delayed\) Message Queue | [](typescript/patterns-use-cases/README.md#delayed-message-queue) [](go/patterns-use-cases/README.md#delayed-message-queue) [](python/patterns-use-cases/README.md#delayed-message-queue) [](java/patterns-use-cases/README.md#delayed-message-queue) [](kotlin/patterns-use-cases/README.md#delayed-message-queue) | -| Webhook Callbacks | [](typescript/patterns-use-cases/README.md#webhook-callbacks) [](go/patterns-use-cases/README.md#webhook-callbacks) | -| Sagas | [](typescript/patterns-use-cases/README.md#sagas) [](go/patterns-use-cases/README.md#sagas) [](python/patterns-use-cases/README.md#sagas) [](java/patterns-use-cases/README.md#sagas) [](kotlin/patterns-use-cases/README.md#sagas) | -| Cron Jobs | [](typescript/patterns-use-cases/README.md#cron-jobs) [](go/patterns-use-cases/README.md#cron-jobs) [](java/patterns-use-cases/README.md#cron-jobs) | -| Database Interaction Patterns | [](typescript/patterns-use-cases/README.md#database-interaction-patterns) | -| Convert Sync Tasks to Async | [](typescript/patterns-use-cases/README.md#convert-sync-tasks-to-async) [](go/patterns-use-cases/README.md#convert-sync-tasks-to-async) [](python/patterns-use-cases/README.md#convert-sync-tasks-to-async) [](java/patterns-use-cases/README.md#convert-sync-tasks-to-async) | -| Batching | [](typescript/patterns-use-cases/README.md#batching) [](java/patterns-use-cases/README.md#batching) | -| Payments Signals \(Advanced\) | [](typescript/patterns-use-cases/README.md#payment-signals) [](python/patterns-use-cases/README.md#payment-signals) [](java/patterns-use-cases/README.md#payment-signals) | -| Stateful Actors and State Machines | [](typescript/patterns-use-cases/README.md#stateful-actors-and-state-machines) [](go/patterns-use-cases/README.md#stateful-actors-and-state-machines) [](python/patterns-use-cases/README.md#stateful-actors-and-state-machines) [](java/patterns-use-cases/README.md#stateful-actors-and-state-machines) | -| Payment State Machines \(Advanced\) | [](typescript/patterns-use-cases/README.md#payment-state-machines) [](python/patterns-use-cases/README.md#payment-state-machines) [](java/patterns-use-cases/README.md#payment-state-machines) | -| Scheduling Tasks | [](typescript/patterns-use-cases/README.md#scheduling-tasks) [](go/patterns-use-cases/README.md#scheduling-tasks) [](python/patterns-use-cases/README.md#scheduling-tasks) [](java/patterns-use-cases/README.md#scheduling-tasks) [](kotlin/patterns-use-cases/README.md#scheduling-tasks) | | -| Concurrent async tasks | [](java/patterns-use-cases/README.md#sagas) | -| Parallelizing Work | [](typescript/patterns-use-cases/README.md#parallelizing-work) [](go/patterns-use-cases/README.md#parallelizing-work) [](python/patterns-use-cases/README.md#parallelizing-work) [](java/patterns-use-cases/README.md#parallelizing-work) [](kotlin/patterns-use-cases/README.md#parallelizing-work) | -| Transactional Event Processing | [](typescript/patterns-use-cases/README.md#transactional-event-processing) [](go/patterns-use-cases/README.md#transactional-event-processing) [](python/patterns-use-cases/README.md#transactional-event-processing) [](java/patterns-use-cases/README.md#transactional-event-processing) [](kotlin/patterns-use-cases/README.md#transactional-event-processing) | -| Event Enrichment / Joins | [](typescript/patterns-use-cases/README.md#event-enrichment--joins) [](go/patterns-use-cases/README.md#event-enrichment--joins) [](python/patterns-use-cases/README.md#event-enrichment--joins) [](java/patterns-use-cases/README.md#event-enrichment--joins) [](kotlin/patterns-use-cases/README.md#event-enrichment--joins) | -| Durable Promises as a Service | [](typescript/patterns-use-cases/README.md#durable-promises-as-a-service) | -| Priority Queue | [](typescript/patterns-use-cases/README.md#priority-queue) | -| Rate Limiting | [](typescript/patterns-use-cases/README.md#rate-limiting) [](go/patterns-use-cases/README.md#rate-limiting) | +| Durable RPC, Idempotency & Concurrency | [](typescript/patterns-use-cases/README.md#durable-rpc-idempotency--concurrency) [](go/patterns-use-cases/README.md#durable-rpc-idempotency--concurrency) [](python/patterns-use-cases/README.md#durable-rpc-idempotency--concurrency) [](java/patterns-use-cases/README.md#durable-rpc-idempotency--concurrency) | +| \(Delayed\) Message Queue | [](typescript/patterns-use-cases/README.md#delayed-message-queue) [](go/patterns-use-cases/README.md#delayed-message-queue) [](python/patterns-use-cases/README.md#delayed-message-queue) [](java/patterns-use-cases/README.md#delayed-message-queue) [](kotlin/patterns-use-cases/README.md#delayed-message-queue) | +| Webhook Callbacks | [](typescript/patterns-use-cases/README.md#webhook-callbacks) [](go/patterns-use-cases/README.md#webhook-callbacks) | +| Sagas | [](typescript/patterns-use-cases/README.md#sagas) [](go/patterns-use-cases/README.md#sagas) [](python/patterns-use-cases/README.md#sagas) [](java/patterns-use-cases/README.md#sagas) [](kotlin/patterns-use-cases/README.md#sagas) | +| Cron Jobs | [](typescript/patterns-use-cases/README.md#cron-jobs) [](go/patterns-use-cases/README.md#cron-jobs) [](java/patterns-use-cases/README.md#cron-jobs) | +| Database Interaction Patterns | [](typescript/patterns-use-cases/README.md#database-interaction-patterns) | +| Convert Sync Tasks to Async | [](typescript/patterns-use-cases/README.md#convert-sync-tasks-to-async) [](go/patterns-use-cases/README.md#convert-sync-tasks-to-async) [](python/patterns-use-cases/README.md#convert-sync-tasks-to-async) [](java/patterns-use-cases/README.md#convert-sync-tasks-to-async) | +| Batching | [](typescript/patterns-use-cases/README.md#batching) [](java/patterns-use-cases/README.md#batching) | +| Payments Signals \(Advanced\) | [](typescript/patterns-use-cases/README.md#payment-signals) [](python/patterns-use-cases/README.md#payment-signals) [](java/patterns-use-cases/README.md#payment-signals) | +| Stateful Actors and State Machines | [](typescript/patterns-use-cases/README.md#stateful-actors-and-state-machines) [](go/patterns-use-cases/README.md#stateful-actors-and-state-machines) [](python/patterns-use-cases/README.md#stateful-actors-and-state-machines) [](java/patterns-use-cases/README.md#stateful-actors-and-state-machines) | +| Payment State Machines \(Advanced\) | [](typescript/patterns-use-cases/README.md#payment-state-machines) [](python/patterns-use-cases/README.md#payment-state-machines) [](java/patterns-use-cases/README.md#payment-state-machines) | +| Scheduling Tasks | [](typescript/patterns-use-cases/README.md#scheduling-tasks) [](go/patterns-use-cases/README.md#scheduling-tasks) [](python/patterns-use-cases/README.md#scheduling-tasks) [](java/patterns-use-cases/README.md#scheduling-tasks) [](kotlin/patterns-use-cases/README.md#scheduling-tasks) | | +| Concurrent async tasks | [](java/patterns-use-cases/README.md#sagas) | +| Parallelizing Work | [](typescript/patterns-use-cases/README.md#parallelizing-work) [](go/patterns-use-cases/README.md#parallelizing-work) [](python/patterns-use-cases/README.md#parallelizing-work) [](java/patterns-use-cases/README.md#parallelizing-work) [](kotlin/patterns-use-cases/README.md#parallelizing-work) | +| Transactional Event Processing | [](typescript/patterns-use-cases/README.md#transactional-event-processing) [](go/patterns-use-cases/README.md#transactional-event-processing) [](python/patterns-use-cases/README.md#transactional-event-processing) [](java/patterns-use-cases/README.md#transactional-event-processing) [](kotlin/patterns-use-cases/README.md#transactional-event-processing) | +| Event Enrichment / Joins | [](typescript/patterns-use-cases/README.md#event-enrichment--joins) [](go/patterns-use-cases/README.md#event-enrichment--joins) [](python/patterns-use-cases/README.md#event-enrichment--joins) [](java/patterns-use-cases/README.md#event-enrichment--joins) [](kotlin/patterns-use-cases/README.md#event-enrichment--joins) | +| Durable Promises as a Service | [](typescript/patterns-use-cases/README.md#durable-promises-as-a-service) | +| Priority Queue | [](typescript/patterns-use-cases/README.md#priority-queue) | +| Rate Limiting | [](typescript/patterns-use-cases/README.md#rate-limiting) [](go/patterns-use-cases/README.md#rate-limiting) | | AI: agents, LLM calls, MCP, A2A,... | [AI examples repo](https://github.com/restatedev/ai-examples) | #### Integrations | Example Name | Languages | |-----------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| AWS Lambda + CDK | [](typescript/integrations/deployment-lambda-cdk) [](go/integrations/go-lambda-cdk) [](java/integrations/java-gradle-lambda-cdk) [](kotlin/integrations/kotlin-gradle-lambda-cdk) | -| XState | [](typescript/integrations/xstate) | -| Knative | [](go/integrations/knative-go) | +| AWS Lambda + CDK | [](typescript/integrations/deployment-lambda-cdk) [](go/integrations/go-lambda-cdk) [](java/integrations/java-gradle-lambda-cdk) [](kotlin/integrations/kotlin-gradle-lambda-cdk) | +| XState | [](typescript/integrations/xstate) | +| Knative | [](go/integrations/knative-go) | #### End-to-End Applications | Example Name | Languages | |-----------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Food Ordering App | [](typescript/end-to-end-applications/food-ordering) [](python/end-to-end-applications/food-ordering) [](java/end-to-end-applications/food-ordering) [](kotlin/end-to-end-applications/food-ordering) | -| Image Workflow Parser & Executor | [](typescript/end-to-end-applications/ai-image-workflows) [](java/end-to-end-applications/workflow-interpreter) | -| LLM-powered Chat Bot / Task Agent | [](typescript/end-to-end-applications/chat-bot) [](python/end-to-end-applications/chat-bot) | -| Subway Fare Calculator | [](java/end-to-end-applications/subway-fare-calculator) | -| RAG Ingestion | [](python/end-to-end-applications/rag-ingestion) | -| Kotlin Todo App | [](kotlin/end-to-end-applications/kmp-android-todo-app) | +| Food Ordering App | [](typescript/end-to-end-applications/food-ordering) [](python/end-to-end-applications/food-ordering) [](java/end-to-end-applications/food-ordering) [](kotlin/end-to-end-applications/food-ordering) | +| Image Workflow Parser & Executor | [](typescript/end-to-end-applications/ai-image-workflows) [](java/end-to-end-applications/workflow-interpreter) | +| LLM-powered Chat Bot / Task Agent | [](typescript/end-to-end-applications/chat-bot) [](python/end-to-end-applications/chat-bot) | +| Subway Fare Calculator | [](java/end-to-end-applications/subway-fare-calculator) | +| RAG Ingestion | [](python/end-to-end-applications/rag-ingestion) | +| Kotlin Todo App | [](kotlin/end-to-end-applications/kmp-android-todo-app) | | AI: agentic workflows, MCP, A2A,... | [AI examples repo](https://github.com/restatedev/ai-examples) | #### Templates -[](typescript/templates) -[](go/templates) -[](python/templates) -[](java/templates) -[](kotlin/templates) -[](rust/templates) +[](typescript/templates) +[](go/templates) +[](python/templates) +[](java/templates) +[](kotlin/templates) +[](rust/templates) [AI templates](https://github.com/restatedev/ai-examples) @@ -112,8 +112,8 @@ Or have a look at the general catalog below: | Tutorial Name | Languages | |-------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Tour of Workflows | [](typescript/tutorials/tour-of-workflows-typescript) [](go/tutorials/tour-of-workflows-go) [](python/tutorials/tour-of-workflows-python) [](java/tutorials/tour-of-workflows-java) | -| Tour of Orchestration | [](typescript/tutorials/tour-of-orchestration-typescript) [](go/tutorials/tour-of-orchestration-go) [](python/tutorials/tour-of-orchestration-python) [](java/tutorials/tour-of-orchestration-java) | +| Tour of Workflows | [](typescript/tutorials/tour-of-workflows-typescript) [](go/tutorials/tour-of-workflows-go) [](python/tutorials/tour-of-workflows-python) [](java/tutorials/tour-of-workflows-java) | +| Tour of Orchestration | [](typescript/tutorials/tour-of-orchestration-typescript) [](go/tutorials/tour-of-orchestration-go) [](python/tutorials/tour-of-orchestration-python) [](java/tutorials/tour-of-orchestration-java) | | Tour of Agents | [AI examples repo](https://github.com/restatedev/ai-examples) | ## Joining the community