Skip to content

Commit

Permalink
Hang-Log Prod 1.0.0 Release (#501)
Browse files Browse the repository at this point in the history
* refactor: refreshToken을 Member에서 분리

* refactor: 링크복사 버튼 스타일 수정

* fix: Amount 범위 검사 로직을 Item으로 이동

* refactor: Amount ZERO 상수 생성

* refactor: 예외 코드 메시지 변경

* refactor: request 유효성 검증 로직 추가

* refactor: CurrencyServiceTest 삭제

* refactor: ExpenseRequest 인자 타입 수정

* refactor: refreshToken 엔티티 구조 변경

* refactor: refreshToken 재발급 기능 로직 변경

* refactor: 공백 및 컨벤션 수정

* refactor: 패키지 구조 변경

* refactor: Amount DB 컬럼 설정 추가

* refactor: 반환하는 http 상태 코드 변경

* refactor: OAuth RedirectURI 잘못 매핑되는 문제 수정

* fix: 임포트 경로 수정

* feat: IntegrationFixture 추가

* fix: Trip 일정 업데이트 로직 수정

* feat: IntegrationTest mocking 추가

* test: TripIntegrationTest 추가

* refactor: IntegrationTest 패키지 변경

* refactor: IntegrationFixture 패키지 변경

* refactor: Trip 생성 테스트 검증 추가

* refactor: DayLogResponse로 이름 변경

* test: DayLogIntegrationTest 추가

* refactor:토스트 생성 메소드 이름 변경

* chore: npm i

* refactor: 정렬 로직 삭제

* refactor: 토큰 에러로 인해 로그아웃 시 쿼리 데이터 클리어하기

* refactor: 로그인 로직 컴포넌트로 분리

* refactor: useSingleImageUpload 커스텀 훅 생성

* chore: 행록 디자인 시스템 버전 업데이트

* refactor: useImageUpload에서 useMultipleImageUpload로 이름 변경

* refactor: 불필요한 레스트 파라미터 사용 제거

* refactor: 구조분해할당 사용

* refactor: 불필요한 인자 삭제

* chore: npm i

* refactor: DayLogResponse 이름 변경

* test: DayLogController dto 검증 테스트 추가

* chore: 테스트 fixture 작성

* test: 데이로그 조회 통합테스트 구현

* test: 데이로그 제목 변경 통합테스트 구현

* refactor: JwtProvider 패키지 위치 변경

* feat: favicon 추가

* fix: 아이템 expense가 null인 경우 오류 수정

* test: 아이템 생성 요청 구현

* test: DayLog 아이템 순서 변경 테스트 구현

* refactor: 오타 수정

* refactor: 이미지 업로드 로직 변경

* refactor: 이미지 조회시 baseUrl 변경

* refactor: 사용하지 않는 파일 삭제

* refactor: 사용하지 않는 기능 삭제

* refactor: s3Client를 주입받도록 변경

* test: SpringBootTest로 변경

* refactor: 로그아웃 API 수정으로 인한 리팩토링

* refactor: imageBaseUrl 디폴트값 설정

* refactor: submodule 업데이트

* feat: 클라이언트 http요청시 https로 리다이렉션 기능 추가

* feat: 공유 api 구현

* test: 공유 기능 테스트 구현

* feat: argument resolver 적용

* refactor: 공유상태 확인 로직 이동

* refactor: 메서드명 변경

* refactor: 로그아웃 로직 변경

* refactor: code 인증 테스트 변경

* refactor: 한글 메소드 네이밍 변경

* refactor: global 패키지로 수정

* refactor: sql city 데이터 수정

* refactor: city 위도 경도 필드 제외

* refactor: city sql 데이터 삭제

* refactor: bucket 프로퍼티 이름 변경

* refactor: 서브모듈 version 커밋 변경

* refactor: folder 프로퍼티 이름 변경

* refactor: Trip 조회 로직 재사용

* chore: submodule update

* test: RestDocsTest -> ControllerTest 이름 변경

* test: AuthArgumentResolver 의존성 문제 해결

* test: AuthArgumentResolver mocking 변경

* feat: 마이페이지 조회 기능 추가

* feat: 마이페이지 수정 기능 추가

* docs: restDocs 적용

* refactor: 사용하지 않는 생성자 제거

* refactor: 서브모듈 업데이트

* docs: request-headers 스니펫 추가

* docs: AuthControllerTest restdocs header, cookie 추가

* docs: MemberControllerTest restdocs header, cookie 추가

* test: 불필요한 requestBody 제거

* fix: AuthException 로깅

* fix: JwtException 예외 핸들링

* fix: jwt 예외 핸들링 삭제

* refactor: BadRequestException 상속

* refactor: requestMapping, final 적용

* refactor: 패키지 구조 변경

* feat: TripServiceJpaTest 추가

* refactor: bearer extractor 적용

* refactor: trip 조회 fetch join 변경

* refactor: bearer extractor 적용

* refactor: imageUrl 변경

* refactor: ServiceIntegrationTest로 네이밍 수정

* test: 통합 테스트 추가

* test: 통합 테스트 추가

* feat: trip 조회 메서드 변경

* refactor: dto 제한 조건 추가

* refactor: sameSite 설정 추가

* refactor: 쿠키 maxAge 설정 및 테스트 변경

* refactor: ignoringFields에 sharedCode 추가

* refactor: Trip 기간 수정 테스트에 ordinal 검증 추가

* test: Trip 일정 수정 테스트 추가

* test: softly 추가

* test: trip 생성 요청 dto 픽스쳐화

* refactor: 쿠키 addHeader 타입 변경

* feat: Trip에 member 추가

* feat: 요청 trip의 member 검증 구현

* feat: dayLog member 검증 구현

* feat: item의 member 검증 구현

* feat: expense의 member 검증 구현

* refactor: google redirect uri 수정

* refactor: google redirect uri 수정

* refactor: grant_type 변경

* refactor: google redirect uri 수정

* refactor: google redirect uri 수정

* refactor: grant_type 변경 - 인가코드 적용

* refactor: grant_type 원상복귀

* feat: sharedTrip 인가 적용

* feat: member, trip 연관관계 변경

* test: 통합 테스트 인가 적용

* refactor: SharedTripIntegrationTest 이름 변경

* feat: custom exception 추가

* feat: 공유페이지 구현

* refactor: amount의 타입을 BigDecimal로 변경

* test: ItemIntegrationTest createItem 테스트 추가

* refactor: 인증 로직 HttpHeader 설정

* feat:공유페이지 일 때 수정버튼 안보이도록

* style: 스타일 개행 적용

* test: ItemIntegrationTest updateItem 테스트 추가

* test: ItemIntegrationTest deleteItem 테스트 추가

* refactor: 변수명 변경

* style: static import 및 개행 추가

* refactor: 쿼리 left join 추가

* feat: actuator 추가

* feat: submodule 적용

* refactor: Repository 메서드 변경

* refactor:공유페이지 요청시 useAuth와 withCredentials 속성 false

* refactor:isSharedflag로 컴포넌트 조건부랜더링

* refactor: CurrencyType code로 변환 후 저장하게 변경

* refactor: dto 생성 메서드 추가

* refactor: 공유시 가계부버튼 비공개

* test: Item의 request custom validation 테스트 추가

* fix: 쿼리 where 추가

* feat:여행생성 폼 fallback에 스캘래톤 적용

* chore: submodule version 업데이트

* chore: conflict 해결

* fix: 좌표 범위 변경

* fix: amount 로직 변경

* feat: 토큰 예외처리 상태코드 추가, 예외 시 accessToken 제거 로직 추가

* refactor: auth, member 테스트 패키지 분리

* feat: 회원 탈퇴 controller 구현

* fix: 금액 입력할 때 1입력 후 안 지워지는 문제 해결

* feat: 회원 탈퇴 service 구현

* feat: 공유링크 스크롤 그낭 하게 수정

* fix: 기타 탭에서 장소 추가된는 문제 해결

* refactor: 패키지 이동

* feat: member soft delete 추가

* test: test 리팩토링

* refactor: 총 금액들 소수점 없이 보여주기

* feat: 회원 탈퇴 기능 추가

* feat: 토큰 예외처리 상태코드 추가 (9999)

* fix: currency 대문자로 반환하게 변경

* test: currency 대문자로 반환하게 변경

* fix: 기타 탭 날짜 문제 해결

* refactor: 통화 수정

* refactor: word break 추가

* refactor: 타이틀 글자 제한 수정

* refactor: 숫자 문제 해결

* chore: 버전 1.0.0으로 업데이트

* chore: 행록 디자인 시스템 버전 업데이트

* feat:로그인상태에서 로그인,회원가입 페이지 접근시 홈으로 변경

* refactor: 가계부 페이지에 버튼 추가

* chore: 글자수 제한 줄임

* fix: 단어 늘어나는 문제 해결

* refactor: 전체/장소 토글 기능 삭제

* refactor: test 수정

* refactor: 튜토리얼 모달 버튼 갭 수정

* docs: 프로젝트 아키텍쳐 이미지 추가

* docs:이미지 요청 흐름도 추가

---------

Co-authored-by: Ashley Heo <[email protected]>
Co-authored-by: Ashley Heo <[email protected]>
Co-authored-by: hgo641 <[email protected]>
Co-authored-by: dladncks1217 <[email protected]>
Co-authored-by: 임우찬 <[email protected]>
Co-authored-by: mcodnjs <[email protected]>
Co-authored-by: Dahye <[email protected]>
Co-authored-by: LJW25 <[email protected]>
Co-authored-by: LJW25 <[email protected]>
Co-authored-by: waterricecake <[email protected]>
Co-authored-by: 라온 <[email protected]>
Co-authored-by: waterricecake <[email protected]>
  • Loading branch information
13 people authored Aug 17, 2023
1 parent bcb983c commit 9453159
Show file tree
Hide file tree
Showing 550 changed files with 62,801 additions and 5 deletions.
27 changes: 22 additions & 5 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,43 @@ labels: "\U0001F41E Bug"
body:
- type: textarea
attributes:
label: 🐞 Describe
label: 🐞 버그 설명
description: 버그에 대한 설명을 작성해 주세요.
placeholder: 자세히 적을수록 좋습니다!
validations:
required: true
- type: textarea
attributes:
label: 📄 Logs
label: ✅ 예상 결과
description: 예상한 결과를 작성해 주세요.
validations:
required: true
- type: textarea
attributes:
label: ❗ 실제 결과
description: 실제 결과를 작성해 주세요.
validations:
required: true
- type: textarea
attributes:
label: 💻 버그 시뮬레이션
description: 버그를 발견하게 된 상황을 단계별로 적어주세요.
validations:
required: true
- type: textarea
attributes:
label: 📄 로그
description: 로그가 있으면 복붙해 주세요.
render: shell
validations:
required: false
- type: textarea
attributes:
label: 🌏 Environment
label: 🌏 환경
description: 버그가 발생한 환경에 대해 작성해 주세요.
placeholder: |
OS: macOS 12.2.1
validations:
required: true
required: false
- type: textarea
attributes:
label: 🙋🏻 More
Expand Down
49 changes: 49 additions & 0 deletions .github/workflows/backend-CI-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Java CI with Gradle

on:
pull_request:
branches: [ main, develop ]

defaults:
run:
working-directory: backend

permissions:
contents: read

jobs:
build:
if: contains(github.event.pull_request.labels.*.name, 'BE')
runs-on: ubuntu-22.04
permissions:
pull-requests: write

steps:
- name: 레포지토리 체크아웃
uses: actions/checkout@v3
with:
token: ${{ secrets.SUBMODULE_TOKEN }}
submodules: true

- name: JDK 17을 설치합니다.
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'corretto'

- name: gradlew 권한을 부여합니다.
run: chmod +x gradlew

- name: Gradle을 통해 빌드합니다.
run: ./gradlew build

- name: jacocoTestCoverage를 실행하고 리포트를 출력합니다.
id: jacoco
uses: madrapps/[email protected]
with:
title: 📝 Jacoco Test Coverage
paths: ${{ github.workspace }}/**/build/reports/jacoco/test/jacocoTestReport.xml
token: ${{ secrets.GITHUB_TOKEN }}
min-coverage-overall: 80
min-coverage-changed-files: 80
update-comment: true
48 changes: 48 additions & 0 deletions .github/workflows/frontend-e2e-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Cypress Tests
on:
pull_request:
branches:
- develop
paths:
- frontend/**
- .github/**

defaults:
run:
working-directory: frontend

jobs:
run-dev:
if: contains(github.event.pull_request.labels.*.name, 'FE')
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Create env file
run: |
touch .env
echo GOOGLE_API_KEY=${{ secrets.GOOGLE_API_KEY }} >> .env
echo GOOGLE_MAP_ID=${{ secrets.GOOGLE_MAP_ID }} >> .env
echo PROD_BASE_URL=${{ secrets.PROD_BASE_URL }} >> .env
cat .env
- name: Cypress run
uses: cypress-io/github-action@v5
with:
browser: chrome
start: npm run dev
wait-on: 'http://localhost:3000'
record: false
working-directory: ./frontend
env:
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Cypress test failure message
if: failure()
uses: thollander/actions-comment-pull-request@v1
with:
message: |
로컬 cypress 테스트가 실패했습니다. [테스트 결과 자세히 보기](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "backend/backend-submodule"]
path = backend/backend-submodule
url = https://github.com/HangLog/backend-submodule.git
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2023 hang-log

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# 2023-hang-log


![Group 2695 (1)](https://github.com/woowacourse-teams/2023-hang-log/assets/77482065/cfddda8a-e416-4f03-bc53-edd6eb0c4595)


## 멤버

### 프론트엔드
Expand All @@ -14,3 +18,9 @@
|:-----------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------:|
| [이오](https://github.com/LJW25) | [디노](https://github.com/jjongwa) | [라온](https://github.com/mcodnjs) | [홍고](https://github.com/hgo641) | [달리](https://github.com/waterricecake) |


![‎README 인프라 구조 ‎008](https://github.com/woowacourse-teams/2023-hang-log/assets/77482065/eb0d792c-9699-4010-95b4-a29e5ab76687)

![‎README 인프라 구조 ‎007](https://github.com/woowacourse-teams/2023-hang-log/assets/77482065/e9e38e63-ad72-45cc-80f8-883ae68aa29e)

![‎README 인프라 구조 ‎001](https://github.com/woowacourse-teams/2023-hang-log/assets/77482065/1e73f647-7774-450e-863c-7dbc906f5e4d)
49 changes: 49 additions & 0 deletions backend/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
HELP.md
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/

### VS Code ###
.vscode/

### docker ###
docker/

### RestDocs ###
src/main/resources/static/docs/

### Ignore .DS_Store ###
**/.DS_Store

### application*.yml ###
src/main/resources/*.yml
1 change: 1 addition & 0 deletions backend/backend-submodule
Submodule backend-submodule added at 596619
95 changes: 95 additions & 0 deletions backend/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
plugins {
id 'java'
id 'org.springframework.boot' version '3.1.1'
id 'io.spring.dependency-management' version '1.1.0'
id "org.asciidoctor.jvm.convert" version "3.3.2"
id 'jacoco'
}

group = 'hanglog'
version = '0.0.1-SNAPSHOT'

java {
sourceCompatibility = '17'
}

configurations {
asciidoctorExt
compileOnly {
extendsFrom annotationProcessor
}
}

repositories {
mavenCentral()
}

dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0'
implementation 'io.jsonwebtoken:jjwt-api:0.11.5'
implementation 'com.amazonaws:aws-java-sdk-s3:1.12.528'

testImplementation 'io.rest-assured:rest-assured:5.3.1'
testImplementation 'org.springframework.restdocs:spring-restdocs-mockmvc'
asciidoctorExt 'org.springframework.restdocs:spring-restdocs-asciidoctor'

compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
runtimeOnly 'mysql:mysql-connector-java:8.0.28'
runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.11.5'
runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.11.5'

annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'

implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'io.micrometer:micrometer-registry-prometheus'
}

test {
finalizedBy jacocoTestReport
}

jacoco {
toolVersion = '0.8.8'
}

jacocoTestReport {
reports {
xml.required = true
html.required = true
}
}

tasks.named('test') {
useJUnitPlatform()
}

asciidoctor {
dependsOn test
configurations 'asciidoctorExt'
}

tasks.register('copyApiDocument', Copy) {
dependsOn asciidoctor
doFirst {
delete file("src/main/resources/static/docs")
}
from asciidoctor.outputDir
into file("src/main/resources/static/docs")
}

processResources.dependsOn('copySecret')

tasks.register('copySecret', Copy) {
from './backend-submodule'
include 'application.yml'
into './src/main/resources'
}

build {
dependsOn copyApiDocument
}
18 changes: 18 additions & 0 deletions backend/docker/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
version: '3'
services:
mysql8:
image: mysql:8.0.28
platform: linux/x86_64
container_name: mysql8
restart: always
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: hanglog
MYSQL_USER: user
MYSQL_PASSWORD: password
volumes:
- ./db/mysql/data:/var/lib/mysql
- ./db/mysql/config:/etc/mysql/conf.d
- ./db/mysql/init:/docker-entrypoint-initdb.d
Binary file added backend/gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
6 changes: 6 additions & 0 deletions backend/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading

0 comments on commit 9453159

Please sign in to comment.