As a micro-service middleware, Kikaha is just a library that helps developers to write fast codes faster. In practice it means that you can use any JVM build tool to create you project. Kikaha is available at the Maven Central Repository, so, if you choose to use Maven to build Kikaha we encourage you to take a look at the Creating a Kikaha maven project guide.
To automate most of build routines that maven imposes, Kikaha also comes with a simple Command Line Tool. Indeed, the fastest way to create the first Kikaha is through the Kikaha's CLI .
- Download the Kikaha's command line interface tool.
- Run the following commands at your terminal. The comments bellow will helps you to understand what will be done.
# create an empty project named first-project kikaha project create 2.0 --name=first-project # enter into the just created project folder cd first-project # run your project kikaha run-app
Open your browser and enter the address http://localhost:9000.
And... that's it! You just finished your 1 Minute tutorial.
You just created an empty Kikaha project from empty-project template. It becomes with only a basic set of dependencies leaving up to you include the extra modules and dependencies you need on your project. The dependencies included is:
- The Kikaha Core module
- The Kikaha Dependency Injection module - in order to provide CDI integration
- Logback - as default logging framework
Out-of-box there is more than one project template available. Please, take a look at the Project templates page for more details.
As opposite from a Kikaha project created as an ordinary maven project, your just created project does not follow the default maven directory structure convention. Indeed, maven lets you configure your own structure, if you want it. The default directory structure we have here were designed to be less verbose and be easier to understand, specially for those developers that isn't quite familiar with Maven.
source- To place your routes and another Java classes
resources- To place your resource files ( Server configuration, JPA configuration, template configuration, etc )
webapp- To place your static files or templates
tests- To place your unit tests
tests-resources- To place resources that belongs exclusively to unit/integration tests