Labs

Labs

Learning Labs

Explore our collection of hands-on learning labs. Each lab is designed to teach you a specific technology or concept by building real implementations from scratch.

Available Labs

Lab Structure

Each lab follows a consistent structure:

  • Prerequisites - What you need to know before starting
  • Quick Start - Get running in minutes
  • Learning Path - Progressive exercises from basics to advanced
  • Real-World Applications - How these concepts apply in production
  • Troubleshooting - Common issues and solutions

Choosing a Lab

By Technology Area

  • Data Engineering: Apache Iceberg
  • Security & Auth: OAuth 2.1
  • Real-Time Communication: SSE, MCP Protocol
  • Web Development: OAuth implementations in Go and Python

By Difficulty

  • Beginner: SSE Bidirectional (start with basic HTTP concepts)
  • Intermediate: OAuth 2.1 (security fundamentals)
  • Advanced: Apache Iceberg (distributed systems), MCP Sampling (protocol debugging)

By Time Commitment

  • 2-4 hours: Basic SSE patterns
  • 4-8 hours: OAuth implementation
  • 8-16 hours: Complete Iceberg or MCP labs

Learning Tips

  1. Run the code first - Get a working example running before diving into theory
  2. Break things - Modify the code to see what happens
  3. Read the logs - Most labs include detailed logging to show what’s happening
  4. Ask questions - If something isn’t clear, open an issue on GitHub

Contributing

Found an issue or want to improve a lab? Each lab is open source and we welcome contributions:

  • Fix typos or clarify explanations
  • Add examples in new languages
  • Share your real-world use cases
  • Create new labs for technologies you’ve mastered

Visit our GitHub organization to contribute.