BMDB is a production-ready full-stack boilerplate built with Java, Spring Boot, and Maven. Designed as a solid starting point for business applications, it provides a structured foundation with:
- ✅ Clean and modular architecture
- 🔐 Authentication & Authorization (Spring Security)
- 🔁 Complete CRUD operations
- 🌐 RESTful API design
- 🧱 Easy to extend and customize for any business domain
Use BMDB to kickstart internal tools, dashboards, admin panels, or any business workflow system with confidence.
Tech Stack: Java · Spring Boot · Spring Security · Maven · JPA/Hibernate
Project's for education purposes at University of Wisconsin - Parkside
- Spring Framework (Core, Spring Boot, Spring MVC, Spring REST, Spring Security, JPA)
- Apache Maven - Build automation tool
- Bootstrap - CSS & Javacript template
- MySQL - SQL database management system
- Thymleaf - Java XML/XHTML/HTML5 template Engine
| Dependency | MVNRepository |
|---|---|
| Spring Boot Starter Web | org.springframework.boot |
| Spring Boot Starter Data JPA | org.springframework.boot |
| Spring Boot Starter Data REST | org.springframework.boot |
| Spring Boot Starter Security | org.springframework.boot |
| Spring Boot Starter Thymeleaf | org.springframework.boot |
| Spring Boot Devtools | org.springframework.boot |
| MySQL Connector Java | MySQL |
Please make sure have all these requirements before run an application
- Java SE 8 - Runtime Enviroment
- Maven Command Line | mvn - Build automation tool
- MySQL Workbench - MySQL IDE
$ git clone https://github.com/kyluong09/Business-Management.gitIn order for this application to work, we need to set up a database with MySQL Workbench and SQL script which is included inside project directory
- Connect MySQL Workbench with root username/password
- Open SQL script from directory ../Business-Management/sql_script
- Execute the CreateDatabase.sql script
| Basic Business Schema | Authentication Schema |
|---|---|
![]() |
![]() |
After finish setting up MySQL Workbench, change spring.database.username/password value with Workbench username/password
<!--MySQL Connection Properties-->
spring.datasource.url=jdbc:mysql://localhost:3306/Business_Management_Database
spring.datasource.username= <MySQL Workbench connection USERNAME>
spring.datasource.password= <MySQL Workbench connection PASSWORD>
NOTE: Without MySQL database and Application Properties set up, it would causes SPRING BOOT BUILD FAIL
$ cd <dir name>
$ mvn clean package
$ java -jar target/app.jar
Enter http://localhost:8080 on BROWSERThere is authentication layer, you can use DEFAULT username/password that is generated when you execute the CreateDatabase.sql scriptor manuanlly create a new account on MySQL, use sign up feature
username: admin
password: password
BMDB is built-in with Docker Maven, so that make it easy to install and deploy application to Docker Container. By default, the application runs on PORT 8080 and Dockerfile has expost value 8080.
$ cd .../business-management-database
$ mvn clean package docker:buildWhen creating application image on Docker, a system automacally generate both current project tag version and latest tag version
To view all current docker images
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
business-management-database 1.1.8 e1253af81705f x seconds ago 510MB
business-management-database latest e1253af81705f x seconds ago 510MB
openjdk latest 8321a029b6add x seconds ago 470MB
To run business-management-database image on Docker Container
$ docker run -p 8080:8080 business-management-database:<tag>
OR
$ docker run -p 8080:8080 e12:<tag>
Thi project is licensed under MIT License - see the LICENSE file for details

