HEXAGON 0.11.0

The atoms of your platform

Hexagon is a microservices framework that doesn't follow the flock. It is written in Kotlin and
uses RabbitMQ and MongoDB. It takes care of:

The purpose of the project is to provide a microservices framework with the following priorities
(in order):

  1. Simple to use
  2. Easily hackable
  3. Be small

DISCLAIMER: The project status is beta. Use it at your own risk. This is the coverage grid:

coverage

Getting started

For detailed information about how to create a service, please refer to the Service Life Cycle
documentation.

You can create a service from a Lazybones template. To do so type:
lazybones create hexagon-service service

Or you can write a Gradle project from scratch (Gradle 3 is required):

build.gradle:

buildscript {
    repositories { jcenter () }
    dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.0.6" }
}

apply plugin: "kotlin"
apply plugin: "application"

mainClassName = 'HelloKt'

repositories { jcenter () }

dependencies {
    compile ("co.there4:hexagon:0.10.7")
    compile ("org.eclipse.jetty:jetty-webapp:9.3.16.v20170120")
}

src/main/kotlin/Hello.kt:

import co.there4.hexagon.web.*

fun main(args: Array<String>) {
    get("/hello/{name}") { ok("Hello ${request["name"]}!") }
    run()
}

Now you can run the service with gradle run and view the results at:
http://localhost:2010/hello/world

Further resources

Build and Contribute

Refer to the contribute section for detailed information about Hexagon's development.