Skip to content

Commit

Permalink
include baseline setup
Browse files Browse the repository at this point in the history
  • Loading branch information
rieckpil committed Jul 18, 2023
0 parents commit 2be6ac2
Show file tree
Hide file tree
Showing 15 changed files with 802 additions and 0 deletions.
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @rieckpil
13 changes: 13 additions & 0 deletions .github/workflows/.broken-link-config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"ignorePatterns": [
{
"pattern": "localhost:"
},
{
"pattern": "/pom.xml"
},
{
"pattern": "https://www.linkedin.com/*"
}
]
}
23 changes: 23 additions & 0 deletions .github/workflows/broken-links.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Check for broken links
on:
push:
schedule:
- cron: '0 5 * * SUN'

jobs:
broken-link-check:
runs-on: ubuntu-20.04
name: Check for broken links in README.md
steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up Node
uses: actions/setup-node@v3
with:
node-version: 16

- name: Check for broken links
run: |
npm install -g markdown-link-check@3.10.3
find README.md -type f | xargs -L1 npx markdown-link-check -c .broken-link-config.json --quiet
23 changes: 23 additions & 0 deletions .github/workflows/maven.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Build & Test Maven Project
on:
push:
schedule:
- cron: '0 15 * * *' # daily at 3pm
jobs:
build-and-test:
runs-on: ubuntu-20.04
name: Build Application
steps:
- name: Checkout Code
uses: actions/checkout@v3

- name: Setup for JDK 17
uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 17
java-package: jdk
cache: maven

- name: Build & Test application
run: ./mvnw verify
33 changes: 33 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/

### VS Code ###
.vscode/
Binary file added .mvn/wrapper/maven-wrapper.jar
Binary file not shown.
2 changes: 2 additions & 0 deletions .mvn/wrapper/maven-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.3/apache-maven-3.9.3-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar
90 changes: 90 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
[![Spring Boot TDD Online Course](https://rieckpil.de/wp-content/uploads/2023/05/tsbdr-featured-image.png)](https://rieckpil.de/tdd-with-spring-boot-done-right/)

# TDD (Test-Driven Development) with Spring Boot Done Right

[![](https://img.shields.io/badge/Spring%20Boot%20Version-3.1.1-orange)](/pom.xml)
[![](https://img.shields.io/badge/Java%20Version-17-orange)](/pom.xml)
[![](https://img.shields.io/badge/Enroll-Now-orange)](https://rieckpil.de/tdd-with-spring-boot-done-right/)

`main` branch: [![Build & Test Maven Project (main)](https://github.com/rieckpil/tdd-with-spring-boot-done-right/workflows/Build%20&%20Test%20Maven%20Project/badge.svg)](https://github.com/rieckpil/tdd-with-spring-boot-done-right/actions/workflows/maven.yml?query=branch%3Amain)

## Introduction

The Testing Spring Boot Applications Primer is a **beginner-friendly course on testing your Spring Boot applications**. You'll learn how to effectively write **unit, integration, and end-to-end tests** while utilizing Spring Boot's excellent test support.

- 1
- 2
- 3

TL;DR:

- 1
- 2
- 3

Enroll [here](https://rieckpil.de/tdd-with-spring-boot-done-right/) for the TDD with Spring Boot Done Right Online Course.

## Further Resources and Links

* [Course Landing Page](https://rieckpil.de/tdd-with-spring-boot-done-right/)
* [Course Overview](https://rieckpil.de/courses/tdd-with-spring-boot-done-right/)
* [Course Login](https://rieckpil.de/wp-login.php)
* [Password Reset](https://rieckpil.de/wp-login.php?action=lostpassword)

# Local Project Setup

## Requirements

Mandatory requirements:

* Java 17 (JDK flavour (OpenJDK/Azul/Oracle) does not matter). For the correct Java version setup I can recommend [JEnv](https://www.youtube.com/watch?v=9FVZyeFDXo0) (Mac/Linux) and the [Maven Toolchains Plugin](https://maven.apache.org/plugins/maven-toolchains-plugin/toolchains/jdk.html) (Windows)

```
$ java -version
openjdk version "17" 2021-09-14 LTS
OpenJDK Runtime Environment Zulu17.28+13-CA (build 17+35-LTS)
OpenJDK 64-Bit Server VM Zulu17.28+13-CA (build 17+35-LTS, mixed mode, sharing)
```

* Docker Engine (Community Edition is enough):

```
$ docker version
Client: Docker Engine - Community
Version: 20.10.6
API version: 1.41
Go version: go1.13.15
Git commit: 370c289
Built: Fri Apr 9 22:47:17 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.6
API version: 1.41 (minimum version 1.12)
Go version: go1.13.15
Git commit: 8728dd2
Built: Fri Apr 9 22:45:28 2021
OS/Arch: linux/amd64
Experimental: false
```

Optional requirements:

* Maven >= 3.6 (the project also includes the Maven Wrapper).

When using Maven from the command line, make sure `./mvnw -version` reports the correct Java version:

```
$ ./mvnw -version
Apache Maven 3.8.4 (9b656c72d54e5bacbed989b64718c159fe39b537)
Maven home: /home/rieckpil/.m2/wrapper/dists/apache-maven-3.8.4-bin/52ccbt68d252mdldqsfsn03jlf/apache-maven-3.8.4
Java version: 17.0.1, vendor: Eclipse Adoptium, runtime: /usr/lib/jvm/jdk-17.0.1+12
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.4.0-92-generic", arch: "amd64", family: "unix"
```

* IntelliJ IDEA or any IDE/Code Editor (Eclipse, NetBeans, Code, Atom, etc.)
Loading

0 comments on commit 2be6ac2

Please sign in to comment.