Slate Kit is built in 100% Kotlin and depends on Java. The Slate Kit CLI generates new projects using the Gradle build tool.
If you are new to Kotlin, refer to Kotlin for more info.
Installation of Java, Kotlin, Gradle and Slate Kit is fairly easy. We recommend the following installation steps and centralized location for simplicity.
The Slate Kit CLI is a command line tool ( based on HomeBrew on Mac OS ) that can be used to create projects
# Note: install may take a while on Mac OS Catalina # See notes/issues below brew tap slatekit/slatekit brew install slatekit
You can create your first app by running the command below which will create a new console application with support for :
|args||command line args ( -env=dev )|
|envs||environments ( local, dev, qat, uat, pro )|
|confs||configuration files ( per environment and inheritable from a base config )|
|logs||logging support ( using logback )|
|help||help usage and more|
This is just 1 type of project you can create.
# Generate new app ( into current directory ) :> slatekit new app -name="Sample1" -packageName="mycompany.apps" # navigate into the generated app :> cd Sample1 # Build and run :> gradle run
You can create several different project types using the generator, these include CLIs, APIs, Jobs, and more to come.
slatekit new app -name="SampleApp1" -packageName="company1.apps" slatekit new api -name="SampleAPI1" -packageName="company1.apis" slatekit new cli -name="SampleCLI1" -packageName="company1.apps" slatekit new job -name="SampleJob1" -packageName="company1.jobs" slatekit new env -name="SampleApp2" -packageName="company1.apps"
There are also several sample applications available in git at Samples
There are various runnable application types you can create with Slate Kit. See the links below for more docs and guides on how to get started with them.
|App||Server||Runnable App Template|
|CLI||Server||Command Line Interface|
|Server||Server||Http Server ( using Ktor ) and our Universal APIs|
|API||Server / Console||Universal APIs|
|Jobs||Android / Server||Pausable Background jobs/queues library|