Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
c9b1ed5
chore: jira 연동 설정 파일 추가
DawnIsProblem Jan 14, 2025
bc6bc15
chore: jira 연동 설정 파일 추가
DawnIsProblem Jan 14, 2025
1a86248
init: project setting (#3)
jinhosoon Jan 14, 2025
78e044a
chore: jira 연동 설정에 기존 이슈 템플릿 반영
DawnIsProblem Jan 14, 2025
3deb7bf
chore: jira 연동 설정에 기존 이슈 템플릿 반영
DawnIsProblem Jan 14, 2025
7405b52
DawnIsProblem Jan 14, 2025
bfb5be9
chore: 잇슈 생성 오류 수정 및 디버깅 로그 추가
DawnIsProblem Jan 14, 2025
f1379a4
chore: 디버깅 로그 추가
DawnIsProblem Jan 14, 2025
69fcc8e
chore: Fix YAML syntax issues
DawnIsProblem Jan 14, 2025
63a880a
chore: Fix YAML syntax issues
DawnIsProblem Jan 14, 2025
8bbec67
chore: Fix YAML syntax issues
DawnIsProblem Jan 14, 2025
9660d00
chore: Fix YAML syntax issues
DawnIsProblem Jan 14, 2025
c25f38d
chore: Fix YAML syntax issues
DawnIsProblem Jan 14, 2025
0ad0e37
chore: Fix YAML syntax issues
DawnIsProblem Jan 14, 2025
3988abb
chore: Fix YAML syntax issues
DawnIsProblem Jan 14, 2025
31b9212
chore: Fix YAML syntax issues
DawnIsProblem Jan 14, 2025
142ccae
chore: Fix YAML syntax issues
DawnIsProblem Jan 14, 2025
3481558
init : DB
jinhosoon Jan 15, 2025
04cc811
fix: update 'com.mysql.cj.jdbc.Driver' , db
jinhosoon Jan 15, 2025
56d9d17
fix: update username 'yummy'
jinhosoon Jan 15, 2025
ea4a372
chore: 이슈 및 PR 템플릿 작성
fbehddn Jan 15, 2025
1f5c0fd
Rename -bug-fix-template.md to bug-fix-template.md
fbehddn Jan 15, 2025
348366e
chore: Set Java toolchain to Java 17 for all modules
Jan 15, 2025
c209dda
fix: specify mainClass for Spring Boot application
Jan 15, 2025
8512797
feat: Swãswagger-config
sukangpunch Jan 15, 2025
9ca2a05
fix: Remove .idea from tracking and update .gitignore
Jan 15, 2025
68415e9
feat: storage entity
sukangpunch Jan 15, 2025
605333f
chore: 기본 CI 구축
fbehddn Jan 15, 2025
47b5e0c
build: Spring Boot 설정 파일 및 프로젝트 구조 수정
fbehddn Jan 15, 2025
ce8eeb9
Feat/setup cd pipeline (#22)
fbehddn Jan 16, 2025
c440fb2
feat: feature-oauth2-user - #17 (#21)
sukangpunch Jan 16, 2025
0c2bf75
fix: feat: Spring Boot 프로젝트 Gradle 설정 수정 및 빌드 오류 해결
fbehddn Jan 16, 2025
d90b2dc
fix: ec2 서버는 profile dev 로 설정
fbehddn Jan 16, 2025
0516aff
fix: ecr을 통한 배포 (#25)
fbehddn Jan 17, 2025
e66a178
fix: 환경변수 오타 수정
fbehddn Jan 17, 2025
3641866
fix: 모듈별 경로 설정
fbehddn Jan 17, 2025
7ea28d4
feat: OAuth2 기능 완성, User 도메인 추가 (#26)
sukangpunch Jan 17, 2025
e8b48c9
hotfix: yml 파일 수정
sukangpunch Jan 17, 2025
68d2b98
fix: properties, cat 으로 명령어 확인
fbehddn Jan 17, 2025
690f8de
Merge remote-tracking branch 'origin/dev' into dev
fbehddn Jan 17, 2025
1eaca67
fix: common 모듈 bootJar 비활성화 및 JAR 활성화
fbehddn Jan 17, 2025
a282645
fix: 도커 이미지 태그 코드 수정
fbehddn Jan 17, 2025
d7b5efa
fix: properties 설정파일 및 -local.yml 삭제
fbehddn Jan 17, 2025
0e1fb74
chore: module(application) h2 db 의존성 추가
fbehddn Jan 17, 2025
7c9365e
chore: cd 파일 수정
fbehddn Jan 17, 2025
3871d46
chore: 전체 디렉토리의 env 파일 git에서 추적 안하게 수정
fbehddn Jan 17, 2025
1c847e4
chore: 프로필 설정 한 파일로 통합
fbehddn Jan 17, 2025
7e9155c
chore: prod 프로필 포트넘버 명시
fbehddn Jan 17, 2025
35ab4b7
chore: swagger cors ip 설정 테스트
fbehddn Jan 17, 2025
9d9b343
fix: 808 8081 포트 적용
sukangpunch Jan 19, 2025
edd0fb4
test: OAuth2 , User 관련 테스트 코드를 작성 (#28)
sukangpunch Jan 20, 2025
41585a8
Hyungjun#27 test oauth user (#29)
sukangpunch Jan 20, 2025
47450f3
fix: 테스트 코드 수정 (#30)
sukangpunch Jan 20, 2025
8241e9a
chore: 배포 환경 db url 수정
fbehddn Jan 20, 2025
aee51c8
Feat/group feature (#31)
DawnIsProblem Jan 20, 2025
5d2267c
chore: 프로덕션 환경 설정파일 모두 환경변수화
fbehddn Jan 20, 2025
67a0e2f
Merge remote-tracking branch 'origin/dev' into dev
fbehddn Jan 20, 2025
39010d6
chore: Hibernate Dialect를 명시적으로 설정
fbehddn Jan 20, 2025
68899d6
refactor: 배포 서버 정보 추가
sukangpunch Jan 20, 2025
3c8fee1
Merge branch 'dev' of https://github.com/Re-quire/famous_restaurant i…
sukangpunch Jan 20, 2025
ac51262
Feat/reply (#32)
leeminjung1 Jan 21, 2025
3116d2a
fix: 설정파일 프로필 추가
fbehddn Jan 21, 2025
8569bb7
chore: 각 엔티티 생성 및 수정 시간 기준 아시아 설정
fbehddn Jan 21, 2025
fc8c3c5
feat: 예외처리 클래스 및 에러 코드 추가 (#34)
sukangpunch Jan 22, 2025
a771656
hotfix: jwt 만료 기간 12ì‹간2¼로 늘리기
sukangpunch Jan 22, 2025
86b5232
hotfix: jwt 만료시간 수정
sukangpunch Jan 22, 2025
93041cb
Feat/add jacoco multimodule (#39)
fbehddn Jan 22, 2025
62fcc95
chore: jira 관련 파일 제거
fbehddn Jan 22, 2025
851f5f1
chore: PR 템플릿 수정
fbehddn Jan 22, 2025
1f42117
test: UserService 및 누락된 테스트 코드 추가, Reply, Group ErrorCode 구현 (#38)
sukangpunch Jan 22, 2025
b7bb1da
chore: build.grade(:storage) common 의존성 수정
fbehddn Jan 22, 2025
ec9a44e
fix: 멀티모듈 ë의존성 에러 해결
sukangpunch Jan 22, 2025
5a32df7
Jeonghoon#35 feat user to group (#40)
DawnIsProblem Jan 22, 2025
10aeec2
Merge branch 'dev' of https://github.com/Re-quire/famous_restaurant i…
sukangpunch Jan 22, 2025
c05290e
feat: testUser 기능 추가- #41 (#42)
sukangpunch Jan 22, 2025
773467f
Fix/group feature (#43)
DawnIsProblem Jan 23, 2025
78ea55f
fix: 실행 테스트 하며 수정 (#44)
sukangpunch Jan 23, 2025
051f072
feat: ã…test api 요청 뚫어놓기
sukangpunch Jan 23, 2025
26fd65a
fix: groupControllerTest 에러 해결
sukangpunch Jan 23, 2025
06313ff
fix: groupService Test 에러 해결
sukangpunch Jan 23, 2025
96e39c9
fix: 배í배포 서버에서 테스트 로그인 셋팅
sukangpunch Jan 23, 2025
a9adfa9
test:
sukangpunch Jan 23, 2025
37526a7
chore: ignore 파일 수정
fbehddn Jan 23, 2025
3fee078
Update README.md
fbehddn Jan 24, 2025
7b7158b
solve merger conflict
fbehddn Jan 24, 2025
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
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-fix-template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
name: "\bBug Fix Template"
about: 버그 이슈 템플릿
title: "[BUG] "
labels: bug
assignees: ''

---

## 🐞 어떤 상황에서 발생한 버그인가요?
> 어떤 상황에서 발생한 버그인지 설명해주세요

## 🎁 수정한 내용
> 어떤 작업으로 버그를 잡았는지 설명해주세요


## 🔍 참고할만한 자료(선택)
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature Template
about: 기능 추가 이슈 템플릿
title: "[FEAT] "
labels: feature
assignees: ''

---

## 📌 어떤 기능인가요?
> 추가하려는 기능에 대해 간결하게 설명해주세요


## 📜 작업 상세 내용
- [ ] TODO
- [ ] TODO
- [ ] TODO


## 🔍 참고할만한 자료(선택)
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/refactor-issue-template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: Refactor issue template
about: 리팩터링 이슈 템플릿
title: "[REFACTOR] "
labels: refactor
assignees: ''

---

## 📌 어떤 기능을 리팩터링 하나요?
> 리팩터링 할 기능에 대해 간결하게 설명해주세요

## AS-IS
> 현재 인식한 상황에 대해 설명해주세요

## TO-BE
> 현재의 상황에서 개선시킬 이상적인 지향점을 설명해주세요

## 🔍 참고할만한 자료(선택)
2 changes: 0 additions & 2 deletions .github/ISSUE_TEMPLATE/yummy-issue-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,9 @@ assignees: ''
---

## 📋 이슈 내용

> 추가하려는 기능에 대해 간결하게 설명해주세요

## ✅ 체크리스트

- [ ] TODO
- [ ] TODO
- [ ] TODO
Expand Down
11 changes: 8 additions & 3 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
## 📋 이슈 번호
## ⚡️ 관련 이슈
- close #이슈번호

## 🛠 구현 사항
## 📍주요 변경 사항
> 주요 변경 사항에 대해 작성해주세요.


## 🎸기타
> 고려해야 하는 내용을 작성해 주세요.

## 📚 기타
64 changes: 64 additions & 0 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: Build and Deploy to EC2

on:
push:
branches:
- main
- dev

jobs:
build-and-push-docker:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'

- name: Cache Gradle packages
uses: gradle/actions/setup-gradle@v4

- name: Build with Gradle
run: ./gradlew clean build

# - name: application.properties 파일 생성
# run: echo "${{ secrets.APPLICATION_PROPERTIES }}" > ./application/src/main/resources/application.properties
# cat ./application/src/main/resources/application.properties

- name: AWS Resource에 접근할 수 있게 AWS credentials 설정
uses: aws-actions/configure-aws-credentials@v4
with:
aws-region: ap-northeast-2
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID}}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY}}

- name: ECR login
id: login-ecr
uses: aws-actions/amazon-ecr-login@v2

- name: Docker 이미지 생성
run: docker build -t my-yummy .

- name: Docker 이미지에 태그 붙이기
run: docker tag my-yummy ${{ secrets.ECR_REGISTRY }}/my-yummy:latest

- name: ECR에 Docker 이미지 Push
run: docker push ${{ secrets.ECR_REGISTRY }}/my-yummy:latest

- name: SSH로 EC2에 접속하기
uses: appleboy/[email protected]
with:
host: ${{ secrets.EC2_HOST}}
username: ${{ secrets.EC2_USERNAME}}
key: ${{ secrets.EC2_PRIVATE_KEY}}
script_stop: true
script: |
cd ~/my-yummy
docker compose down || true
docker pull ${{ secrets.ECR_REGISTRY }}/my-yummy:latest
docker compose up -d --build
22 changes: 22 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: BE CI

on:
pull_request:
branches:
- main
- dev
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Github Repository 파일 불러오기
uses: actions/checkout@v4

- name: JDK 17 설정
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17

- name: 테스트 코드 실행
run: ./gradlew test
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ bin/
!**/src/test/**/bin/

### IntelliJ IDEA ###
.idea
.idea/
*.iws
*.iml
*.ipr
Expand Down
3 changes: 3 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
FROM openjdk:17-jdk
COPY application/build/libs/yummy_server.jar yummy_server.jar
ENTRYPOINT ["java", "-jar", "yummy_server.jar"]
88 changes: 17 additions & 71 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,77 +1,23 @@
# famous_restaurant
# Yummy
> 지역 맛집 탐방 소모임 형성 서비스

Re:quire's famous restaurant service rep
# 🚀 기능
## 핵심 기능
### 카카오 소셜 로그인
### 실제 가게 정보 연동 API 구현
### 소모임 생성 및 참가
### 소모임 댓글 등록

---
## API 명세
<img width="1063" alt="Screenshot 2025-01-24 at 2 42 43 PM" src="https://github.com/user-attachments/assets/62151372-3803-4da9-90f0-c85db5983ffc" />

# 커밋 컨벤션
# ⿳ ERD
<img width="1066" alt="맛집 소모임 ERD-white" src="https://github.com/user-attachments/assets/96ecbd99-5723-444c-bff4-0dfb31414c3c" />

- 예시
- feat: hyungjun#12-feat-create-user-api - #2
# 🏛️ 멀티 모듈 설계 및 흐름도
<img width="806" alt="사용성 기반 흐름도" src="https://github.com/user-attachments/assets/cb8e38b0-ee84-4803-9a12-41020ec9a637" />
<img width="750" alt="각 모듈 구성 및 흐름도" src="https://github.com/user-attachments/assets/999c4b59-17fa-4f58-8a78-f955b1e208a7" />

- feat: 새로운 기능 추가
- fix: 버그 수정
- docs: 문서 수정
- style: 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우
- refactor: 코드 리팩토링
- test: 테스트 코드, 리팩토링 테스트 코드 추가
- chore: 빌드 업무 수정, 패키지 매니저 수정
# 🗺️ 아키텍쳐
<img width="834" alt="아키텍쳐" src="https://github.com/user-attachments/assets/da8b9a1c-85c9-49fc-bc19-2094ed7ab0c0" />

# 이슈 템플릿

- issue 제목
- 예시: feat: 이슈 정리
- issue 템플릿

```markdown
## 📋 이슈 내용

## ✅ 체크리스트

## 📚 레퍼런스

```
- 제목 예시
- add: UI button 구현

# branch 규칙

- 각자 영어이름#이슈번호-이슈타입-이슈제목
- 예시: hyungjun#12-feat-create-user-api

- 종류: 메시지 - #이슈번호
- 예시
- feat: hyungjun#12-feat-create-user-api - #2

# PR 템플릿

- PR 템플릿

```markdown
## 📋 이슈 번호

## 🛠 구현 사항

## 📚 기타

```

# merge 컨벤션

- merge: 브랜치 이름 - #Issue 번호 혹은 PR 번호
- 예시
- merge: main <-hyungjun#1-feat-user-controller

# ERD

---
![맛집 소모임 ERD](https://github.com/user-attachments/assets/2442f3aa-67db-4933-af94-32f98a855d20)


# 🗺️아키텍처

---

# 💡기능

---
48 changes: 44 additions & 4 deletions application/build.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
plugins {
id 'java'
id 'org.springframework.boot' version '3.4.1'
id 'io.spring.dependency-management' version '1.1.7'
id 'org.springframework.boot'
id 'io.spring.dependency-management'
}

group = 'com.groom'
Expand All @@ -14,22 +14,62 @@ java {
}

dependencies {
// 모듈 간 의존성
implementation project(':storage')
implementation project(':domain')
implementation project(':common')

// Spring Boot Starters
implementation 'org.springframework.boot:spring-boot-starter'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.springframework.boot:spring-boot-starter-webflux'

// OAuth2
implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'

// JWT
implementation 'io.jsonwebtoken:jjwt-api:0.12.3'
implementation 'io.jsonwebtoken:jjwt-impl:0.12.3'
implementation 'io.jsonwebtoken:jjwt-jackson:0.12.3'

// Swagger
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.2'

// Database
runtimeOnly 'com.h2database:h2'

// Lombok
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'

// Testing Dependencies
testImplementation platform('org.junit:junit-bom:5.10.0')
testImplementation 'org.junit.jupiter:junit-jupiter'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
testImplementation 'javax.servlet:javax.servlet-api:4.0.1'

implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter'
// Mocking and JSON Processing
testImplementation 'com.squareup.okhttp3:mockwebserver:4.11.0'
testImplementation 'org.mockito:mockito-core:5.6.0'
testImplementation 'org.mockito:mockito-junit-jupiter:5.7.0'
testImplementation 'com.fasterxml.jackson.core:jackson-databind:2.15.2'

implementation project(':domain')
// Netty
implementation "io.netty:netty-resolver-dns-native-macos:4.1.110.Final:osx-x86_64"
}

test {
useJUnitPlatform()
}

bootJar {
mainClass = 'com.groom.yummy.YummyApplication'
archiveFileName = "yummy_server.jar"
enabled = true
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package com.groom.yummy;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class YummyApplication {
public static void main(String[] args){ SpringApplication.run(YummyApplication.class, args); }
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package com.groom.yummy.config;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class CorsMvcConfig implements WebMvcConfigurer {

@Value("${server.url}")
private String SERVER_URL;

@Override
public void addCorsMappings(CorsRegistry corsRegistry){
corsRegistry.addMapping("/**")
.exposedHeaders("Set-Cookie")
.allowedOrigins(SERVER_URL);
}
}
Loading
Loading