Welcome to the repository for "Introduction to Reactive Programming" — a hands-on guide and presentation designed to help developers understand the core concepts and paradigms of reactive programming using real-world examples built with:
- Spring WebFlux
- Project Reactor
- R2DBC
- Reactive Streams
This repo contains both a presentation deck and sample projects illustrating different facets of reactive programming using the Spring ecosystem.
.
├── presentation/
│ └── Reveal.js proejct + PDF Export: presentation.pdf
├── icecream-service/
│ └── # Used as an external service mock
├── imperative/
│ └── # Imperative style restaurant example
├── reactive/
│ └── # Reactive style restaurant example
├── reactor-tests/
│ └── # Project Reactor basic examples
├── webshop-imperative/
│ └── # Imperative webshop examples (based on JDBC)
├── webshop-reactive/
│ └── # Reactive webshop examples (based on R2DBC)
└── README.mdPrerequisites
- Java 17+ / Kotlin
- Maven
- PostgreSQL (for the R2DBC example)
Clone the Repo
git clone https://github.com/your-username/reactive-spring-intro.gitDatabase credentials and configuration are in each module's application.yml or .properties file.
The presentation/ folder contains the introductory slides in PDF format. Great for workshops or self-paced learning.
Feel free to fork, raise issues, or submit PRs to improve examples or add more use cases!
- Project Reactor: https://projectreactor.io/learn
- Spring WebFlux: https://docs.spring.io/spring-framework/reference/web/webflux/new-framework.html
- Sample-Database for the webshop: https://github.com/JannikArndt/PostgreSQLSampleDatabase
- Images used in presentation: https://www.freepik.com
Happy Reactive Coding! ⚛️