Digital Credit is a sample application that was developed for exploratory purposes to examine development frameworks and techniques. The application is an example online credit application.
- Using either an Eclipse IDE or IntelliJ, import the source code as an Existing Maven Project.
- Install Java SDK
- Install Apache Maven
- Install Eclipse IDE, Spring Tools Suite or IntelliJ
- JUnit Tests - Execute "mvn clean test"
- Serenity BDD Acceptance Tests - Execute "mvn clean verify"
- Serenity BDD tests use Cucumber Feature file definitions.
- API Test are executed using the Rest Assured Java framework.
- Use '-Dcucumber.options="--tags {tag}"' maven command line option to filter test execution based on Feature or Scenario tags defined within the feature files.
- Serenity BDD tests use Cucumber Feature file definitions.
- To create a deployment package, execute "mvn clean package -DbuildNumber={###}"
- To create a new Docker image, update the Dockerfile with the latest build number and then execute "docker build -t {imageName}:{imageTag} ."
Digital Credit can be deployed as a single standalone application service.
- WAR Package Deployment
- Apache Tomcat version 8.5 or higher
- Deployment does not work with Apache Tomcat 7.x
- Copy the WAR file into an existing Tomcat instance under ${catalina.base}/webapps folder.
- (Optional) Copy the digitalcredit.properites file into the ${catalina.base}/conf folder.
- Use to customize the configuration of the application.
- The digitalcredit.properties file is configured to be a "watched resource" in the deployment context. Any updates to the digitalcredit.properties file will automatically trigger Tomcat to recycle the application to pick up the new changes.
- Start the Tomcat service.
- A digitalcredit.log file will be created within ${catalina.base}/logs.
- Apache Tomcat version 8.5 or higher
- Docker Deployment
- Swagger UI @ http://{hostname}:{port}/credit/swagger-ui.html
- The API Admin user credentials are as follows:
- admin@demo.io/Demo123!
- The API Admin user credentials are as follows:
- Spring Boot - Application Framework
- Swagger - API Documentation
- Apache Maven - Software Project Management
- Apache Tomcat - Application Server / Servlet Engine
- Apache Artemis - Messaging Broker
- H2 Database Engine - In-Memory Database
- MSSQL Server Database Engine - Microsoft SQL Server
- MySQL Database Engine - MySQL
- PostgreSQL Database Engine - PostgreSQL
- Serenity BDD - Acceptance Testing Framework
- JUnit 5 - Unit Testing Framework
See the additional list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE.md file for details