项目作者: teambankrupt
项目描述 :
Spring boot skeleton project with implemented authentication, firebase push, mail, FileUpload, account validation, activity logging etc.
高级语言: Java
项目地址: git://github.com/teambankrupt/open-project-bankrupt.git
Project Open bankrupt
It’s a skeleton project with lots of features implemented by default.
Environment Setup
Environment Setup: First Run
Module and CRUD Generator
Example
Generate CRUD
./scripts/gen.sh crud Issue app/src/main/kotlin/com/example/app/domains/
Generate Module
./scripts/gen.sh module IssueTracker modules/appmodules
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
- Spring Batch Integration/Implementation
- Spring Websocket (STOMP) implementation (Chatroom)
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