grpc-playground is a small gRPC + Protobuf learning project. It is organized as a set of lesson-style demos that show how to build and use protobuf messages, gRPC services, interceptors, deadlines, streaming calls, validation, and TLS.
src/main/proto— protobuf definitions for each lesson sectionsrc/main/java— demo services, clients, repositories, interceptors, and shared helperssrc/test/java— JUnit tests that exercise each lesson like runnable examplessrc/test/resources— TLS certificates and docker-compose assets used by the demos/tests
The Java packages are grouped by section:
com.conellimo.common— shared server bootstrap and demo entrypointscom.conellimo.sec01tocom.conellimo.sec05— protobuf basics and schema evolutioncom.conellimo.sec06tocom.conellimo.sec08— unary, streaming, flow control, and game-style RPCscom.conellimo.sec09tocom.conellimo.sec10— request validation examplescom.conellimo.sec11tocom.conellimo.sec13— deadlines, channel behavior, interceptors, security, and TLS
- Java 21
- Maven 3.9+
mvn -DskipTests packagemvn testThere is no Maven run plugin configured here, so the simplest way to launch a demo is from your IDE. The shared demo entrypoint is:
com.conellimo.common.Demo
You can also run any section-specific main class directly from the IDE.
- This is a playground project, not a production application.
- Many services intentionally use hardcoded data, fixed ports, and sleeps to make gRPC behavior easy to observe.
- Some classes are demo-only helpers used to keep the lessons simple.