Skip to content

korwe/kordapt

Repository files navigation

Kordapt

What's Kordapt
Quick Start
Usage

What's Kordapt

Kordapt is an opensource java framework for easily building in a consistent and modular manner, services that exist on The Core. The framework makes extensive use of leading technologies such as Gradle and Spring. It makes development easy by providing gradle scripts(generators) that utilize Antlr and String template for generating plumbing code of a service and its models. It further promotes modularization by providing various plugins to help with plumbing that suits the requirements of your project such as hibernate.

Kordapt exposes an api-definition for the services and models created in a language agnostic manner by utilizing a set of yaml files. This allows any alternative language to java to consume and understand the api-definition by mapping that language to the api-definition.

Kordapt aims at simplifying the development process by aiding your choice of middleware technologies, libraries and frameworks, so that you are able to focus solely on your business logic.

Quick Start

The following is all done via build.gradle

Add dependencies

Add maven repositories and the kordapt gradle plugin dependency, then apply it

buildscript{
    repositories {
        mavenLocal()
        mavenCentral()
    }

    dependencies {
        classpath 'com.korwe:kordapt-gradle-plugin:1.1.1'
    }
}

apply plugin: 'kordapt'

repositories {
    jcenter()
    mavenLocal()
    mavenCentral()
}


dependencies {
    compile 'com.korwe:kordapt-core:1.1.1'
}

Configure

kordapt{
    defaultPackage = "my.company.projectName"
}

Full set of Configuration options

Initialize project

On the command-line, now run

gradle kinit

You will now have a kordapt project with the standard Structure

Usage

Generators

Generate Service

Generate the full plumbing for a service:

gradle kgenerate -Pinput="<ServiceName> <ReturnType>:<functionName>(<params>)"

Example:

gradle kgenerate -Pinput="HelloWorldService ArbitraryType:firstFunction() void:secondFunction(Integer inputNumber)"

Full Documentation

Generate Model

Generate the full plumbing for a model:

gradle kgenerate -Pinput="<ModelName> <AttributeType>:<attributeName>"

Example:

gradle kgenerate -Pinput="MyModel ArbitraryType:firstAttribute String:secondAttribute"

Full Documentation

About

Kordapt Framework for building Core services

Resources

License

Stars

Watchers

Forks

Packages

No packages published