Workshop 1: Introduction to Temporal
Building Your Foundation Understanding
This lesson focuses on understanding, not coding
What we want to build
In this lesson, we won't be writing any code yet. Instead, we'll build a solid understanding of:
- ๐ง What Temporal is
- ๐ค Why it exists
- ๐ง How it solves common problems in distributed systems
Think of this as laying the foundation before we start building.
Expecting Result
By the end of this lesson, you should be able to:
- โ Explain what Temporal is in simple terms
- โ Understand why traditional approaches are problematic
- โ Identify scenarios where Temporal would be beneficial
- โ Recognize key components of Temporal architecture
- โ Feel confident about why we're learning this technology
Code Steps
This lesson is purely conceptual - no coding required!
Instead, follow these learning steps:
Step 1: Watch and Learn
Read through the concept.md
file in this lesson to understand:
- ๐ What problems Temporal solves
- โ How traditional approaches fall short
- ๐ Key Temporal concepts and terminology
Take your time - understanding these concepts will make everything else easier!
Step 2: Think About Your Experience
Consider these questions:
- ๐ค Have you ever built a system that needed to coordinate multiple services?
- ๐ฅ Have you dealt with failures in long-running processes?
- ๐ How did you handle retries, timeouts, or state management across services?
Write down your answers - we'll reference them throughout the course!
Step 3: Identify Use Cases
Think about scenarios where Temporal could help:
- ๐ค User onboarding flows (email verification โ profile setup โ welcome sequence)
- ๐ Order processing (payment โ inventory โ shipping โ notifications)
- ๐ Data processing pipelines (extract โ transform โ load โ validate)
- ๐ณ Subscription management (trial โ billing โ renewals โ cancellations)
Step 4: Prepare Your Learning Environment
Make sure you have these tools ready for upcoming lessons:
- โ Java 21+ installed and configured
- ๐ป IntelliJ IDEA or your preferred Kotlin IDE
- ๐ณ Docker Desktop (we'll use this to run Temporal locally)
- ๐ฅ๏ธ Terminal/Command Line access
- ๐ง Git for version control
How to Run
Since this is a theory lesson, there's nothing to run!
Instead:
- ๐ Read the concept.md file carefully
- โ๏ธ Take notes on key concepts that are new to you
- ๐ญ Think about how Temporal might apply to systems you've worked on
- ๐ ๏ธ Prepare your development environment for the next lesson
Quick Environment Check
Verify you have everything ready:
# Check Java version
java -version
# Check Docker is running
docker --version
# Check if you can access Docker
docker ps
Expected: Java 21+, Docker running successfully
๐ฏ Your Learning Goals
By the time you finish this lesson:
- โ You'll understand why Temporal exists
- โ You'll recognize common distributed system problems
- โ You'll see how Temporal solves these problems
- โ You'll be excited to start building
๐ Ready to Start?
Start with the concept.md
file to build your foundational understanding of Temporal!
Next Steps:
- Read through all concept slides carefully
- Think about how this applies to your experience
- Prepare your development environment
- Get ready for Lesson 2 where we start coding!
Let's dive in! ๐