refcodes-archetype: Using the REFCODES.ORG toolkit made easy

README

The REFCODES.ORG codes represent a group of artifacts consolidating parts of my work in the past years. Several topics are covered which I consider useful for you, programmers, developers and software engineers.

What is this repository for?

This artifact hosts several REFCODES.ORG related Maven Archetypes for quickly getting up and running with the REFCODES.ORG toolkit.

How do I get set up?

A collection of Maven Archetypes has been published to Maven Central for easily creating these REFCODES.ORG driven applications:

Quick start command line (CLI) application

Use the refcodes-archetype-alt-cli archetype to create a bare metal command line interface (CLI) driven Java application:

Please adjust my.corp with your actual Group-ID and myapp with your actual Artifact-ID!

mvn archetype:generate \
  -DarchetypeGroupId=org.refcodes \
  -DarchetypeArtifactId=refcodes-archetype-alt-cli \
  -DarchetypeVersion=3.0.0 \
  -DgroupId=my.corp \
  -DartifactId=myapp \
  -Dversion=1.0-SNAPSHOT

Using the defaults, this will generate a CLI application providing a command line interface by harnessing the refcodes-cli library.

Quick start RESTful service

Use the refcodes-archetype-alt-rest archetype to create a bare metal REST driven Java application within just one source code file:

Please adjust my.corp with your actual Group-ID and myapp with your actual Artifact-ID!

mvn archetype:generate \
  -DarchetypeGroupId=org.refcodes \
  -DarchetypeArtifactId=refcodes-archetype-alt-rest \
  -DarchetypeVersion=3.0.0 \
  -DgroupId=my.corp \
  -DartifactId=myapp \
  -Dversion=1.0-SNAPSHOT

Using the defaults, this will generate a RESTful server and client application by harnessing the refcodes-rest toolkit.

Quick start Command & Control service

Use the refcodes-archetype-alt-c2 archetype to create a bare metal command & control (CLI) driven Java application:

Please adjust my.corp with your actual Group-ID and myapp with your actual Artifact-ID!

mvn archetype:generate \
  -DarchetypeGroupId=org.refcodes \
  -DarchetypeArtifactId=refcodes-archetype-alt-c2 \
  -DarchetypeVersion=3.0.0 \
  -DgroupId=my.corp \
  -DartifactId=myapp \
  -Dversion=1.0-SNAPSHOT

Using the defaults, this will generate a command & control application harnessing the refcodes-rest toolkit whilst providing a command line interface by harnessing the refcodes-cli toolkit.

Quick start eventbus driven application

Use the refcodes-archetype-alt-eventbus archetype to create a bare metal event driven driven Java service:

Please adjust my.corp with your actual Group-ID and myapp with your actual Artifact-ID!

mvn archetype:generate \
  -DarchetypeGroupId=org.refcodes \
  -DarchetypeArtifactId=refcodes-archetype-alt-eventbus \
  -DarchetypeVersion=3.0.0 \
  -DgroupId=my.corp \
  -DartifactId=myapp \
  -Dversion=1.0-SNAPSHOT

Using the defaults, this will generate an event driven application harnessing the refcodes-eventbus toolkit whilst providing a command line interface by harnessing the refcodes-cli toolkit.

Quick start CSV file processing application

Use the refcodes-archetype-alt-csv archetype to create a bare metal CSV (CLI) driven Java application:

Please adjust my.corp with your actual Group-ID and myapp with your actual Artifact-ID!

mvn archetype:generate \
  -DarchetypeGroupId=org.refcodes \
  -DarchetypeArtifactId=refcodes-archetype-alt-csv \
  -DarchetypeVersion=3.0.0 \
  -DgroupId=my.corp \
  -DartifactId=myapp \
  -Dversion=1.0-SNAPSHOT

Using the defaults, this will generate a CSV processing application harnessing the refcodes-tabular toolkit whilst providing a command line interface by harnessing the refcodes-cli toolkit.

Contribution guidelines

  • Writing tests
  • Code review
  • Adding functionality
  • Fixing bugs

Who do I talk to?

  • Siegfried Steiner (steiner@refcodes.org)

Terms and conditions

The REFCODES.ORG group of artifacts is published under some open source licenses; covered by the refcodes-licensing (org.refcodes group) artifact - evident in each artifact in question as of the pom.xml dependency included in such artifact.