Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions .codeclimate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
version: "2"
checks:
argument-count:
enabled: true
config:
threshold: 4
complex-logic:
enabled: true
config:
threshold: 4
file-lines:
enabled: true
config:
threshold: 250
method-complexity:
enabled: true
config:
threshold: 5
method-count:
enabled: true
config:
threshold: 20
method-lines:
enabled: true
config:
threshold: 25
nested-control-flow:
enabled: true
config:
threshold: 4
return-statements:
enabled: true
config:
threshold: 4
similar-code:
enabled: true
identical-code:
enabled: true

exclude_patterns:
- "test/"
- "tests/"
- "**/test/"
- "**/tests/"
- "**/*Test.java"
- "build/"
- "target/"
- "docs/"
- "*.md"
54 changes: 54 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
## Description
<!--A brief explanation of what was changed, why it was changed and how it was changed. -->

## Type of change
<!-- Mark relevant items with 'x' -->
- [ ] New Feature
- [ ] Bug Fix
- [ ] Refactor
- [ ] Documentation Update
- [ ] Style
- [ ] Performance Improvements
- [ ] Test Update
- [ ] Build/CI Update

## Testing
<!-- Describe how you tested these changes -->
- [ ] Unit Tests Added/Updated
- [ ] Integration Tests Added/Updated
- [ ] Manual Testing Completed
### Test Cases
<!-- List key test scenarios -->
1.
2.

## Deployment Instructions (optional)
<!-- Include instructions about any scripts that need to be run -->

## QA Instructions (optional)
<!-- Include any information that will help a reviewer with testing -->

## Breaking Changes
<!-- Mark with 'x' if applies -->
- [ ] This PR introduces breaking changes
<!-- If yes, describe the impact and migration path -->

## Dependencies
<!-- List any new dependencies or changes to existing ones -->

## Related Tickets & Documents
<!-- Include JIRA ticket references and their summary -->

## Screenshots/Recordings
<!-- If applicable, add screenshots or recordings -->

## Checklist
<!-- Mark completed items with 'x' -->
- [ ] Code follows style guidelines
- [ ] Self-review completed
- [ ] Tests pass locally
- [ ] Documentation updated
- [ ] No new warnings generated

## Additional Notes
<!-- Any other relevant information -->
59 changes: 59 additions & 0 deletions .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Continuous Integration Pipeline

on:
push:
paths-ignore:
- '**.md'
- '**.txt'
- '**.json'
- '**.properties'
- '**.xml'
- '**.sql'
- '**.csv'
- '**.zip'
- 'docs/**'
- '.gitignore'

defaults:
run:
shell: bash

env:
JAVA_VERSION: '17'

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: ${{ env.JAVA_VERSION }}
distribution: 'temurin'
cache: maven

- name: Run Tests
run: mvn test

- name: Upload JaCoCo reports
if: always()
uses: actions/upload-artifact@v4
with:
name: jacoco-reports
path: target/site/jacoco/

- name: Setup Code Climate
run: |
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
chmod +x ./cc-test-reporter
./cc-test-reporter before-build
- name: Run Code Climate Analysis
env:
CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
run: |
JACOCO_SOURCE_PATH=src/main/java ./cc-test-reporter format-coverage target/site/jacoco/jacoco.xml --input-type jacoco
./cc-test-reporter upload-coverage
32 changes: 4 additions & 28 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,38 +13,14 @@ target/
nbdist/
.nb-gradle/

# End of https://www.gitignore.io/api/netbeans

# Created by https://www.gitignore.io/api/netbeans
# Edit at https://www.gitignore.io/?templates=netbeans

### NetBeans ###
**/nbproject/private/
**/nbproject/Makefile-*.mk
**/nbproject/Package-*.bash
build/
nbbuild/
dist/
nbdist/
.nb-gradle/
nbactions.xml
# End of https://www.gitignore.io/api/netbeans
/src/main/resources/fasp - db design.mwb.bak
/src/main/resources/fasp - db design(2).mwb
/src/main/resources/fasp - db design2.mwb
src/main/resources/fasp - db design2.mwb
src/main/resources/fasp - db design2.mwb.bak
/src/main/resources/fasp - db design2.mwb.bak
/target/
docs/
HELP.md
README.md

# Mac
.DS_Store

# JEnv
.java-version

# VS Code
.vscode
.vscode

# IntellJ
.idea
70 changes: 70 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@

<properties>
<java.version>17</java.version>
<sonar.coverage.exclusions>**/model/**,**/dto/**</sonar.coverage.exclusions>
<jacoco.minimum.coverage>0.80</jacoco.minimum.coverage>
</properties>

<dependencies>
Expand Down Expand Up @@ -81,6 +83,14 @@
<artifactId>mysql-connector-java</artifactId>
<version>8.0.29</version>
</dependency>
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
</dependency>
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-mysql</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
Expand Down Expand Up @@ -120,6 +130,39 @@
<groupId>net.minidev</groupId>
<artifactId>json-smart</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
<version>1.19.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>junit-jupiter</artifactId>
<version>1.19.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>mysql</artifactId>
<version>1.19.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<pluginRepositories>
<pluginRepository>
Expand Down Expand Up @@ -156,6 +199,33 @@
<executable>true</executable>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.8</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/site/jacoco</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0</version>
</plugin>
</plugins>
</build>

Expand Down
Loading
Loading