Skip to content

KleeGroup/vertigo

 
 

Repository files navigation

Vertigo

=================

License Maven Central

A Simple Java Starter kit for real projects.

Its main purpose is to publish simple and homogeneous APIs over more complex libraries.

Vertigo is split into different modules, detailed below.

vertigo-core

Build and configure your own modules

  • app : everything to configure your app
  • component : everything about components (fast, simple and lightweight Dependency Injection, simple AOP, proxies)
  • locale : manage internationalization of your app (MessageTexts)
  • param : a simple way for your business and technical configuration (external and internal)
  • definitions : a way to store and access all definitions of your app
  • resource : a simple access to resources (builtin : lookup into classpath, webapp, filesystem with relative or absolute path)
  • lang : a set of usefull elements such as assertion

vertigo-commons

A set of common tools

  • analytics : track your process calls, time & errors
  • cache : keep your objects in memory to improve performance
  • codec : transform an object into another. (built-in codecs : HTML, SHA1, Base64, Compress, Serialize)
  • daemon : manage all your application daemons (registering, stats)
  • eventbus : a simple event bus for handling events in your app
  • node : a simple node management for cluster applications (topology, health, config)
  • config : read configs for your application (overridable, externalizable, aggregate multiple configs)
  • peg : a simple parser for your DSL
  • script : transform a simple String in an executable script right from your code (because sometimes you need to merge code and data)
  • transaction : simple transaction management

vertigo-database

A simple data access to your databases

  • sql : with built-in handlers : Oracle, MSSql, Postgresql, H2

vertigo-dynamo

A simple way to define the model for your application and provide useful api over it like storage, search, etc...

  • collections : collections tools (built-in : fulltext indexation, facetting, filtering)
  • criteria : a unique api to build filters (predicates, sql)
  • domain : top-2-bottom POJO to simplify communication between layers from Database to GUI/WS
  • environment : initialize your components from different sources (built-in : powerdesigner, DSL, Java annotations)
  • file : manage file creation
  • kvstore : key/value datastore
  • store : simple access to persistence layer (built-in : route by object type, CRUD operations, NN operations)
  • search : simple search api
  • task : create and manage various tasks (such as direct queries to databases)

vertigo-account

A simple user management system, not only technical.

  • authentication : provide a set of connectors to easily manage your end users authentication in your app
  • authorization : userSession and security tools to check access to resources (by user roles and/or data properties)
  • identity : a way to store and identify your user accounts

vertigo-vega

Share your apps to others.

  • rest : Add a REST access layer to your application. Mainly oriented for production-ready Single-Page-Applications. Provides a production-ready security level.

vertigo-studio

A set of tools to help you through developpement

  • mda : Model Driven Architecture with tools to generate source code (java, sql, js, ts), multilingual properties...
  • reporting : a set of tools to build indicators about your app
  • ui : more to come

vertigo-bundle

A bundle of all above modules

vertigo-parent

just the parent pom

Additional note for Eclipse users

A plugin named KSP Plugin developped by sebez enhances Developer Experience.


#License Copyright (C) 2017, KleeGroup, direction.technique@kleegroup.com (http://www.kleegroup.com) KleeGroup, Centre d'affaire la Boursidiere - BP 159 - 92357 Le Plessis Robinson Cedex - France

            Licensed under the Apache License, Version 2.0 (the "License");
            you may not use this file except in compliance with the License.
            You may obtain a copy of the License at
            
            http://www.apache.org/licenses/LICENSE-2.0
            
            Unless required by applicable law or agreed to in writing, software
            distributed under the License is distributed on an "AS IS" BASIS,
            WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
            See the License for the specific language governing permissions and
            limitations under the License.