org.cameek.spring_sandbox is a minimal Kotlin + Spring Boot 3 playground that demonstrates how to consume the Bitfinex public REST API and expose the data through a reactive WebFlux endpoint. Use it as a starting point for experimenting with Spring Boot 3, WebFlux, Kotlin, and Gradle.
- Reactive WebFlux REST API:
GET /bitfinex/last-month-data
streams the last 30 daily candles (1‑day timeframe) for BTC/USD. - **Non‑blocking **`` to call Bitfinex’s public Candles endpoint.
- Simple `` (timestamp, open, close, high, low, volume) for fast JSON mapping via Jackson‑Kotlin.
- Gradle Wrapper (8.13) with Kotlin DSL — zero global toolchain setup.
- Works out‑of‑the‑box on JDK 17–21.
- JDK 17+ (tested with Temurin 21).
- Git.
# clone the repo
git clone https://github.com/your‑org/org.cameek.spring_sandbox.git
cd org.cameek.spring_sandbox
# run the app
./gradlew bootRun # use gradlew.bat on Windows
Gradle will download all dependencies automatically.
Once the app is running (default port 8080):
GET http://localhost:8080/bitfinex/last-month-data
Example with curl
:
curl http://localhost:8080/bitfinex/last-month-data | jq
[
{
"timestamp": 1712188800000,
"open": 70345.0,
"close": 70812.0,
"high": 71200.0,
"low": 68200.0,
"volume": 1234.5678
}
// …29 more candle objects
]
src
└─ main
├─ kotlin/org/cameek/spring_sandbox
│ ├─ Application.kt # Spring Boot entry
│ └─ bitfinex
│ ├─ CandleData.kt # data class
│ ├─ BitfinexService.kt # calls Bitfinex API
│ └─ BitfinexController.kt # exposes REST endpoint
└─ resources
└─ application.properties
./gradlew bootJar
java -jar build/libs/org.cameek.spring_sandbox-0.0.1-SNAPSHOT.jar
./gradlew test
Licensed under the MIT License.
See the LICENSE file for full details.
Created and maintained by CameekOrg.
- Spring Boot – Production‑ready Spring framework
- Kotlin – Modern JVM language
- Bitfinex API Docs – REST and WebSocket APIs
- Gradle – Build automation
org.cameek.spring_sandbox is not affiliated with Bitfinex. Use the exchange data at your own risk.