A highly opinionated and complete template for Spring Boot projects ready for production
A highly opinionated and complete starter for Spring Boot production ready projects.
https://spring-boot-starter.ericopoku.com/
.
├── config # Can hold project level configurations like pmd, checkstyle, etc.
├── documents # Holds project documentations. Markdown sections, etc.
│ └── images
├── libs # Holds special libraries used by the application.
│ └── newrelic
└── src
├── integrationTest # Integration test suites separated from unit tests.
│ ├── java
│ │ └── com
│ │ └── developersboard
│ │ ├── backend
│ │ ├── task
│ │ └── web
│ └── resources
├── main
│ ├── java
│ │ └── com
│ │ └── developersboard
│ │ ├── annotation # All custom annotations used in the application
│ │ ├── backend # Business Logic and Data Access implementation
│ │ ├── config # Configuration classes and properties
│ │ ├── constant # Constants used in the application
│ │ ├── enums # Enums used in the application
│ │ ├── exception # Custom exceptions used in the application
│ │ ├── shared # Resources like dto, utils, etc. used in the application
│ │ ├── task # Scheduled tasks and cron jobs used in the application
│ │ └── web # Web layer implementation
│ ├── resources
│ │ ├── i18n # I18n property files, comes with 'en', 'fr', 'es' and 'zn_CN'
│ │ ├── static
│ │ │ ├── css
│ │ │ ├── fonts
│ │ │ ├── images
│ │ │ └── js
│ │ │ └── form-validation
│ │ └── templates
│ │ ├── common
│ │ │ └── email
│ │ ├── email
│ │ ├── error
│ │ └── user
│ └── scripts # Scripts used in the application as part of docker build, etc.
└── test
├── java
│ └── com
│ └── developersboard
│ ├── backend
│ ├── config
│ ├── shared
│ └── web
└── resources
Configuration properties required to deploy to Heroku:
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
TBD
The defaults are:
ADMIN_USERNAME=admin
ADMIN_PASSWORD=password
ENCRYPTION_SECRET_SALT=salt
ENCRYPTION_SECRET_PASSWORD=password
JWT_SECRET=salt
SPRING_PROFILES_ACTIVE=dev
ACCESS_TOKEN_EXPIRATION_IN_MINUTES=5
The AWS Properties and defaults are:
AWS_REGION=us-east-1
AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
AWS_S3_BUCKET_NAME=spring-boot-starter
The Email Properties and defaults are:
EMAIL_PROTOCOL=smtp
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_USERNAME
EMAIL_PASSWORD # If using gmail, this must be a 2 step verification enabled app password
NB: Windows users must use gradlew instead of ./gradlew