This page describes the project organization.

Cassandre trading bot is provided as a spring boot starter. This is why you can find two projects in the sources : trading-bot-spring-boot-autoconfigure & trading-bot-spring-boot-starter. These starters enable developers to avoid complex configuration and quickly jumpstart their development.

Batch (

Tasks that can run without end user interaction, or can be scheduled. You will find the different flux pushed to the strategy :

  • AccountFlux : calls the exchange to retrieve accounts & balances.
  • TickerFlux : calls the exchange to retrieve the tickers requested by the user strategy
  • OrderFlux : calls the exchange to retrieve orders.

Configuration (

Auto Configuration Classes that configures our beans :

Domain objects (

Objects from the business specific area that represent something we want to store.

Data transfer objects (

Objects that carries data between processes :

Repositories (

Isolate the application/business layer from the persistence layer.

Services (

Offers high level services :

Strategy (

Strategy management :

  • Strategy annotation : this annotation allows cassandre trading bot to know which class is a strategy.
  • CassandreStrategy : cassandre bot will run the first CassandreStrategy implementation found that also have the @strategy annotation.

Util (

Utility classes :