Skip to content

Getting Started

This page walks through pulling Backend Core into a Maven project and building it from source.

Current version

Backend Core does not yet have a released GA version. The latest builds are published as snapshots to the Flowing Code snapshots repository at https://maven.flowingcode.com/snapshots.

The current snapshot version is 1.2.0-SNAPSHOT.

Adding the snapshot repository

Snapshots are not available from Maven Central, so the snapshots repository must be declared in your project's pom.xml:

<repositories>
  <repository>
    <id>flowingcode-snapshots</id>
    <url>https://maven.flowingcode.com/snapshots</url>
    <snapshots>
      <enabled>true</enabled>
    </snapshots>
    <releases>
      <enabled>false</enabled>
    </releases>
  </repository>
</repositories>

Adding the dependencies

Pick the modules that match your project's structure (see Modules). For example, a single-module application using the Spring-based service implementation:

<properties>
  <backend-core.version>1.2.0-SNAPSHOT</backend-core.version>
</properties>

<dependencies>
  <dependency>
    <groupId>com.flowingcode.backend-core</groupId>
    <artifactId>backend-core-model</artifactId>
    <version>${backend-core.version}</version>
  </dependency>
  <dependency>
    <groupId>com.flowingcode.backend-core</groupId>
    <artifactId>backend-core-data-impl</artifactId>
    <version>${backend-core.version}</version>
  </dependency>
  <dependency>
    <groupId>com.flowingcode.backend-core</groupId>
    <artifactId>backend-core-business-spring-impl</artifactId>
    <version>${backend-core.version}</version>
  </dependency>
</dependencies>

For a strictly layered project, depend on the contract modules (backend-core-model, backend-core-data, backend-core-business) from the appropriate sibling modules and keep the -impl dependencies confined to the implementation modules.

Java and JPA requirements

  • Java 8 or later.
  • Jakarta Persistence API (JPA) — required transitively by backend-core-data-impl. A JPA provider (Hibernate, EclipseLink, …) and a database driver are chosen by your project; Backend Core does not pin one.
  • Jakarta Transaction API — required transitively by the implementation modules.

Building from source

To build Backend Core locally:

git clone https://github.com/FlowingCode/backend-core.git
cd backend-core
mvn clean install

This installs all modules into your local Maven repository (~/.m2/repository), so you can reference them at the current -SNAPSHOT version without configuring the remote snapshots repository.

Release notes and issue tracking

Contributing

Backend Core follows the same conventions as the rest of the Flowing Code open source projects:

The repository's own README describes the contribution workflow: fork, open an issue, develop and test the change, send a pull request that references the issue.