Skip to content
Kotlin utilities and architecture components for Android + Server
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
build BUILD : Remove mutli-project build from lib (#135) Mar 10, 2019
conf Fix compile issues for examples (#53) May 2, 2018
doc 2019 04 01 improvements (#151) Apr 5, 2019
lib Docs: Cleanup and updates (#102) Oct 28, 2018
licenses FIXED: docs for release packaging Jul 13, 2017
media Slate Kit Banner Oct 29, 2018
scripts DOC : Generated latest site docs Mar 22, 2019
src
test update git ignore for tests/ Nov 7, 2018
.gitignore ORM: Templated approach to multi-database support (#105) Nov 2, 2018
.travis.yml REFACTOR : Misc cleanup (#144) Mar 27, 2019
LICENSE Updated license to Apache License 2.0 Nov 17, 2016
README.md Update README.md Apr 22, 2019

README.md

Kotlin Build macOS Apache 2 LGPL V3 Join the chat at https://gitter.im/code-helix/slatekit Follow us on twitter

image

About

Slate Kit is a collection of architecture components and libraries for full-stack Kotlin development.

num about note
1 who For Kotlin Android, Server Side developers for building startups, mobile apps, personal projects.
2 what This is a modular set of utilities and architecture components.
3 where Reach us on Gitter, Twitter, and log issues on the issues board here.
4 when This has been around for 3 years as a internal library which we slowly open-sourced.
5 why Designed as reusable modules for any company / product. We use it internally for all projects.
6 how Check out our website at www.slatekit.com for more info, overview, details, usage, docs, etc.
7 compare Slate Kit is a modern, simple, 100% Kotlin alternative to Spring Framework.

Install

You can set up gradle using the example below. You can use a little or as many slatekit-components as you need.

repositories {
    maven { url  "https://dl.bintray.com/codehelixinc/slatekit" }
}

dependencies {
	// other libraries
	
	// slatekit-results: Result<T,E> to model successes/failures with optional status codes
    	compile 'com.slatekit:slatekit-results:1.0.0'
	
	// slatekit-common: Utilities for Android or Server
    	compile 'com.slatekit:slatekit-common:1.0.0'
	
	// Misc architecture components ( all depend on results/common components above )
	compile 'com.slatekit:slatekit-app:0.9.24'
	compile 'com.slatekit:slatekit-db:0.9.24'
	compile 'com.slatekit:slatekit-meta:0.9.24'
	compile 'com.slatekit:slatekit-cloud:0.9.24'
	compile 'com.slatekit:slatekit-query:0.9.24'
	compile 'com.slatekit:slatekit-entities:0.9.24'
	compile 'com.slatekit:slatekit-orm:0.9.24'
	compile 'com.slatekit:slatekit-core:0.9.24'
	compile 'com.slatekit:slatekit-apis:0.9.24'
	compile 'com.slatekit:slatekit-integration:0.9.24'
	compile 'com.slatekit:slatekit-server:0.9.24'
	compile 'com.slatekit:slatekit-providers:0.9.24'
	compile 'com.slatekit:slatekit-workers:0.9.24'
}

Goals

Slate Kit is a Kotlin based open-source set of utilities, libraries and modular architecture components

Design

Slate Kit is designed as a collection of modular components. In this way, it is more like a library than an framework.

Links

Some important links / pages for more info.

type link note
home www.slatekit.com landing page
overview http://www.slatekit.com/overview.html goals / uses / philosophy
setup www.slatekit.com/setup.html setup kotlin / slatekit
starting http://www.slatekit.com/components.html key concepts / steps
releases http://www.slatekit.com/releases.html relase history / notes
utilities http://www.slatekit.com/utils.html utilities for client/server
modules http://www.slatekit.com/core.html architecture components
learn http://www.slatekit.com/kotlin101.html kotlin 101
standards http://www.slatekit.com/kotlin-standards.html coding standards

Modules

Slate Kit contains many useful architecture components, utilities and applications features. The slatekit-common has 0 dependencies adn contains most of the common utilities and components used throughout all the other projects.

docs source license desc download
slatekit-results src Apache2.0 model successes/failures with optional status codes Download
slatekit-common src Apache2.0 utilities for android + server Download
slatekit-db src Apache2.0 database utilities Download
slatekit-query src Apache2.0 query builder for SQL Download
slatekit-meta src Apache2.0 meta/reflection utils Download
slatekit-app src Apache2.0 application template Download
slatekit-cli src Apache2.0 command line interface template Download
slatekit-core src Apache2.0 architecture components Download
slatekit-entities src Apache2.0 standardized entity service/repository pattern Download
slatekit-orm src Apache2.0 database entities/orm Download
slatekit-apis src LGPLv3 api container Download
slatekit-workers src LGPLv3 background workers for persistant job queues Download
slatekit-integration src Apache2.0 integration components Download
slatekit-cloud src Apache2.0 clouder services ( AWS ) Download
slatekit-server src LGPLv3 http server to run slatekit APIs ( using ktor ) Download
slatekit-providers src Apache2.0 3rd party implementations for Logs/Metrics Download

Setup

You can use maven/gradle to reference Slate Kit libraries. Refer to Setup for more info. Make sure you add the maven url http://dl.bintray.com/codehelixinc/slatekit.

buildscript {
    ext.kotlin_version = '1.3.21'

    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

apply plugin: 'java'
apply plugin: 'kotlin'

repositories {
    mavenCentral()
    maven {
        url  "http://dl.bintray.com/codehelixinc/slatekit"
    }
}

dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"
	
    // Reference the slate kit binaries here
    compile 'com.slatekit:slatekit-results:0.9.24'
    compile 'com.slatekit:slatekit-common:0.9.24'
}

License

  1. Many of the modules above are Apache 2.0
  2. A few modules are LGPL v3 ( listed above )
  3. Down the line, a potential premium offering will be available for certain modules/upcoming functionality. These may be offered as both an on-premise solution and as a SaaS.

Upcoming

  1. A stable 1.0.0 release coming in April 2019
  2. A technical white-paper on the slatekit-results component
  3. A techincal white-paper on the slatekit-apis ( Universal APIs ) component

Contact

Like Us ? ❤️

You can’t perform that action at this time.