Skip to content

kidaak/krail

 
 

Repository files navigation

#krail

Krail provides a framework for rapid Java web development by combining Vaadin, Guice, Apache Shiro, Apache Commons Configuration and others. For more information, see the comprehensive Tutorial (still in development but a large part of it is complete)

This core library provides:

  • Site navigation, using a sitemap configured by annotation, Guice or file (or any combination thereof)
  • Authentication / Authorisation framework, including page access control
  • Vaadin Server Push (with option to disable it)
  • Event Bus
  • Extensive I18N support
  • User options
  • Application configuration through ini files etc
  • JSR 303 Validation (integrated with I18N)
  • User notifications

Additional libraries, integrated and configured through Guice, provide:

The issues tracker, blog and Tutorial provide more information.

#Download ##Gradle

repositories {
	jcenter()
}
'uk.q3c.krail:krail:0.9.6'

##Maven

<repository>
	<id>jcenter</id>
	<url>http://jcenter.bintray.com</url>
</repository>

<dependency>
	<groupId>uk.q3c.krail</groupId>
	<artifactId>krail</artifactId>
	<version>0.9.6</version>
</dependency>

##Direct

Download

#Limitations

Not fully thread-safe where it needs to be
Would not work in a clustered environment

Status

8th August 2015:

  • Vaadin 7.5.3 is integrated with:
  • Guice 4.0
  • Shiro 1.2.4,
  • MBassador (Event Bus)
  • Apache Commons Configuration
  • Guava cache

Krail is usable, though there is still work to ensure thread safety. No major changes to the API expected. Vaadin push is supported. Tested on Tomcat 7 & 8

demo

There is a simple demo project - this is rapidly becoming irrelevant. The Tutorial (see above) is much more useful.

testApp

There is a functional test application which can also be used to explore functionality - it actually contains more than the demo

#Project Build

Gradle is used (made a lot easier thanks to the Gradle Vaadin plugin.

If you want to build from source run 'gradle eclipse' or 'gradle idea' to generate the IDE files

#Acknowledgements

Thanks to:

Dirk Lietz for his review and feedback for the Tutorial
Mike Pilone for his blog post on Vaadin Shiro integration

ej technologies for an open source licence for their java profiler, JProfiler
Vaadin
Guice
Apache Shiro
JUnit
Guava (cache and utilities)
MBassador Event Bus
Flag Icons
Apache Commons Configuration
Gradle
Gradle Vaadin plugin
Gradle Docker Plugin
Gradle Bintray Plugin
Bintray
Docker
Logback
slf4j
AssertJ
Mycila
Mockito
spock

About

Rapid web app framework using Vaadin 7 integrated with Guice and Shiro

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 94.9%
  • Groovy 5.1%