Files
upstream-watermill/docs/content/learn/quickstart.md
2026-09-15 21:27:46 +05:00

53 lines
2.1 KiB
Markdown

---
title: "Watermill Quickstart"
description: "Learn how to use Watermill in your project with a hands-on training."
draft: false
toc: false
weight: 20
hideBanner: true
seo:
title: "Watermill Quickstart - Hands-on Training"
description: "Learn how to use Watermill in your project with a hands-on training covering Publisher/Subscriber, Router, CQRS, Kafka, and more."
canonical: ""
noindex: false
---
{{< callout context="note" title="Just released 🎉" >}}
<p>Check our new, interactive quickstart that you can finish in your IDE.
Zero Docker setup, zero coding in browser.</p>
{{< /callout >}}
Watermill Quickstart is a hands-on training that will teach you how to use Watermill, a Go library for building event-driven applications, in your project.
Basic Go knowledge is all you need to get started.
You'll learn the basics of Watermill and a few more advanced concepts:
* The 3 core APIs: Publisher/Subscriber, Router, and CQRS.
* Working with Kafka.
* Topic topology, middleware, consumer groups.
* Message ordering.
* The Outbox pattern (with PostgreSQL).
* Switching the Pub/Sub (Redis).
<div class="text-center">
<a href="https://academy.threedots.tech/trainings/watermill-quickstart/start" class="btn btn-primary btn-lg my-3">Start the Watermill Quickstart</a>
</div>
<a href="https://academy.threedots.tech/trainings/watermill-quickstart/start" target="_blank">
<figure class="position-relative" style="width: 100%; margin-top:15px;">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 960.000000 700.000000" style="width: 100%; height: auto;">
<!-- Clip path image -->
<defs>
<clipPath id="svgf77">
<rect y="0" x="5" width="735" height="680"></rect>
</clipPath>
</defs>
<image clip-path="url(#svgf77)" xlink:href="/img/exercise.png" height="85%" width="85%" style="transform: translate(104px, 84px); height: 492px;"></image>
<image xlink:href="/img/laptop.png" height="95%" width="95%" style="transform: translate(35px, 0px);"></image>
<image clip-path="url(#svgf77)" xlink:href="/img/ide.png" height="85%" width="85%" style="transform: translate(-103px, 320px); height: 381px;"></image>
</svg>
</figure>
</a>
</div>