BMDB is a full-stack template with combination of Java | Maven | Spring Framework. This can be used for starter to create a complete build-in business structure, CRUD operations, authentication, Restful API.
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.git
In 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 BROWSER
There is authentication layer, you can use DEFAULT username/password
that is generated when you execute the CreateDatabase.sql script
or 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:build
When 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