quickstarts icon indicating copy to clipboard operation
quickstarts copied to clipboard

Quickstart revamp

Open tanvigour opened this issue 3 years ago • 2 comments

Describe the feature

Revamp Quickstarts to make them more easily consumable by new users for Dapr. Following are the considerations for the revamp

  • Simplify the QuickStart by focussing more on covering 80% of the content instead of every single feature of APIs.

  • Make variable names intuitive to purpose, add more comments and log outputs.

  • Follow priority order for APIs: Pubsub, Invoke, State, Secrets, Observability, Config while rewriting.

  • Make examples very close to what real life scenario for a user might look like for example using cron in bindings example instead of kafka

  • Every API topic must be divided into language specific implementations for each supported language which should be further divided into HTTP based and SDK based implementations (except invoke where only HTTP proxy is shown)

  • Automate testing of tutorials using mechanical markdown

  • [x] #550

  • [x] #551

  • [x] #552

  • [x] #553

  • [ ] #554

  • [x] #557

  • [x] https://github.com/dapr/docs/issues/2213

  • [ ] #558

  • [x] #559

  • [x] #564

tanvigour avatar Feb 23 '22 22:02 tanvigour

Hey @tanvigour, this is super helpful.

I suggest a few more points to add to this list:

  • SDK examples should be provided at a minimum in Python (Flask), Javascript (Express), C# (.NET 6), Go, and Java (Spring). Working with the community we hope to achieve 100% l language coverage. Python (FastAPI) is really nice to have. As you point out Invoke can be HTTP proxy as exception, since it is the recommended way.
  • HTTP/REST only examples should be provided at a minimum in Python (Flask), Javascript (Express), C# (.NET 6)
  • Another principle is the quickstart should work well standalone (e.g. on a local dev machine) and in Kubernetes. That is yet another reason why Bindings using Cron is preferred over Kafka or Twitter. Those require fairly extensive set up and possibly even cloud accounts just to get started. Cron is basically supported in every OS. We also have Redis and Zipkin containers for the same reason, to make infra dependencies very low friction. Kafka btw is in my opinion a super popular real-world event/message broker, but for the infra install friction reasons it's not an obvious choice.

paulyuk avatar Feb 24 '22 06:02 paulyuk

We are very close on this. I would declare victory once we have configuration and actors.

paulyuk avatar Jul 28 '22 15:07 paulyuk

@paulyuk - Can we close this issue, and track with open Actor, Workflow and Lock ones?

msfussell avatar Jan 30 '23 04:01 msfussell

Yes, we now have issues for each new quickstart we want. closing.

paulyuk avatar Jan 31 '23 20:01 paulyuk