A tool for data backup and consistency.
Architecture and technologies:
- the classic three-tier architecture is used: Model, DAO, Presentation;
- Spring 6 / Spring Boot 3 is the reference framework;
- SQLite is the underlying database;
- Spring Data JPA with Hibernate is used as ORM;
- JPA entities are separated objects;
Finderand DCI roles from TheseFoolishThings are used;- SLF4J and Logback are used for logging;
- TestNG and Mockito are used for testing;
- Lombok is used for cleaner code.
SolidBlue III requires and is tested with JDKs in this range: [17, 18). It is released under the Apache Licence v2.
Please have a look at the project website for a quick introduction with samples, tutorials, JavaDocs and build reports.
In order to build the project, run from the command line:
mkdir solidblue3
cd solidblue3
git clone https://bitbucket.org/tidalwave/solidblue3j-src .
mvn -DskipTestsThe project can be opened with a recent version of the IntelliJ IDEA, Apache NetBeans or Eclipse IDEs.
Pull requests are accepted via Bitbucket or GitHub. There are some guidelines which will make applying pull requests easier:
- No tabs: please use spaces for indentation.
- Respect the code style.
- Create minimal diffs — disable 'on save' actions like 'reformat source code' or 'organize imports' (unless you use the IDEA specific configuration for this project).
- Provide TestNG tests for your changes and make sure your changes don't break any existing tests by running
mvn clean test. You can check whether there are currently broken tests at the Continuous Integration page.
If you plan to contribute on a regular basis, please consider filing a contributor license agreement. Contact us for more information.
- Each new feature must be associated to a Jira issue and developed in a branch named
feature/<issue name>. - Each bug must be associated to a Jira issue and developed in a branch named
bugfix/<issue name>. - Each new release must be prepared in a branch named
release/<version>, where feature/fix contributions will be merged from their specific branche. - Just before performing a new release the release branch is merged to the
masterbranch.