It’s a framework based on spring boot, with lot of features and boilerplates included by default.
Highlights:
- Highly modularized
- monolith project
- so migration to microservices will take a very little effort.
- Included Generator (with just one command)
- CRUD Generator
- Module Generator
- Also Generates admin template (full flow of crud in Thymeleaf)
- Security Management (Authentication & Authorization)
- Ready-made admin panel to manage users
- Ready-mad panel to manage user roles and permissions/privileges
- Boilerplates
- Lot of boilerplate codes that we need in most of our applications, like user registration-authentication, file uploads, CORS, Email, Flood Control, Activity Logging, swagger and so on..
Features At a Glance
For Admin Panel
- Login
- Template configuration (Thymeleaf engine with layout dialect)
- Integrated (with thymeleaf engine, layout dialect) Opensource AdminBSBMaterialDesign theme for admin panel
- Spring Security Configuration (WebSecurity)
For API’s
- User Registration/Authentication
- Dynamic User Authorization Management (Roles & Privileges)
- OAuth2 for securing API’s
- Phone verification with OTP when registration
- Swagger configuration
- CORS configuration
- Promotion Management
- Profile CRUD
Common
- Swagger Documentation
- Email configuration for sending Emails
- SMS service configuration for sending SMS
- Exception Handling
- Activity Logging
- Flood Control (Auto Block IP for multiple failed attemps)
- Firebase Push server configuration (Implemented on NotificationService)
- File Upload Configuration for storing files on FileSystem
- And lots of utility classes
Extra
- Spring Batch Integration/Implementation
- Spring Websocket (STOMP) implementation (Chatroom)
See Documentation
Deployment
Packaging mvn clean package -DskipTests -Denv=prod
Here -Denv=prod comes from maven profiling on pom.xml file. This argument activates production profile and loads config from that profile. use -Denv=dev or -Denv=local or create a new profile.
To deploy app on a cloud instance please look at my blog here.