restatedev / examples

Restate examples
https://restate.dev
MIT License
45 stars 9 forks source link

Major rework of the examples. #109

Closed StephanEwen closed 7 months ago

StephanEwen commented 8 months ago

Main changes

Browse the new layout here: https://github.com/StephanEwen/restate-examples/tree/major_rework?tab=readme-ov-file

Structure

The structure of the examples is as follows (copied from the README)

A collection of examples that illustrate how to use Restate to solve common application challenges.

Examples by Language

The majority of the examples currently exist as TypeScript versions, Java versions are catching up. Here is a (incomplete) list of examples per language.

TypeScript

Type Name / Link
Basics Workflows, Durable Execution, Event-processing, Virtual Objects
Use Cases Sagas
Use Cases Durable Promises
Use Cases State Machines
Use Cases Payment Service
End-to-End Food Ordering App
End-to-End AI Image Processing Workflow
End-to-End Online Shop
Tutorial Tour of Restate
Templates Restate Node/TS Template

Java

Type Name / Link
Use Cases Sagas
End-to-End Food Ordering App
Tutorial Tour of Restate
Templates Restate Node/TS Template

Kotlin

Type Name / Link
Templates Restate Node/TS Template

Scala

Type Name / Link
Templates Restate Node/TS Template
StephanEwen commented 8 months ago

Assumptions for reviewers to verify

  1. I moves to the philosophy of having minimal files/noise in the example repos, so generally no .eslintrc, .gitignore, etc.
  2. We don't need every example to be downloadable three ways, and don't need to spell that out in every example
  3. Folks know how to work with zips. We put a link to the zip, but don't prepare the wget / unzip / cd / rm sequence for them.
pcholakov commented 8 months ago

I like the new layout a lot! Something missing that I think deserves its own top-level category is a "infrastructure and deployment automation" section to house things like Kubernetes and AWS/CDK recipes. Unlike the templates, we can go into more details and showcase available options there. I don't think we should use end-to-end applications to showcase the deployment aspects; they should be self-contained and easy to deploy/run, but we should be focused rather than comprehensive there.

slinkydeveloper commented 7 months ago

I think this can be closed as it was solved.