-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
43 changed files
with
1,054 additions
and
20 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
files: | ||
"/sbin/appstart" : | ||
mode: "000755" | ||
owner: webapp | ||
group: webapp | ||
content: | | ||
#!/usr/bin/env bash | ||
JAR_PATH=/var/app/current/application.jar | ||
|
||
# run app | ||
killall java | ||
java -Dfile.encoding=UTF-8 -jar $JAR_PATH |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
commands: | ||
set_time_zone: | ||
command: ln -f -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
name: Onnoff Dev CI/CD | ||
|
||
on: | ||
pull_request: | ||
types: [closed] | ||
workflow_dispatch: # (2).수동 실행도 가능하도록 | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest # (3).OS환경 | ||
if: github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'dev' | ||
|
||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 # (4).코드 check out | ||
|
||
- name: Set up JDK 17 | ||
uses: actions/setup-java@v3 | ||
with: | ||
java-version: 17 # (5).자바 설치 | ||
distribution: 'adopt' | ||
|
||
- name: Grant execute permission for gradlew | ||
run: chmod +x ./gradlew | ||
shell: bash # (6).권한 부여 | ||
|
||
- name: Build with Gradle | ||
run: ./gradlew clean build -x test | ||
shell: bash # (7).build 시작 | ||
|
||
- name: Get current time | ||
uses: 1466587594/get-current-time@v2 | ||
id: current-time | ||
with: | ||
format: YYYY-MM-DDTHH-mm-ss | ||
utcOffset: "+09:00" # (8).build 시점의 시간확보 | ||
|
||
- name: Show Current Time | ||
run: echo "CurrentTime=$" | ||
shell: bash # (9).확보한 시간 보여주기 | ||
|
||
- name: Generate deployment package | ||
run: | | ||
mkdir -p deploy | ||
cp build/libs/*.jar deploy/application.jar | ||
cp Procfile deploy/Procfile | ||
cp -r .ebextensions_dev deploy/.ebextensions | ||
cp -r .platform deploy/.platform | ||
cd deploy && zip -r deploy.zip . | ||
- name: Beanstalk Deploy | ||
uses: einaregilsson/beanstalk-deploy@v20 | ||
with: | ||
aws_access_key: ${{ secrets.AWS_ACTION_ACCESS_KEY_ID }} | ||
aws_secret_key: ${{ secrets.AWS_ACTION_SECRET_ACCESS_KEY }} | ||
application_name: onnoff-dev # 원하는 어플 이름 | ||
environment_name: Onnoff-dev-env # 원하는 환경 이름 | ||
version_label: github-action-${{ steps.current-time.outputs.formattedTime }} | ||
region: ap-northeast-2 | ||
deployment_package: deploy/deploy.zip | ||
wait_for_deployment: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
user nginx; | ||
error_log /var/log/nginx/error.log warn; | ||
pid /var/run/nginx.pid; | ||
worker_processes auto; | ||
worker_rlimit_nofile 33282; | ||
|
||
events { | ||
use epoll; | ||
worker_connections 1024; | ||
multi_accept on; | ||
} | ||
|
||
http { | ||
include /etc/nginx/mime.types; | ||
default_type application/octet-stream; | ||
|
||
|
||
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' | ||
'$status $body_bytes_sent "$http_referer" ' | ||
'"$http_user_agent" "$http_x_forwarded_for"'; | ||
|
||
include conf.d/*.conf; | ||
|
||
map $http_upgrade $connection_upgrade { | ||
default "upgrade"; | ||
} | ||
|
||
upstream springboot { | ||
server 127.0.0.1:8080; | ||
keepalive 1024; | ||
} | ||
|
||
server { | ||
listen 80 default_server; | ||
listen [::]:80 default_server; | ||
|
||
location / { | ||
proxy_pass http://springboot; | ||
# CORS 관련 헤더 추가 | ||
add_header 'Access-Control-Allow-Origin' '*'; | ||
add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS'; | ||
add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type'; | ||
proxy_http_version 1.1; | ||
proxy_set_header Connection $connection_upgrade; | ||
proxy_set_header Upgrade $http_upgrade; | ||
|
||
proxy_set_header Host $host; | ||
proxy_set_header X-Real-IP $remote_addr; | ||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||
} | ||
|
||
access_log /var/log/nginx/access.log main; | ||
|
||
client_header_timeout 60; | ||
client_body_timeout 60; | ||
keepalive_timeout 60; | ||
gzip off; | ||
gzip_comp_level 4; | ||
|
||
# Include the Elastic Beanstalk generated locations | ||
include conf.d/elasticbeanstalk/healthd.conf; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
web: appstart |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -46,3 +46,7 @@ tasks.named('bootBuildImage') { | |
tasks.named('test') { | ||
useJUnitPlatform() | ||
} | ||
|
||
jar { | ||
enabled = false | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
10 changes: 10 additions & 0 deletions
10
src/main/java/com/onnoff/onnoff/apiPayload/exception/handler/WorklogHandler.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
package com.onnoff.onnoff.apiPayload.exception.handler; | ||
|
||
import com.onnoff.onnoff.apiPayload.code.BaseErrorCode; | ||
import com.onnoff.onnoff.apiPayload.exception.GeneralException; | ||
|
||
public class WorklogHandler extends GeneralException { | ||
public WorklogHandler(BaseErrorCode errorCode){ | ||
super(errorCode); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
12 changes: 12 additions & 0 deletions
12
src/main/java/com/onnoff/onnoff/domain/common/controller/RootController.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
package com.onnoff.onnoff.domain.common.controller; | ||
|
||
import org.springframework.web.bind.annotation.GetMapping; | ||
import org.springframework.web.bind.annotation.RestController; | ||
|
||
@RestController | ||
public class RootController { | ||
@GetMapping("/health") | ||
public String healthCheck(){ | ||
return "I'm healthy!"; | ||
} | ||
} |
50 changes: 50 additions & 0 deletions
50
src/main/java/com/onnoff/onnoff/domain/off/feed/controller/FeedController.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
package com.onnoff.onnoff.domain.off.feed.controller; | ||
|
||
import com.onnoff.onnoff.apiPayload.ApiResponse; | ||
import com.onnoff.onnoff.domain.off.feed.converter.FeedConverter; | ||
import com.onnoff.onnoff.domain.off.feed.dto.FeedRequestDTO; | ||
import com.onnoff.onnoff.domain.off.feed.dto.FeedResponseDTO; | ||
import com.onnoff.onnoff.domain.off.feed.entity.Feed; | ||
import com.onnoff.onnoff.domain.off.feed.service.FeedService; | ||
import io.swagger.v3.oas.annotations.Operation; | ||
import jakarta.validation.Valid; | ||
import lombok.RequiredArgsConstructor; | ||
import org.springframework.web.bind.annotation.*; | ||
|
||
import java.time.LocalDate; | ||
import java.util.List; | ||
|
||
@RestController | ||
@RequiredArgsConstructor | ||
public class FeedController { | ||
|
||
private final FeedService feedService; | ||
|
||
@PostMapping("/feeds") | ||
@Operation(summary = "워라벨 피드 추가 API", description = "새로운 워라벨 피드를 추가하는 API입니다.") | ||
public ApiResponse<FeedResponseDTO.FeedResultDTO> addFeed(@RequestBody @Valid FeedRequestDTO.AddFeedDTO request) { | ||
Feed feed = feedService.addFeed(request); | ||
return ApiResponse.onSuccess(FeedConverter.toFeedResultDTO(feed)); | ||
} | ||
|
||
@GetMapping("/feeds") | ||
@Operation(summary = "워라벨 피드 조회 API",description = "특정한 날짜의 워라벨 피드를 조회하는 API입니다. Query String으로 사용자 아이디와 날짜를 입력해 주세요.") | ||
public ApiResponse<List<FeedResponseDTO.FeedResultDTO>> getFeed(@RequestParam(name = "userId") Long userId, @RequestParam(name = "date") LocalDate date){ | ||
List<Feed> feedList = feedService.getFeed(userId, date); | ||
return ApiResponse.onSuccess(feedList.stream().map(FeedConverter::toFeedResultDTO).toList()); | ||
} | ||
|
||
@PatchMapping("/feeds") | ||
@Operation(summary = "워라벨 피드 수정 API", description = "기존의 워라벨 피드를 수정하는 API입니다.") | ||
public ApiResponse<FeedResponseDTO.FeedResultDTO> modifyFeed(@RequestBody @Valid FeedRequestDTO.ModifyFeedDTO request) { | ||
Feed feed = feedService.modifyFeed(request); | ||
return ApiResponse.onSuccess(FeedConverter.toFeedResultDTO(feed)); | ||
} | ||
|
||
@DeleteMapping("/feeds/{feedId}") | ||
@Operation(summary = "워라벨 피드 삭제 API",description = "기존의 워라벨 피드를 삭제하는 API입니다.") | ||
public ApiResponse<?> deleteFeed(@PathVariable(name = "feedId") Long feedId){ | ||
feedService.deleteFeed(feedId); | ||
return ApiResponse.onSuccess(null); | ||
} | ||
} |
27 changes: 27 additions & 0 deletions
27
src/main/java/com/onnoff/onnoff/domain/off/feed/converter/FeedConverter.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
package com.onnoff.onnoff.domain.off.feed.converter; | ||
|
||
import com.onnoff.onnoff.domain.off.feed.dto.FeedRequestDTO; | ||
import com.onnoff.onnoff.domain.off.feed.dto.FeedResponseDTO; | ||
import com.onnoff.onnoff.domain.off.feed.entity.Feed; | ||
import com.onnoff.onnoff.domain.user.User; | ||
|
||
public class FeedConverter { | ||
|
||
public static Feed toFeed(FeedRequestDTO.AddFeedDTO request, User user) { | ||
return Feed.builder() | ||
.date(request.getDate()) | ||
.content(request.getContent()) | ||
.isChecked(false) | ||
.user(user) | ||
.build(); | ||
} | ||
|
||
public static FeedResponseDTO.FeedResultDTO toFeedResultDTO(Feed feed) { | ||
return FeedResponseDTO.FeedResultDTO.builder() | ||
.feedId(feed.getId()) | ||
.date(feed.getDate()) | ||
.content(feed.getContent()) | ||
.isChecked(feed.getIsChecked()) | ||
.build(); | ||
} | ||
} |
34 changes: 34 additions & 0 deletions
34
src/main/java/com/onnoff/onnoff/domain/off/feed/dto/FeedRequestDTO.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
package com.onnoff.onnoff.domain.off.feed.dto; | ||
|
||
import jakarta.validation.constraints.NotBlank; | ||
import jakarta.validation.constraints.NotNull; | ||
import jakarta.validation.constraints.PastOrPresent; | ||
import jakarta.validation.constraints.Size; | ||
import lombok.Getter; | ||
|
||
import java.time.LocalDate; | ||
|
||
public class FeedRequestDTO { | ||
|
||
@Getter | ||
public static class AddFeedDTO { | ||
@NotNull | ||
Long userId; | ||
@NotNull | ||
@PastOrPresent | ||
LocalDate date; | ||
@NotBlank | ||
@Size(max = 30) | ||
String content; | ||
} | ||
|
||
@Getter | ||
public static class ModifyFeedDTO { | ||
@NotNull | ||
Long feedId; | ||
LocalDate date; | ||
@Size(max = 30) | ||
String content; | ||
Boolean isChecked; | ||
} | ||
} |
22 changes: 22 additions & 0 deletions
22
src/main/java/com/onnoff/onnoff/domain/off/feed/dto/FeedResponseDTO.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
package com.onnoff.onnoff.domain.off.feed.dto; | ||
|
||
import lombok.AllArgsConstructor; | ||
import lombok.Builder; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
|
||
import java.time.LocalDate; | ||
|
||
public class FeedResponseDTO { | ||
|
||
@Builder | ||
@Getter | ||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
public static class FeedResultDTO { | ||
Long feedId; | ||
LocalDate date; | ||
String content; | ||
Boolean isChecked; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
13 changes: 13 additions & 0 deletions
13
src/main/java/com/onnoff/onnoff/domain/off/feed/repository/FeedRepository.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
package com.onnoff.onnoff.domain.off.feed.repository; | ||
|
||
import com.onnoff.onnoff.domain.off.feed.entity.Feed; | ||
import com.onnoff.onnoff.domain.user.User; | ||
import org.springframework.data.jpa.repository.JpaRepository; | ||
|
||
import java.time.LocalDate; | ||
import java.util.List; | ||
|
||
public interface FeedRepository extends JpaRepository<Feed, Long> { | ||
|
||
List<Feed> findAllByUserAndDateOrderByCreatedAtAsc(User user, LocalDate date); | ||
} |
Oops, something went wrong.