Skip to content

Commit

Permalink
README
Browse files Browse the repository at this point in the history
  • Loading branch information
slinkydeveloper committed Nov 30, 2023
1 parent 3396640 commit b69b2c3
Showing 1 changed file with 20 additions and 29 deletions.
49 changes: 20 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,31 @@

Browse this repository to see how easy distributed applications development becomes with Restate.

## Typescript examples
## Examples

### Starter examples
### Starter

* [Lambda greeter](typescript/lambda-greeter): A simple example of how you can run a Restate service on AWS Lambda.
* [Payment api](typescript/payment-api/): Example API for payments, inspired by the Stripe API.
* [Food ordering](typescript/food-ordering): See how to integrate Restate with external services using Awakeables and side effects.
| Name | Description | Download |
|------------------------------------------------------------------|------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Typescript - Hello World Lambda](typescript/hello-world-lambda) | Hello world on AWS Lambda | `wget -o temp.zip https://github.com/restatedev/examples/releases/latest/download/typescript-hello-world-lambda.zip && unzip temp.zip -d typescript-hello-world-lambda && rm temp.zip` |
| [Java - Hello World HTTP](jvm/hello-world-java-http) | Hello world as HTTP endpoint | `wget -o temp.zip https://github.com/restatedev/examples/releases/latest/download/jvm-hello-world-java-http.zip && unzip temp.zip -d jvm-hello-world-java-http && rm temp.zip` |
| [Java - Hello World Lambda](jvm/hello-world-java-lambda) | Hello world on AWS Lambda | `wget -o temp.zip https://github.com/restatedev/examples/releases/latest/download/jvm-hello-world-java-lambda.zip && unzip temp.zip -d jvm-hello-world-java-lambda && rm temp.zip` |
| [Kotlin - Hello World HTTP](jvm/hello-world-kotlin-http) | Hello world as HTTP endpoint | `wget -o temp.zip https://github.com/restatedev/examples/releases/latest/download/jvm-hello-world-kotlin-http.zip && unzip temp.zip -d jvm-hello-world-kotlin-http && rm temp.zip` |
| [Kotlin - Hello World Lambda](jvm/hello-world-kotlin-lambda) | Hello world on AWS Lambda | `wget -o temp.zip https://github.com/restatedev/examples/releases/latest/download/jvm-hello-world-kotlin-lambda.zip && unzip temp.zip -d jvm-hello-world-kotlin-lambda && rm temp.zip` |
| [Typescript - Payment api](typescript/payment-api) | Example API for payments, inspired by the Stripe API | `wget -o temp.zip https://github.com/restatedev/examples/releases/latest/download/typescript-payment-api.zip && unzip temp.zip -d typescript-payment-api && rm temp.zip` |
| [Typescript - Food ordering](typescript/food-ordering) | Integrate Restate with external services | `wget -o temp.zip https://github.com/restatedev/examples/releases/latest/download/typescript-food-ordering.zip && unzip temp.zip -d typescript-food-ordering && rm temp.zip` |

### Intermediate examples

* [Ticket reservation](typescript/ticket-reservation): An example to illustrate how Restate's keyed-sharding and concurrency guarantees simplify microservice architectures.
| Name | Description | Download |
|------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Typescript - Ticket reservation](typescript/ticket-reservation) | Example showing Restate's keyed-sharding and concurrency guarantees. | `wget -o temp.zip https://github.com/restatedev/examples/releases/latest/download/typescript-ticket-reservation.zip && unzip temp.zip -d typescript-ticket-reservation && rm temp.zip` |

### Advanced examples

- [Ecommerce store](typescript/ecommerce-store): A sophisticated example on how to build an ecommerce store based on Restate using the grpc-based Typescript SDK.
| Name | Description | Download |
|------------------------------------------------------------|--------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Typescript - Ecommerce store](typescript/ecommerce-store) | An ecommerce store completely built on top of Restate. | `wget -o temp.zip https://github.com/restatedev/examples/releases/latest/download/typescript-ecommerce-store.zip && unzip temp.zip -d typescript-ecommerce-store && rm temp.zip` |

## Joining the community

Expand Down Expand Up @@ -80,27 +90,8 @@ This should give you the following output in case of the ticket reservation exam

## Releasing (for Restate developers)

In order to create a new release, push a tag of the form `vX.Y.Z`.
Then [create a release via GitHub](https://github.com/restatedev/example-lambda-ts-greeter/releases).
Before releasing, trigger the "pre-release" workflow to update sdk versions. This automatically creates a pull request, which must be manually merged.

### Upgrading the SDK dependency (for Restate developers)
Once the repo is ready for the release, push a tag of the form `vX.Y.Z`.

In order to upgrade/update the SDK dependency you have to run:

**Major version** change:

```shell
npm --prefix typescript install @restatedev/restate-sdk@^Z.Y.X --workspaces
```

**Minor/patch version** change:

```shell
npm --prefix typescript update @restatedev/restate-sdk --workspaces
```

Now check whether the examples are still building:

```shell
npm --prefix typescript run verify --workspaces
```
This triggers a workflow that [creates a draft release](https://github.com/restatedev/examples/releases) on Github, which you need to approve to finalize it.

0 comments on commit b69b2c3

Please sign in to comment.