com.lucadev.trampoline:trampoline-common

A trampoline starter module

License

License

GroupId

GroupId

com.lucadev.trampoline
ArtifactId

ArtifactId

trampoline-common
Last Version

Last Version

20190329
Release Date

Release Date

Type

Type

jar
Description

Description

com.lucadev.trampoline:trampoline-common
A trampoline starter module
Project URL

Project URL

https://github.com/Camphul/Trampoline

Download trampoline-common

How to add to project

<!-- https://jarcasting.com/artifacts/com.lucadev.trampoline/trampoline-common/ -->
<dependency>
    <groupId>com.lucadev.trampoline</groupId>
    <artifactId>trampoline-common</artifactId>
    <version>20190329</version>
</dependency>
// https://jarcasting.com/artifacts/com.lucadev.trampoline/trampoline-common/
implementation 'com.lucadev.trampoline:trampoline-common:20190329'
// https://jarcasting.com/artifacts/com.lucadev.trampoline/trampoline-common/
implementation ("com.lucadev.trampoline:trampoline-common:20190329")
'com.lucadev.trampoline:trampoline-common:jar:20190329'
<dependency org="com.lucadev.trampoline" name="trampoline-common" rev="20190329">
  <artifact name="trampoline-common" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.lucadev.trampoline', module='trampoline-common', version='20190329')
)
libraryDependencies += "com.lucadev.trampoline" % "trampoline-common" % "20190329"
[com.lucadev.trampoline/trampoline-common "20190329"]

Dependencies

compile (2)

Group / Artifact Type Version
org.springframework.boot : spring-boot-starter jar 2.1.3.RELEASE
org.projectlombok : lombok Optional jar 1.18.6

provided (1)

Group / Artifact Type Version
javax.servlet : javax.servlet-api jar 3.0.1

test (1)

Group / Artifact Type Version
org.springframework.boot : spring-boot-starter-test jar 2.1.3.RELEASE

Project Modules

There are no modules declared in this project.

Trampoline

master next-release

Collection of reusable Spring Boot starter modules providing multiple new features/and or implementations(Spring Security, etc..).

Getting Started

Please make sure you have git, maven and Java (min. version 8) installed.

Trampoline is deployed on maven and is built upon Spring Boot 2.2.2.RELEASE

Please use the following dependency to use all functionality Trampoline offers:

<dependency>
       <groupId>com.lucadev.trampoline</groupId>
       <artifactId>trampoline-starter</artifactId>
       <version>20190628</version>
</dependency>

Read the docs for more information.

Example Project

example-app is a REST api to maintain blogs and comments on blogs.

The readme provides a bunch of information regarding the endpoints, dummy users. I also added a PostMan collection so you can easily test the api through postman.

Changelog

A changelog can be found under CHANGELOG.md.

Why Trampoline?

Some of you may ask why I wrote trampoline.

I have developed trampoline as a way to easily create monolith REST API's(you really do not require microservices for most projects). Trampoline has given me the ability to focus more on the actual projects I am hired for. I can just implement security with a couple of lines and easily add more functionality.

Versioning

We use the date that development of a new Trampoline version began as a version in the YYYYMMDD format.

Version 20190507 would have started development on the 7th of may 2019.

In-development versions are versioned the same but with the -SNAPSHOT suffix.

Flyway migrations

When Flyway is added to the classpath in your project and you use any of the following: trampoline-data and/or trampoline-asset-store and/or trampoline-security. You must adhere to some rules when writing your own migrations.

Custom migrations must start with version V10. V10 is required since Trampoline reserves atleast 10 migrations. Either the db/migration/mysql or db/migration/h2 dir is chosen as location for migrations based on the spring.jpa.properties.hibernate.dialect property. When the value of the property contains mysql it will use db/migration/mysql and when it contains h2 it will use db/migration/h2. The default fallback is to db/migration/mysql.

Contributing

If you wish to contribute please read the guidelines as described in CONTRIBUTING.md

Branches

All the changes before releasing a new version(and publishing to maven) will be pushed to the next-release branch. This branch will be merged to master before building and deploying to maven.

See CHANGELOG.md for more information.

Authors

Feel free to contribute to the project.

License

This project is licensed under the MIT License

Versions

Version
20190329
20190308