diff --git a/avatarsDicebear/Dockerfile b/avatarsDicebear/Dockerfile new file mode 100644 index 0000000..27108ad --- /dev/null +++ b/avatarsDicebear/Dockerfile @@ -0,0 +1,7 @@ +FROM openjdk:8-jdk-alpine +RUN addgroup -S spring && adduser -S spring -G spring +USER spring:spring +EXPOSE 8080 +ARG JAR_FILE=build/libs/*.jar +COPY ${JAR_FILE} avatarsDicebear.jar +ENTRYPOINT ["java", "-jar", "/avatarsDicebear.jar"] \ No newline at end of file diff --git a/avatarsDicebear/buildImage.sh b/avatarsDicebear/buildImage.sh new file mode 100644 index 0000000..fe437fd --- /dev/null +++ b/avatarsDicebear/buildImage.sh @@ -0,0 +1,22 @@ +#!/bin/bash +set -e +imageTag=$1 + +if [ -z "$1" ]; + then + echo No image tag provided. Latest will be used + imageTag=latest +fi +repositoryName=avatars_dicebear +imageFullName=$repositoryName:$imageTag + +echo [Avatars DiceBear STARTING] building $imageFullName +echo BASH_SOURCE: "${BASH_SOURCE%/*}" +echo [Avatars DiceBear] creating jar... +(exec "${BASH_SOURCE%/*}/../gradlew" bootJar --no-daemon) + +echo [Avatars DiceBear] creating docker image... +docker build -t $imageFullName "${BASH_SOURCE%/*}" + +echo [Avatars DiceBear FINISHED] image has been built + diff --git a/avatarsDicebear/pushImage.sh b/avatarsDicebear/pushImage.sh new file mode 100644 index 0000000..f9524bf --- /dev/null +++ b/avatarsDicebear/pushImage.sh @@ -0,0 +1,20 @@ +#!/bin/bash +set -e +imageTag=$1 + +if [ -z "$1" ]; + then + echo No image tag provided. Latest will be used + imageTag=latest +fi +repositoryName=avatars_decebear +imageFullName=$repositoryName:$imageTag + +echo [Avatars decebear STARTING] pushing image $imageFullName + +echo [Avatars decebear ] pushing image... + +echo [Avatars decebear ] creating docker image... +docker push $imageFullName + +echo [Avatars decebear FINISHED] image $imageFullName pushed \ No newline at end of file diff --git a/buildImage.sh b/buildImage.sh new file mode 100644 index 0000000..c015321 --- /dev/null +++ b/buildImage.sh @@ -0,0 +1,16 @@ +#!/bin/bash +set -e +imageTag=$1 + +if [ -z "$1" ]; + then + echo No image tag provided. Latest will be used + imageTag=latest +fi + +(exec "${BASH_SOURCE%/*}/avatarsDicebear/buildImage.sh" $imageTag) +(exec "${BASH_SOURCE%/*}/businessPeople/buildImage.sh" $imageTag) +(exec "${BASH_SOURCE%/*}/persistence/buildImage.sh" $imageTag) +(exec "${BASH_SOURCE%/*}/presentation/buildImage.sh" $imageTag) +(exec "${BASH_SOURCE%/*}/quoteGarden/buildImage.sh" $imageTag) +(exec "${BASH_SOURCE%/*}/useCasePeople/buildImage.sh" $imageTag) diff --git a/businessPeople/Dockerfile b/businessPeople/Dockerfile new file mode 100644 index 0000000..3a5ddd1 --- /dev/null +++ b/businessPeople/Dockerfile @@ -0,0 +1,7 @@ +FROM openjdk:8-jdk-alpine +RUN addgroup -S spring && adduser -S spring -G spring +USER spring:spring +EXPOSE 8080 +ARG JAR_FILE=build/libs/*.jar +COPY ${JAR_FILE} businessPeople.jar +ENTRYPOINT ["java", "-jar", "/businessPeople.jar"] \ No newline at end of file diff --git a/businessPeople/buildImage.sh b/businessPeople/buildImage.sh new file mode 100644 index 0000000..176afef --- /dev/null +++ b/businessPeople/buildImage.sh @@ -0,0 +1,22 @@ +#!/bin/bash +set -e +imageTag=$1 + +if [ -z "$1" ]; + then + echo No image tag provided. Latest will be used + imageTag=latest +fi +repositoryName=business_image +imageFullName=$repositoryName:$imageTag + +echo [Business people STARTING] building $imageFullName + +echo [Business people] creating jar... +(exec "${BASH_SOURCE%/*}/../gradlew" bootJar --no-daemon) + +echo [Business people] creating docker image... +docker build -t $imageFullName "${BASH_SOURCE%/*}" + +echo [Business people FINISHED] image has been built + diff --git a/businessPeople/pushImage.sh b/businessPeople/pushImage.sh new file mode 100644 index 0000000..44e45eb --- /dev/null +++ b/businessPeople/pushImage.sh @@ -0,0 +1,20 @@ +#!/bin/bash +set -e +imageTag=$1 + +if [ -z "$1" ]; + then + echo No image tag provided. Latest will be used + imageTag=latest +fi +repositoryName=business_people +imageFullName=$repositoryName:$imageTag + +echo [Business people STARTING] pushing image $imageFullName + +echo [Business people ] pushing image... + +echo [Business people ] creating docker image... +docker push $imageFullName + +echo [Business people FINISHED] image $imageFullName pushed \ No newline at end of file diff --git a/businessPeople/src/main/kotlin/com/stringconcat/people/businessPeople/Person.kt b/businessPeople/src/main/kotlin/com/stringconcat/people/businessPeople/Person.kt index 09ab035..4a62b1e 100644 --- a/businessPeople/src/main/kotlin/com/stringconcat/people/businessPeople/Person.kt +++ b/businessPeople/src/main/kotlin/com/stringconcat/people/businessPeople/Person.kt @@ -12,14 +12,10 @@ data class Person( val secondName: String, val birthDate: LocalDate, val sex: Sex, - var avatartUrl: String = DEFAULT_ROBOT_AVATAR, + var avatarUrl: String = DEFAULT_ROBOT_AVATAR, val favoriteQuote: String ) { - fun mature(forDate: LocalDate = LocalDate.now()): Boolean = - age(forDate) > 40 - - fun age(forDate: LocalDate = LocalDate.now()): Year = Period.between(forDate, birthDate).years @@ -28,7 +24,7 @@ data class Person( } fun changeAvatar(pictureUrl: String) { - avatartUrl = pictureUrl + avatarUrl = pictureUrl } } diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..e69de29 diff --git a/persistence/Dockerfile b/persistence/Dockerfile new file mode 100644 index 0000000..9977cd5 --- /dev/null +++ b/persistence/Dockerfile @@ -0,0 +1,7 @@ +FROM openjdk:8-jdk-alpine +RUN addgroup -S spring && adduser -S spring -G spring +USER spring:spring +EXPOSE 8080 +ARG JAR_FILE=build/libs/*.jar +COPY ${JAR_FILE} persistence.jar +ENTRYPOINT ["java", "-jar", "/persistence.jar"] \ No newline at end of file diff --git a/persistence/buildImage.sh b/persistence/buildImage.sh new file mode 100644 index 0000000..ecac2e5 --- /dev/null +++ b/persistence/buildImage.sh @@ -0,0 +1,22 @@ +#!/bin/bash +set -e +imageTag=$1 + +if [ -z "$1" ]; + then + echo No image tag provided. Latest will be used + imageTag=latest +fi +repositoryName=persistence +imageFullName=$repositoryName:$imageTag + +echo [Persistence STARTING] building $imageFullName + +echo [Persistence ] creating jar... +(exec "${BASH_SOURCE%/*}/../gradlew" bootJar --no-daemon) + +echo [Persistence ] creating docker image... +docker build -t $imageFullName "${BASH_SOURCE%/*}" + +echo [Persistence FINISHED] image has been built + diff --git a/persistence/pushImage.sh b/persistence/pushImage.sh new file mode 100644 index 0000000..5f6b0d7 --- /dev/null +++ b/persistence/pushImage.sh @@ -0,0 +1,20 @@ +#!/bin/bash +set -e +imageTag=$1 + +if [ -z "$1" ]; + then + echo No image tag provided. Latest will be used + imageTag=latest +fi +repositoryName=persistence +imageFullName=$repositoryName:$imageTag + +echo [Persistence STARTING] pushing image $imageFullName + +echo [Persistence ] pushing image... + +echo [Persistence ] creating docker image... +docker push $imageFullName + +echo [Persistence FINISHED] image $imageFullName pushed \ No newline at end of file diff --git a/persistence/src/main/kotlin/com/stringconcat/people/persistance/model/PersonEntity.kt b/persistence/src/main/kotlin/com/stringconcat/people/persistance/model/PersonEntity.kt index 66e7d9f..c5e2b03 100644 --- a/persistence/src/main/kotlin/com/stringconcat/people/persistance/model/PersonEntity.kt +++ b/persistence/src/main/kotlin/com/stringconcat/people/persistance/model/PersonEntity.kt @@ -13,7 +13,7 @@ data class PersonEntity( val secondName: String, val birthDate: LocalDate, val sex: Sex, - val avatartUrl: String, + val avatarUrl: String, val favoriteQuote: String ) { enum class Sex { @@ -28,7 +28,7 @@ data class PersonEntity( secondName = p.secondName, birthDate = p.birthDate, sex = if (p.sex == Person.Sex.MAN) Sex.MAN else Sex.WOMAN, - avatartUrl = p.avatartUrl, + avatarUrl = p.avatarUrl, favoriteQuote = p.favoriteQuote ) @@ -39,7 +39,7 @@ data class PersonEntity( secondName = p.secondName, birthDate = p.birthDate, sex = if (p.sex == Sex.MAN) Person.Sex.MAN else Person.Sex.WOMAN, - avatartUrl = p.avatartUrl, + avatarUrl = p.avatarUrl, favoriteQuote = p.favoriteQuote ) } diff --git a/presentation/Dockerfile b/presentation/Dockerfile new file mode 100644 index 0000000..3fad23a --- /dev/null +++ b/presentation/Dockerfile @@ -0,0 +1,7 @@ +FROM openjdk:8-jdk-alpine +RUN addgroup -S spring && adduser -S spring -G spring +USER spring:spring +EXPOSE 8080 +ARG JAR_FILE=build/libs/*.jar +COPY ${JAR_FILE} presentation.jar +ENTRYPOINT ["java", "-jar", "/presentation.jar"] \ No newline at end of file diff --git a/presentation/buildImage.sh b/presentation/buildImage.sh new file mode 100644 index 0000000..79e66f7 --- /dev/null +++ b/presentation/buildImage.sh @@ -0,0 +1,22 @@ +#!/bin/bash +set -e +imageTag=$1 + +if [ -z "$1" ]; + then + echo No image tag provided. Latest will be used + imageTag=latest +fi +repositoryName=presentation +imageFullName=$repositoryName:$imageTag + +echo [Presentation STARTING] building $imageFullName + +echo [Presentation ] creating jar... +(exec "${BASH_SOURCE%/*}/../gradlew" bootJar --no-daemon) + +echo [Presentation ] creating docker image... +docker build -t $imageFullName "${BASH_SOURCE%/*}" + +echo [Presentation FINISHED] image has been built + diff --git a/presentation/pushImage.sh b/presentation/pushImage.sh new file mode 100644 index 0000000..90f9768 --- /dev/null +++ b/presentation/pushImage.sh @@ -0,0 +1,20 @@ +#!/bin/bash +set -e +imageTag=$1 + +if [ -z "$1" ]; + then + echo No image tag provided. Latest will be used + imageTag=latest +fi +repositoryName=presentation +imageFullName=$repositoryName:$imageTag + +echo [Presentation STARTING] pushing image $imageFullName + +echo [Presentation ] pushing image... + +echo [Presentation ] creating docker image... +docker push $imageFullName + +echo [Presentation FINISHED] image $imageFullName pushed \ No newline at end of file diff --git a/presentation/src/main/kotlin/com/stringconcat/people/presentation/model/PersonRespectfullViewModel.kt b/presentation/src/main/kotlin/com/stringconcat/people/presentation/model/PersonRespectfullViewModel.kt index 82ed31b..0b6f594 100644 --- a/presentation/src/main/kotlin/com/stringconcat/people/presentation/model/PersonRespectfullViewModel.kt +++ b/presentation/src/main/kotlin/com/stringconcat/people/presentation/model/PersonRespectfullViewModel.kt @@ -18,7 +18,7 @@ class PersonRespectfullViewModel( else "" - fun avatarUrl() = person.avatartUrl + fun avatarUrl() = person.avatarUrl fun birthDate() = "${person.birthDate.dayOfMonth} ${person.birthDate.month} ${person.birthDate.year}" diff --git a/pushImage.sh b/pushImage.sh new file mode 100644 index 0000000..659de3d --- /dev/null +++ b/pushImage.sh @@ -0,0 +1,16 @@ +#!/bin/bash +set -e +imageTag=$1 + +if [ -z "$1" ]; + then + echo No image tag provided. Latest will be used + imageTag=latest +fi + +(exec "${BASH_SOURCE%/*}/avatarsDicebear/pushImage.sh" $imageTag) +(exec "${BASH_SOURCE%/*}/businessPeople/pushImage.sh" $imageTag) +(exec "${BASH_SOURCE%/*}/persistence/pushImage.sh" $imageTag) +(exec "${BASH_SOURCE%/*}/presentation/pushImage.sh" $imageTag) +(exec "${BASH_SOURCE%/*}/quoteGarden/pushImage.sh" $imageTag) +(exec "${BASH_SOURCE%/*}/useCasePeople/pushImage.sh" $imageTag) \ No newline at end of file diff --git a/quoteGarden/Dockerfile b/quoteGarden/Dockerfile new file mode 100644 index 0000000..d9e89f1 --- /dev/null +++ b/quoteGarden/Dockerfile @@ -0,0 +1,7 @@ +FROM openjdk:8-jdk-alpine +RUN addgroup -S spring && adduser -S spring -G spring +USER spring:spring +EXPOSE 8080 +ARG JAR_FILE=build/libs/*.jar +COPY ${JAR_FILE} quoteGarden.jar +ENTRYPOINT ["java", "-jar", "/quoteGarden.jar"] \ No newline at end of file diff --git a/quoteGarden/buildImage.sh b/quoteGarden/buildImage.sh new file mode 100644 index 0000000..8ffa5b3 --- /dev/null +++ b/quoteGarden/buildImage.sh @@ -0,0 +1,22 @@ +#!/bin/bash +set -e +imageTag=$1 + +if [ -z "$1" ]; + then + echo No image tag provided. Latest will be used + imageTag=latest +fi +repositoryName=quote_garden +imageFullName=$repositoryName:$imageTag + +echo [Quote garden STARTING] building $imageFullName + +echo [Quote garden ] creating jar... +(exec "${BASH_SOURCE%/*}/../gradlew" bootJar --no-daemon) + +echo [Quote garden ] creating docker image... +docker build -t $imageFullName "${BASH_SOURCE%/*}" + +echo [Quote garden FINISHED] image has been built + diff --git a/quoteGarden/pushImage.sh b/quoteGarden/pushImage.sh new file mode 100644 index 0000000..1c4f3dd --- /dev/null +++ b/quoteGarden/pushImage.sh @@ -0,0 +1,20 @@ +#!/bin/bash +set -e +imageTag=$1 + +if [ -z "$1" ]; + then + echo No image tag provided. Latest will be used + imageTag=latest +fi +repositoryName=quote_garden +imageFullName=$repositoryName:$imageTag + +echo [Quote garden STARTING] pushing image $imageFullName + +echo [Quote garden] pushing image... + +echo [Quote garden] creating docker image... +docker push $imageFullName + +echo [Quote garden FINISHED] image $imageFullName pushed \ No newline at end of file diff --git a/useCasePeople/Dockerfile b/useCasePeople/Dockerfile new file mode 100644 index 0000000..1d8db34 --- /dev/null +++ b/useCasePeople/Dockerfile @@ -0,0 +1,7 @@ +FROM openjdk:8-jdk-alpine +RUN addgroup -S spring && adduser -S spring -G spring +USER spring:spring +EXPOSE 8080 +ARG JAR_FILE=build/libs/*.jar +COPY ${JAR_FILE} useCasePeople.jar +ENTRYPOINT ["java", "-jar", "/useCasePeople.jar"] diff --git a/useCasePeople/buildImage.sh b/useCasePeople/buildImage.sh new file mode 100644 index 0000000..e6cba30 --- /dev/null +++ b/useCasePeople/buildImage.sh @@ -0,0 +1,22 @@ +#!/bin/bash +set -e +imageTag=$1 + +if [ -z "$1" ]; + then + echo No image tag provided. Latest will be used + imageTag=latest +fi +repositoryName=usecasepeople +imageFullName=$repositoryName:$imageTag + +echo [Use case people STARTING] building $imageFullName + +echo [Use case people] creating jar... +(exec "${BASH_SOURCE%/*}/../gradlew" bootJar --no-daemon) + +echo [Use case people] creating docker image $imageFullName... +docker build -t $imageFullName "${BASH_SOURCE%/*}" + +echo [Use case people FINISHED] image $imageFullName has been built + diff --git a/useCasePeople/pushImage.sh b/useCasePeople/pushImage.sh new file mode 100644 index 0000000..7b9d903 --- /dev/null +++ b/useCasePeople/pushImage.sh @@ -0,0 +1,20 @@ +#!/bin/bash +set -e +imageTag=$1 + +if [ -z "$1" ]; + then + echo No image tag provided. Latest will be used + imageTag=latest +fi +repositoryName=usecasepeople +imageFullName=$repositoryName:$imageTag + +echo [Use case people STARTING] pushing image $imageFullName + +echo [Use case people] pushing image... + +echo [Use case people] creating docker image... +docker push $imageFullName + +echo [Use case people FINISHED] image $imageFullName pushed \ No newline at end of file diff --git a/useCasePeople/src/main/kotlin/com/stringconcat/people/useCasePeople/MeUseCase.kt b/useCasePeople/src/main/kotlin/com/stringconcat/people/useCasePeople/MeUseCase.kt index b83063d..5125187 100644 --- a/useCasePeople/src/main/kotlin/com/stringconcat/people/useCasePeople/MeUseCase.kt +++ b/useCasePeople/src/main/kotlin/com/stringconcat/people/useCasePeople/MeUseCase.kt @@ -12,12 +12,12 @@ class MeUseCase( operator fun invoke(): Person { val id = UUID.fromString("29f4d7e3-fd7c-4664-ad07-763326215ec4") val me = Person( - id = UUID.fromString("29f4d7e3-fd7c-4664-ad07-763326215ec4"), + id = id, firstName = "Sergey", secondName = "Bukharov", birthDate = LocalDate.of(1987,12,1), sex = Person.Sex.MAN, - avatartUrl = "https://avatars.dicebear.com/v2/male/my-somffething.svg", + avatarUrl = "https://avatars.dicebear.com/v2/male/my-somffething.svg", favoriteQuote = "make the easy things easy, and the hard things possible" ) persistPerson.persist(me)