Skip to content

Latest commit

 

History

History
238 lines (179 loc) · 9.08 KB

README.md

File metadata and controls

238 lines (179 loc) · 9.08 KB

Contributors Forks Stargazers Issues License LinkedIn


Logo

autumo beetRoot

A Slim & Rapid Java Web Framework
Report Bug · Request Feature

What is beetRoot ?

beetRoot is a rapid Java web development and a complete and secure client-server framework that is ready to use, starts in less than a second and gives you a working initial setup for the current version, a transparent and clear way to configure the framework and its components, and the freedom to choose any web container or just use the optimized and embedded web container from the start. However, none of this stops you from customizing the pom.xml file and extend beetRoot as you wish.

If you know CakePHP for web development, you will like beetRoot. It is based on the same principles and has a full CRUD generator that generates all views, the model specification and controllers (handlers in beetRoot's terminology) based on the database model! The client-server framework supports encrypted communication (SSL) as well as HTTP/HTTPS tunneling, provides an interface for downloading and uploading files and can be extended with your own (distributed) modules.

autumo beetRoot 3.x - Quickstart

autumo beetRoot 3.x - Quickstart

autumo beetRoot 3.x - Quickstart Video


beetRoot Console

Use the quickstart guide below, then go to http://localhost:8778 and log in:

  • Default user: admin
  • Default password: beetroot

When developing, take a look at the API Docs.

Quickstart

Enter the following commands into your terminal:

Linux, macOS

VERSION=3.1.3
PACKAGE=autumo-beetRoot-$VERSION

curl -LO https://github.com/autumoswitzerland/autumo-beetroot/releases/download/v$VERSION/$PACKAGE.zip

unzip $PACKAGE.zip
rm $PACKAGE.zip

$PACKAGE/bin/beetroot.sh start

Windows

SET VERSION=3.1.3
SET PACKAGE=autumo-beetRoot-%VERSION%

curl -LO https://github.com/autumoswitzerland/autumo-beetroot/releases/download/v%VERSION%/%PACKAGE%.zip

tar -xf %PACKAGE%.zip
del %PACKAGE%.zip

%PACKAGE%\bin\beetroot.bat start

Documentation

🚀 beetRoot is already largely documented by its basic configuration. Take a look at the comments for each configuration key to get to know the possibilities and the extensive features of beetRoot: cfg/beetroot.cfg.

Built With

Links

Features List

  • Features to add, edit, view, list and delete entities
  • Full CRUD generator PLANT for views, models and handlers
  • One-to-many database relationships are fully applied in MVC layers
  • Many-to-many relationship handling can be easily applied in MVC layers, including drag-and-drop assignments in the UI
  • Easy-to-understand HTML template engine
  • User roles and access control at controller level and within templates
  • URL routing with language support
  • Standard CSRF mechanism as well as obfuscated CRUD IDs within HTTP requests
  • 2-factor authentication
  • Argon2/PBKPD2 password encryption
  • Password reset mechanism
  • Extensible user settings
  • Bean support with transient and unique fields
  • User sessions are saved when servers are stopped
  • Entities can be deployed via JSON REST API
  • Language management (template translations and/or separate templates for each language)
  • Tested on Apache Tomcat 9, Eclipse Jetty 10 and Oracle Weblogic 14
  • SMS and phone call interfaces
  • Mailing including mail templates
  • Database connection pooling (HikariCP, with internal and external JNDI data sources)
  • Supported databases: H2, MySQL, MariaDB, PostgreSQL and Oracle
  • File upload and download
  • Full MIME type control
  • Dark theme and theme support
  • File caching (resources and templates)
  • HTTPS protocol and TLS for mail if configured
  • Logging implementations other than log4j2 are supported
  • Optimized console logging with colored sections (if required)
  • Runs standalone as well as in common servlet containers like Apache Tomcat and Jetty on the URL root path as well as behind a servlet path without any changes to HTML templates etc.
  • Secure client-server communication when beetRoot is installed in a servlet container separate from the beetRoot server and such communication is required to control backend processes
  • Hierarchical resource loader; e.g. request German language, if not found, use configured default language, then use no language at all; “search until you find something useful” is the algorithm for everything. Also, load resources from the file system (first), then as a resource inside packages (JAR, WAR) if they were not found before.
  • And more stuff...

Enjoy!

Donate

Your donation helps to develop autumo beetRoot further. Thank you!

paypal



Copyright 2024, autumo Ltd., Switzerland