A real-time sports score application that showcases the power of Spring Boot’s reactive capabilities. Live Score delivers football scores using non-blocking, event-driven architecture — from the external API all the way to the browser.
This project is a hands-on exploration of reactive programming with Spring Boot, focusing on the technical patterns rather than being a production app.
How It Works
- Data Fetching — Periodically fetches live score data from API-FOOTBALL (RapidAPI) using WebClient, a non-blocking HTTP client
- Reactive Processing — Incoming data is processed using Flux and Mono operators with backpressure support
- Real-Time UI — The React frontend built with Hilla consumes the reactive API and updates scores in real time
Key Concepts Demonstrated
- Spring WebFlux — Reactive web framework as an alternative to Spring MVC
- Project Reactor — Mono (0..1 elements) and Flux (0..N elements) reactive types
- Non-blocking I/O — Efficient resource usage under high concurrency
- Reactive Streams — Asynchronous stream processing with backpressure
Tech Stack
- Spring Boot 3 — Application framework
- Spring WebFlux — Reactive web layer
- Project Reactor — Reactive streams implementation
- Vaadin Hilla — Full-stack framework (React + TypeScript frontend)
- TailwindCSS — Styling
- API-FOOTBALL (RapidAPI) — External data source
- Java 21 — Latest LTS
- Maven — Build tool

