Closed StephanEwen closed 7 months ago
Assumptions for reviewers to verify
.eslintrc
, .gitignore
, etc.wget / unzip / cd / rm
sequence for them.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.
I think this can be closed as it was solved.
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.
Basics: Small examples highlighting the basic building blocks, like durable execution or virtual objects.
Use Cases and Patterns: Small specific use cases, like webhooks, workflows, asynchronous task queuing.
End-to-End Applications: Runnable demo applications that consist of many components, e.g., a fodo ordering app, or an e-commerce site. Typically packaged as a docker compose setup.
Tutorials: A step-by-step guide that builds an application and introduces the Restate concepts on the way.
Templates: Project templates for various languages and build systems. Simple 'Hello World!' examples in a proper build setup that you can use if you want to start a brand new project for a service or lambda that will be invoked through Restate.
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
Java
Kotlin
Scala