Skip to content

Reduce boilerplate code in new Java and Spring-based web application projects

License

Notifications You must be signed in to change notification settings

skarpushin/summerb

Repository files navigation

SummerB

Kick-start now and Evolve later your Java back-end application!

Maven javadoc License Join the chat at https://gitter.im/summerb-community/community

What SummerB is offering?

A set of building blocks that are usually needed for java back-end applications. With those building blocks it gives you a head start - allows to quickly assemble application.

it is based on Spring Framework and designed using SOLID design principles. Since 2015, summerb was used in a number of commercial and personal projects, proven to serve its purpose. Since then it was improved number of times.

Some of the mostly used libraries are:

  • Validation - a library designed for business-logic validation (most appropriate for service layer, NOT facade)
  • Internationalization (i18n) - elementary primitives for user language agnostic messages
  • EasyCrud - JdbcTemplate-based CRUD functionality designed for bootstraping CRUD functionality while having enough facilities for extension and customization
  • Users - implementation of repositories for Users and Permissions (suitable for ACL style)

A bit more rare, but still sometimes useful things:

  • DB Upgrade - K.I.S.S. (keep it simple stupid) approach for migrating your DB (way simpler than Flyway and Liquibase but obviously way less popular)
  • Security - elementary security primitives on top of Spring Security
  • Properties - a persistent approach for handling business-objects properties (don't confuse with application properties)
  • StringTemplate - primitives for compiling string templates and evaluating them (default impl is based on SpEL)
  • Webboilerplate - a set of heavily opinionated parts of Spring MVC application (I think I will tear down this soon)

Designed for evolution

Unlike some other tools, SummerB allows you to quickly bootstrap usual facilities in your application AND allow you to evolve your application while gradually augmenting or replacing SummerB components.

If you're working in software development world long enough, you know the price of "magic". At some point you come across some library/framework that allows you to "implement" huge amount of functionality in a matter of few keystrokes (i.e. "Create a Blog in 15 minutes"). But then (usually this happens in real, long-living projects, used by real people) you bump into some shortage - a bottleneck that significantly slows you down and does not allow you to grow.

SummerB is designed to overcome this. You can do both -- quickly bootstrap the application here and now AND evolve it to meet business needs later.

About

Reduce boilerplate code in new Java and Spring-based web application projects

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages