Project OpenBankrupt

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.

Deploy Spring Boot app in a cloud instance

Leave a Reply

Your email address will not be published. Required fields are marked *