From 7a495d636b617e598317307a5bbd35a6888411f3 Mon Sep 17 00:00:00 2001 From: egnaf Date: Tue, 3 Dec 2019 22:36:32 +0300 Subject: [PATCH 1/2] Fix package and add devtools configuration --- backend/pom.xml | 4 +++- .../service/UserService.java | 14 -------------- .../Application.java | 2 +- .../config/DozerConfig.java | 2 +- .../domain/User.java | 2 +- .../exception/UserExistsException.java | 2 +- .../exception/UserNotFoundException.java | 2 +- .../repository/UserRepository.java | 4 ++-- .../rest/UserController.java | 8 ++++---- .../rest/error/ErrorHandlerController.java | 6 +++--- .../rest/error/ErrorResponse.java | 6 +++--- .../service/UserService.java | 14 ++++++++++++++ .../service/impl/UserServiceImpl.java | 12 ++++++------ .../transfer/UserDto.java | 2 +- backend/src/main/resources/application.yml | 3 +++ .../ApplicationTest.java | 2 +- .../repository/UserRepositoryTest.java | 6 +++--- .../service/impl/UserServiceImplTest.java | 16 ++++++++-------- 18 files changed, 56 insertions(+), 51 deletions(-) delete mode 100644 backend/src/main/java/com/github/egnaf/spring_boot_docker_example/service/UserService.java rename backend/src/main/java/com/github/egnaf/{spring_boot_docker_example => spring_docker_example}/Application.java (84%) rename backend/src/main/java/com/github/egnaf/{spring_boot_docker_example => spring_docker_example}/config/DozerConfig.java (82%) rename backend/src/main/java/com/github/egnaf/{spring_boot_docker_example => spring_docker_example}/domain/User.java (88%) rename backend/src/main/java/com/github/egnaf/{spring_boot_docker_example => spring_docker_example}/exception/UserExistsException.java (77%) rename backend/src/main/java/com/github/egnaf/{spring_boot_docker_example => spring_docker_example}/exception/UserNotFoundException.java (78%) rename backend/src/main/java/com/github/egnaf/{spring_boot_docker_example => spring_docker_example}/repository/UserRepository.java (69%) rename backend/src/main/java/com/github/egnaf/{spring_boot_docker_example => spring_docker_example}/rest/UserController.java (83%) rename backend/src/main/java/com/github/egnaf/{spring_boot_docker_example => spring_docker_example}/rest/error/ErrorHandlerController.java (85%) rename backend/src/main/java/com/github/egnaf/{spring_boot_docker_example => spring_docker_example}/rest/error/ErrorResponse.java (50%) create mode 100644 backend/src/main/java/com/github/egnaf/spring_docker_example/service/UserService.java rename backend/src/main/java/com/github/egnaf/{spring_boot_docker_example => spring_docker_example}/service/impl/UserServiceImpl.java (77%) rename backend/src/main/java/com/github/egnaf/{spring_boot_docker_example => spring_docker_example}/transfer/UserDto.java (67%) rename backend/src/test/java/com/github/egnaf/{spring_boot_docker_example => spring_docker_example}/ApplicationTest.java (67%) rename backend/src/test/java/com/github/egnaf/{spring_boot_docker_example => spring_docker_example}/repository/UserRepositoryTest.java (88%) rename backend/src/test/java/com/github/egnaf/{spring_boot_docker_example => spring_docker_example}/service/impl/UserServiceImplTest.java (79%) diff --git a/backend/pom.xml b/backend/pom.xml index 921bb54..0bf9a79 100644 --- a/backend/pom.xml +++ b/backend/pom.xml @@ -1,15 +1,17 @@ 4.0.0 - com.github.egnaf.spring_boot_docker_example + com.github.egnaf.spring-docker-example backend 0.1 jar + Spring boot docker example An example of a simple Spring Boot application and other services running with docker-compose file configuration + 1 diff --git a/backend/src/main/java/com/github/egnaf/spring_boot_docker_example/service/UserService.java b/backend/src/main/java/com/github/egnaf/spring_boot_docker_example/service/UserService.java deleted file mode 100644 index 34fbe52..0000000 --- a/backend/src/main/java/com/github/egnaf/spring_boot_docker_example/service/UserService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.github.egnaf.spring_boot_docker_example.service; - -import com.github.egnaf.spring_boot_docker_example.domain.User; -import com.github.egnaf.spring_boot_docker_example.exception.UserExistsException; -import com.github.egnaf.spring_boot_docker_example.exception.UserNotFoundException; - -import java.util.List; - -public interface UserService { - - List getUsers(); - User getUser(long id) throws UserNotFoundException; - User addUser(String nickname, String email, String password) throws UserExistsException; -} diff --git a/backend/src/main/java/com/github/egnaf/spring_boot_docker_example/Application.java b/backend/src/main/java/com/github/egnaf/spring_docker_example/Application.java similarity index 84% rename from backend/src/main/java/com/github/egnaf/spring_boot_docker_example/Application.java rename to backend/src/main/java/com/github/egnaf/spring_docker_example/Application.java index 19fc701..edba5c3 100644 --- a/backend/src/main/java/com/github/egnaf/spring_boot_docker_example/Application.java +++ b/backend/src/main/java/com/github/egnaf/spring_docker_example/Application.java @@ -1,4 +1,4 @@ -package com.github.egnaf.spring_boot_docker_example; +package com.github.egnaf.spring_docker_example; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; diff --git a/backend/src/main/java/com/github/egnaf/spring_boot_docker_example/config/DozerConfig.java b/backend/src/main/java/com/github/egnaf/spring_docker_example/config/DozerConfig.java similarity index 82% rename from backend/src/main/java/com/github/egnaf/spring_boot_docker_example/config/DozerConfig.java rename to backend/src/main/java/com/github/egnaf/spring_docker_example/config/DozerConfig.java index f1f7696..b66a6a2 100644 --- a/backend/src/main/java/com/github/egnaf/spring_boot_docker_example/config/DozerConfig.java +++ b/backend/src/main/java/com/github/egnaf/spring_docker_example/config/DozerConfig.java @@ -1,4 +1,4 @@ -package com.github.egnaf.spring_boot_docker_example.config; +package com.github.egnaf.spring_docker_example.config; import org.dozer.DozerBeanMapper; import org.springframework.context.annotation.Bean; diff --git a/backend/src/main/java/com/github/egnaf/spring_boot_docker_example/domain/User.java b/backend/src/main/java/com/github/egnaf/spring_docker_example/domain/User.java similarity index 88% rename from backend/src/main/java/com/github/egnaf/spring_boot_docker_example/domain/User.java rename to backend/src/main/java/com/github/egnaf/spring_docker_example/domain/User.java index 3302da6..66435dd 100644 --- a/backend/src/main/java/com/github/egnaf/spring_boot_docker_example/domain/User.java +++ b/backend/src/main/java/com/github/egnaf/spring_docker_example/domain/User.java @@ -1,4 +1,4 @@ -package com.github.egnaf.spring_boot_docker_example.domain; +package com.github.egnaf.spring_docker_example.domain; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/backend/src/main/java/com/github/egnaf/spring_boot_docker_example/exception/UserExistsException.java b/backend/src/main/java/com/github/egnaf/spring_docker_example/exception/UserExistsException.java similarity index 77% rename from backend/src/main/java/com/github/egnaf/spring_boot_docker_example/exception/UserExistsException.java rename to backend/src/main/java/com/github/egnaf/spring_docker_example/exception/UserExistsException.java index c367c21..866efdb 100644 --- a/backend/src/main/java/com/github/egnaf/spring_boot_docker_example/exception/UserExistsException.java +++ b/backend/src/main/java/com/github/egnaf/spring_docker_example/exception/UserExistsException.java @@ -1,4 +1,4 @@ -package com.github.egnaf.spring_boot_docker_example.exception; +package com.github.egnaf.spring_docker_example.exception; public class UserExistsException extends RuntimeException { diff --git a/backend/src/main/java/com/github/egnaf/spring_boot_docker_example/exception/UserNotFoundException.java b/backend/src/main/java/com/github/egnaf/spring_docker_example/exception/UserNotFoundException.java similarity index 78% rename from backend/src/main/java/com/github/egnaf/spring_boot_docker_example/exception/UserNotFoundException.java rename to backend/src/main/java/com/github/egnaf/spring_docker_example/exception/UserNotFoundException.java index 9a3da44..47933db 100644 --- a/backend/src/main/java/com/github/egnaf/spring_boot_docker_example/exception/UserNotFoundException.java +++ b/backend/src/main/java/com/github/egnaf/spring_docker_example/exception/UserNotFoundException.java @@ -1,4 +1,4 @@ -package com.github.egnaf.spring_boot_docker_example.exception; +package com.github.egnaf.spring_docker_example.exception; public class UserNotFoundException extends RuntimeException { diff --git a/backend/src/main/java/com/github/egnaf/spring_boot_docker_example/repository/UserRepository.java b/backend/src/main/java/com/github/egnaf/spring_docker_example/repository/UserRepository.java similarity index 69% rename from backend/src/main/java/com/github/egnaf/spring_boot_docker_example/repository/UserRepository.java rename to backend/src/main/java/com/github/egnaf/spring_docker_example/repository/UserRepository.java index 1146939..5f2e696 100644 --- a/backend/src/main/java/com/github/egnaf/spring_boot_docker_example/repository/UserRepository.java +++ b/backend/src/main/java/com/github/egnaf/spring_docker_example/repository/UserRepository.java @@ -1,6 +1,6 @@ -package com.github.egnaf.spring_boot_docker_example.repository; +package com.github.egnaf.spring_docker_example.repository; -import com.github.egnaf.spring_boot_docker_example.domain.User; +import com.github.egnaf.spring_docker_example.domain.User; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; diff --git a/backend/src/main/java/com/github/egnaf/spring_boot_docker_example/rest/UserController.java b/backend/src/main/java/com/github/egnaf/spring_docker_example/rest/UserController.java similarity index 83% rename from backend/src/main/java/com/github/egnaf/spring_boot_docker_example/rest/UserController.java rename to backend/src/main/java/com/github/egnaf/spring_docker_example/rest/UserController.java index a7ce8eb..4dd5add 100644 --- a/backend/src/main/java/com/github/egnaf/spring_boot_docker_example/rest/UserController.java +++ b/backend/src/main/java/com/github/egnaf/spring_docker_example/rest/UserController.java @@ -1,8 +1,8 @@ -package com.github.egnaf.spring_boot_docker_example.rest; +package com.github.egnaf.spring_docker_example.rest; -import com.github.egnaf.spring_boot_docker_example.domain.User; -import com.github.egnaf.spring_boot_docker_example.service.UserService; -import com.github.egnaf.spring_boot_docker_example.transfer.UserDto; +import com.github.egnaf.spring_docker_example.domain.User; +import com.github.egnaf.spring_docker_example.service.UserService; +import com.github.egnaf.spring_docker_example.transfer.UserDto; import lombok.extern.slf4j.Slf4j; import org.dozer.Mapper; import org.springframework.beans.factory.annotation.Autowired; diff --git a/backend/src/main/java/com/github/egnaf/spring_boot_docker_example/rest/error/ErrorHandlerController.java b/backend/src/main/java/com/github/egnaf/spring_docker_example/rest/error/ErrorHandlerController.java similarity index 85% rename from backend/src/main/java/com/github/egnaf/spring_boot_docker_example/rest/error/ErrorHandlerController.java rename to backend/src/main/java/com/github/egnaf/spring_docker_example/rest/error/ErrorHandlerController.java index 2668dc7..dd626ab 100644 --- a/backend/src/main/java/com/github/egnaf/spring_boot_docker_example/rest/error/ErrorHandlerController.java +++ b/backend/src/main/java/com/github/egnaf/spring_docker_example/rest/error/ErrorHandlerController.java @@ -1,7 +1,7 @@ -package com.github.egnaf.spring_boot_docker_example.rest.error; +package com.github.egnaf.spring_docker_example.rest.error; -import com.github.egnaf.spring_boot_docker_example.exception.UserExistsException; -import com.github.egnaf.spring_boot_docker_example.exception.UserNotFoundException; +import com.github.egnaf.spring_docker_example.exception.UserExistsException; +import com.github.egnaf.spring_docker_example.exception.UserNotFoundException; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.ControllerAdvice; diff --git a/backend/src/main/java/com/github/egnaf/spring_boot_docker_example/rest/error/ErrorResponse.java b/backend/src/main/java/com/github/egnaf/spring_docker_example/rest/error/ErrorResponse.java similarity index 50% rename from backend/src/main/java/com/github/egnaf/spring_boot_docker_example/rest/error/ErrorResponse.java rename to backend/src/main/java/com/github/egnaf/spring_docker_example/rest/error/ErrorResponse.java index 990723c..1f94974 100644 --- a/backend/src/main/java/com/github/egnaf/spring_boot_docker_example/rest/error/ErrorResponse.java +++ b/backend/src/main/java/com/github/egnaf/spring_docker_example/rest/error/ErrorResponse.java @@ -1,13 +1,13 @@ -package com.github.egnaf.spring_boot_docker_example.rest.error; +package com.github.egnaf.spring_docker_example.rest.error; import lombok.Data; @Data -public class ErrorResponse { +class ErrorResponse { private int status; private String message; - public ErrorResponse(int status, String message) { + ErrorResponse(int status, String message) { this.status = status; this.message = message; } diff --git a/backend/src/main/java/com/github/egnaf/spring_docker_example/service/UserService.java b/backend/src/main/java/com/github/egnaf/spring_docker_example/service/UserService.java new file mode 100644 index 0000000..4f33601 --- /dev/null +++ b/backend/src/main/java/com/github/egnaf/spring_docker_example/service/UserService.java @@ -0,0 +1,14 @@ +package com.github.egnaf.spring_docker_example.service; + +import com.github.egnaf.spring_docker_example.domain.User; +import com.github.egnaf.spring_docker_example.exception.UserExistsException; +import com.github.egnaf.spring_docker_example.exception.UserNotFoundException; + +import java.util.List; + +public interface UserService { + + List getUsers(); + User getUser(long id) throws UserNotFoundException; + User addUser(String nickname, String email, String password) throws UserExistsException; +} diff --git a/backend/src/main/java/com/github/egnaf/spring_boot_docker_example/service/impl/UserServiceImpl.java b/backend/src/main/java/com/github/egnaf/spring_docker_example/service/impl/UserServiceImpl.java similarity index 77% rename from backend/src/main/java/com/github/egnaf/spring_boot_docker_example/service/impl/UserServiceImpl.java rename to backend/src/main/java/com/github/egnaf/spring_docker_example/service/impl/UserServiceImpl.java index d13a5e6..97853cf 100644 --- a/backend/src/main/java/com/github/egnaf/spring_boot_docker_example/service/impl/UserServiceImpl.java +++ b/backend/src/main/java/com/github/egnaf/spring_docker_example/service/impl/UserServiceImpl.java @@ -1,10 +1,10 @@ -package com.github.egnaf.spring_boot_docker_example.service.impl; +package com.github.egnaf.spring_docker_example.service.impl; -import com.github.egnaf.spring_boot_docker_example.domain.User; -import com.github.egnaf.spring_boot_docker_example.exception.UserExistsException; -import com.github.egnaf.spring_boot_docker_example.exception.UserNotFoundException; -import com.github.egnaf.spring_boot_docker_example.repository.UserRepository; -import com.github.egnaf.spring_boot_docker_example.service.UserService; +import com.github.egnaf.spring_docker_example.domain.User; +import com.github.egnaf.spring_docker_example.exception.UserExistsException; +import com.github.egnaf.spring_docker_example.exception.UserNotFoundException; +import com.github.egnaf.spring_docker_example.repository.UserRepository; +import com.github.egnaf.spring_docker_example.service.UserService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/backend/src/main/java/com/github/egnaf/spring_boot_docker_example/transfer/UserDto.java b/backend/src/main/java/com/github/egnaf/spring_docker_example/transfer/UserDto.java similarity index 67% rename from backend/src/main/java/com/github/egnaf/spring_boot_docker_example/transfer/UserDto.java rename to backend/src/main/java/com/github/egnaf/spring_docker_example/transfer/UserDto.java index 210ca7b..8e3d62a 100644 --- a/backend/src/main/java/com/github/egnaf/spring_boot_docker_example/transfer/UserDto.java +++ b/backend/src/main/java/com/github/egnaf/spring_docker_example/transfer/UserDto.java @@ -1,4 +1,4 @@ -package com.github.egnaf.spring_boot_docker_example.transfer; +package com.github.egnaf.spring_docker_example.transfer; import lombok.Data; diff --git a/backend/src/main/resources/application.yml b/backend/src/main/resources/application.yml index 09e8378..47bd007 100644 --- a/backend/src/main/resources/application.yml +++ b/backend/src/main/resources/application.yml @@ -21,6 +21,9 @@ spring: database-platform: org.hibernate.dialect.PostgreSQLDialect open-in-view: false generate-ddl: false + devtools: + restart: + enabled: true logging: pattern: diff --git a/backend/src/test/java/com/github/egnaf/spring_boot_docker_example/ApplicationTest.java b/backend/src/test/java/com/github/egnaf/spring_docker_example/ApplicationTest.java similarity index 67% rename from backend/src/test/java/com/github/egnaf/spring_boot_docker_example/ApplicationTest.java rename to backend/src/test/java/com/github/egnaf/spring_docker_example/ApplicationTest.java index dc69a33..697b4cf 100644 --- a/backend/src/test/java/com/github/egnaf/spring_boot_docker_example/ApplicationTest.java +++ b/backend/src/test/java/com/github/egnaf/spring_docker_example/ApplicationTest.java @@ -1,4 +1,4 @@ -package com.github.egnaf.spring_boot_docker_example; +package com.github.egnaf.spring_docker_example; import org.springframework.boot.test.context.SpringBootTest; diff --git a/backend/src/test/java/com/github/egnaf/spring_boot_docker_example/repository/UserRepositoryTest.java b/backend/src/test/java/com/github/egnaf/spring_docker_example/repository/UserRepositoryTest.java similarity index 88% rename from backend/src/test/java/com/github/egnaf/spring_boot_docker_example/repository/UserRepositoryTest.java rename to backend/src/test/java/com/github/egnaf/spring_docker_example/repository/UserRepositoryTest.java index 75fde76..f291549 100644 --- a/backend/src/test/java/com/github/egnaf/spring_boot_docker_example/repository/UserRepositoryTest.java +++ b/backend/src/test/java/com/github/egnaf/spring_docker_example/repository/UserRepositoryTest.java @@ -1,7 +1,7 @@ -package com.github.egnaf.spring_boot_docker_example.repository; +package com.github.egnaf.spring_docker_example.repository; -import com.github.egnaf.spring_boot_docker_example.ApplicationTest; -import com.github.egnaf.spring_boot_docker_example.domain.User; +import com.github.egnaf.spring_docker_example.ApplicationTest; +import com.github.egnaf.spring_docker_example.domain.User; import lombok.extern.slf4j.Slf4j; import org.junit.Before; import org.junit.Test; diff --git a/backend/src/test/java/com/github/egnaf/spring_boot_docker_example/service/impl/UserServiceImplTest.java b/backend/src/test/java/com/github/egnaf/spring_docker_example/service/impl/UserServiceImplTest.java similarity index 79% rename from backend/src/test/java/com/github/egnaf/spring_boot_docker_example/service/impl/UserServiceImplTest.java rename to backend/src/test/java/com/github/egnaf/spring_docker_example/service/impl/UserServiceImplTest.java index 9029e64..5cac998 100644 --- a/backend/src/test/java/com/github/egnaf/spring_boot_docker_example/service/impl/UserServiceImplTest.java +++ b/backend/src/test/java/com/github/egnaf/spring_docker_example/service/impl/UserServiceImplTest.java @@ -1,11 +1,11 @@ -package com.github.egnaf.spring_boot_docker_example.service.impl; - -import com.github.egnaf.spring_boot_docker_example.ApplicationTest; -import com.github.egnaf.spring_boot_docker_example.domain.User; -import com.github.egnaf.spring_boot_docker_example.exception.UserExistsException; -import com.github.egnaf.spring_boot_docker_example.exception.UserNotFoundException; -import com.github.egnaf.spring_boot_docker_example.repository.UserRepository; -import com.github.egnaf.spring_boot_docker_example.service.UserService; +package com.github.egnaf.spring_docker_example.service.impl; + +import com.github.egnaf.spring_docker_example.ApplicationTest; +import com.github.egnaf.spring_docker_example.domain.User; +import com.github.egnaf.spring_docker_example.exception.UserExistsException; +import com.github.egnaf.spring_docker_example.exception.UserNotFoundException; +import com.github.egnaf.spring_docker_example.repository.UserRepository; +import com.github.egnaf.spring_docker_example.service.UserService; import lombok.extern.slf4j.Slf4j; import org.junit.Before; import org.junit.Test; From daf190d9d90fccaa4dbfcb12b801f91405911409 Mon Sep 17 00:00:00 2001 From: egnaf Date: Wed, 4 Dec 2019 20:38:08 +0300 Subject: [PATCH 2/2] Fix docker ports for deploy --- .nginx/default.conf | 8 ++++---- docker-compose.yml | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.nginx/default.conf b/.nginx/default.conf index 3be3db8..9922842 100644 --- a/.nginx/default.conf +++ b/.nginx/default.conf @@ -2,11 +2,11 @@ server { listen 80; server_name nginx; - location / { - proxy_pass http://frontend:3000; + location /api/0.1 { + proxy_pass http://backend:5001; } - location /api/0.1 { - proxy_pass http://backend:8080; + location / { + proxy_pass http://frontend:5002; } } diff --git a/docker-compose.yml b/docker-compose.yml index 03b11e0..4db5501 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,7 +4,7 @@ services: container_name: postgres image: postgres:latest ports: - - "5432:5432" + - "5432:5000" environment: - POSTGRES_DB=demo - POSTGRES_USER=root @@ -13,14 +13,14 @@ services: container_name: backend build: ./backend ports: - - "8080:8080" + - "8080:5001" depends_on: - postgres frontend: container_name: frontend build: ./frontend ports: - - "3000:3000" + - "3000:5002" depends_on: - backend nginx: