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¶
- Releases / changelog — published as GitHub releases.
- Issue tracker — GitHub issues. Bug reports and feature requests are welcome.
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.