-
Notifications
You must be signed in to change notification settings - Fork 1
[E팀] 웹 프론트엔드 파트 코드리뷰용 PR #30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
kimzini
wants to merge
474
commits into
review
Choose a base branch
from
develop
base: review
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
474 commits
Select commit
Hold shift + click to select a range
fcb26f1
feat: 감상평,사진 컴포넌트 로직 분리 및 썸네일 커스텀 훅 공용 컴포넌트 생성
dvp-tae 8e1ec71
feat 리뷰 목데이터 형식 api 반영
dvp-tae 5d8156f
feat: 클라코 티켓 상세보기 api 목데이터 형식으로 변경
dvp-tae 146e621
feat: 장르 컴포넌트 한글 매핑 수정
dvp-tae 76f480e
feat: 공연 상세페이지 컴포넌트 분리
kimzini 4b8a655
fix: 메인 UX 라이팅 수정
dvp-tae 6a84754
fix: 리뷰 이미지 없는 경우 처리
dvp-tae 2eeaa00
fix: 티켓 등록 초기 화면 UX 라이팅 수정
dvp-tae 4994b4e
feat: 티켓 등록 별점 드래그 구현
kimzini 6599f0d
feat: 온보딩 로딩화면 적용
kimzini 2155419
feat: 티켓 다운 페이지 퍼블리싱
kimzini d125149
feat: 뒤로가기 경로 설정
kimzini 7726175
feat: profile 컴포넌트 삭제
kimzini e3b2732
feat: 페이지간 간격 조정
kimzini cec7eae
fix: 검색기능 및 둘러보기 페이지 구조 수정
dvp-tae 8e4b486
fix: 검색 기능 커스텀훅 구조로 변경
dvp-tae 77bb101
feat: 닉네임 제한 글자수 수정
kimzini 434599d
feat: 마이 페이지 뒤로가기 삭제
kimzini ea8bdae
api: 카카오 로그인 온보딩 토큰 발급 기능 구현
dvp-tae 91d81b0
Merge pull request #50 from Curate-Me/feat/#43_mypage-publishing
kimzini 43c9d5c
api: axios 인스턴스 객체 준비
dvp-tae 53e5d36
Merge branch 'main' into feat/#47_clacoticket-detail-publishing
dvp-tae a87fbcf
fix: 검색 구현 수정사항 적용
dvp-tae 6bdf496
feat: 클라코 취향 컴포넌트 생성
dvp-tae ce783e8
Merge pull request #51 from Curate-Me/feat/#47_clacoticket-detail-pub…
dvp-tae b3c717b
feat: 닉네임 중복 검사 api 연동
kimzini eea0620
feat: 온보딩 api 연동
kimzini 84bab7d
fix: api hooks util hook 분리
dvp-tae 29f69af
fix: 폰트 적용 에러 수정
dvp-tae 0270599
fix: 라우트 구조 수정 및 로그인 미진행 시 다른 페이지 접근 불가능
dvp-tae 58eaefc
fix: 둘러보기 필터 모달 애니메이션 버그 수정
dvp-tae 719812b
feat: 특징 선택 로직 수정
kimzini 0823af7
feat: 온보딩 로컬스토리지 삭제
kimzini b7e8183
Merge pull request #53 from Curate-Me/feat/#52_onboarding-api
kimzini 83e9653
Merge branch 'main' into api/#48_axios-instance
dvp-tae 9358e1b
fix: 일반 api 함수 로직 분리 및 명명법 변경
dvp-tae 1c0424e
feat: 유저 취향 정보 api 연동
dvp-tae 15d03c0
feat: 나의 취향 기반 api 연동
dvp-tae 9da3209
feat: 타입 배럴 패턴 적용 및 좋아요 기반 api 연동 함수 생성
dvp-tae 73c3632
Merge pull request #55 from Curate-Me/api/#48_axios-instance
dvp-tae 1a708f9
feat: 스크롤 하단 감지 테스트 훅 생성
dvp-tae f11ae18
Merge branch 'main' into feat/#56_concert-review-api
dvp-tae dd5efd0
feat: 메인 포스터 이미지 지연 로딩 적용
dvp-tae 41fafdd
feat: 카테고리 컴포넌트 서버 로직에 맞춰 전반적으로 수정
dvp-tae e362004
feat: 공연 상세 페이지 api 연동
kimzini 9befbaf
fix: 카테고리 컴포넌트 로직 수정
dvp-tae 8429705
Merge branch 'develop' into feat/#54_show-detail-api
kimzini a776518
feat: 유저 취향 기반 클라코티켓 맞춤 추천 api 함수 구현
dvp-tae 8fe44bc
feat: 공연 상세 데이터변환 로직 훅으로 분리
kimzini 8b54136
feat: 검색 api 함수 구현
dvp-tae a338e18
feat: 둘러보기 스켈레톤 적용
dvp-tae 48e53ad
feat: 공연 상세 포스터 로직 수정
kimzini 61d8d00
feat: 선택 공연과 비슷한 공연 추천 api 연동
kimzini 3fb3eb5
feat: 상세 페이지 로직 수정
kimzini 15994a4
feat: 검색 자동 완성 기능 구현
dvp-tae 15521d6
feat: 상세 페이지 디테일 수정
kimzini e3a09ca
feat: 좋아요 기능 구현
kimzini 9570fac
feat: useNavigate 훅으로 수정
kimzini 20a954d
feat: setQueryData 업데이트로 수정
kimzini 461f4c1
Merge pull request #58 from Curate-Me/feat/#54_show-detail-api
kimzini 05df72c
feat: 검색 로직 수정
dvp-tae 3687d38
feat: 공연 상세 페이지 디테일 수정
kimzini ce73e1f
Merge branch 'main' into feat/#57_search-api
dvp-tae a5e4f49
fix: 빌드 에러 수정
dvp-tae afa2458
Merge pull request #60 from Curate-Me/feat/#57_search-api
dvp-tae 7da5894
Merge pull request #61 from Curate-Me/develop
dvp-tae f670661
hotfix: svg 파일 빌드 에러
dvp-tae 0072c1b
hotfix: svg 파일 빌드 에러
dvp-tae 3274d05
Merge pull request #62 from Curate-Me/hotfix/#1_svg-build-error
dvp-tae c940c0c
Merge pull request #63 from Curate-Me/develop
dvp-tae 9ed8b40
feat: 클라코북 리스트 조회 api 연동
kimzini bb2e3ba
Merge branch 'main' into feat/#56_concert-review-api
dvp-tae 5012cc8
feat: 캘린더 single 모드 날짜 범위 로직 변경
kimzini 60d743f
feat: 관람 공연 정보 불러오기
kimzini c0bea45
feat: 카테고리 조회 api 연동
kimzini dd3f611
feat: 장소평 카테고리 조회 api 연동
kimzini 0766fa2
feat: 뷰 포트 벗어나면 이미지 재로드 하는 버그 수정
dvp-tae 79daf36
feat: 클라코북 리스트 타입 수정
kimzini d4e7b89
feat: 티켓 초기생성 api 연동
kimzini 703db1b
feat: 무한 스크롤 적용 및 버그 수정
dvp-tae c3bca4c
feeat: 콘솔창 주석처리
dvp-tae 2615b8e
feat: 리뷰 상세 정보 로컬스토리지 저장 처리
kimzini bdf15db
feat: 최근공연 검색결과 컴포넌트화
dvp-tae 2277aad
feat: tanstack-query devtools 추가
dvp-tae 8ae0e3c
fix: 자동 완성 쿼리 키 이름 수정
dvp-tae 2ff0b8e
feat: 자동 완성 결과 없을 경우 처리
dvp-tae 6e071db
feat: 리뷰 데이터 무한 스크롤 적용
dvp-tae dbc948e
feat: 무한 스크롤 적용에 따른 썸네일 모달 인덱싱 수정 및 리뷰 총 개수 api 연동
dvp-tae 9e23ac0
feat: useQuery 제외
kimzini 75612c0
feat: 티켓 이미지 저장 api 연동
kimzini d39113f
feat: 공연 태그, 제목 zustand 저장소 추가해 리뷰 페이지에 노출
dvp-tae 60e960d
feat: 리뷰 페이지 스캘레톤 적용
dvp-tae 0120559
feat: 리뷰 상세페이지 api 연동
dvp-tae 986c844
feat: 검색 결과 없는 경우 추천 리스트 데이터 뷰 처리
dvp-tae 6dc2371
feat: 티켓 리뷰 상세 조회 api 연동
kimzini e259b49
feat: 온보딩 프로세스 수정
dvp-tae 12318ef
feat: 클라코북 없을 때 로직 수정
kimzini f900fe7
feat: 메인 페이지 클라코티켓 추천 수정
dvp-tae 7af92d7
style: 최대 줄 수 처리
kimzini d985e8d
Merge pull request #65 from Curate-Me/feat/#56_concert-review-api
dvp-tae f14a3be
feat: 티켓 키워드 이미지 로딩시간 설정
kimzini 0d5d91b
Merge branch 'main' into feat/#59_ticket-create-api
kimzini 41ce0a3
Merge branch 'develop' into feat/#59_ticket-create-api
kimzini 8ef5816
Merge pull request #66 from Curate-Me/feat/#59_ticket-create-api
kimzini 9645632
style: 리뷰 요약 카드 높이 수정
kimzini 3d8f0f5
feat: 클라코북 수정삭제추가 api 연동
dvp-tae f9e958d
feat: 마이페이지 수정창 페이지로 분리
kimzini c6a9bf5
feat: 취향 수정 api 연동
kimzini 6265065
feat: 유저 정보 조회, 수정 api 연동
kimzini 1d1862e
feat: 클라코북 상세보기 api 연동 완료
dvp-tae ae2fc97
feat: 콘솔창 주석
dvp-tae d33a912
feat: 클라코 티켓 상세 수정 기능 구현
dvp-tae 0f0ae8c
feat: 클라코 티켓 상세 삭제 수정
dvp-tae 83aefe8
feat: 클라코 티켓 상세보기 장르명 공연상태 정보 추가
dvp-tae 2fe4fb8
feat: 검색 결과 없을 시 무한 스크롤 기능 제거
dvp-tae 6e09340
feat: 티켓 등록 로직 수정
kimzini 04ee7c7
feat: 달력 시작일 수정
kimzini 9b4ad1c
feat: 좋아요한 공연 api 연동
kimzini 91b94e7
feat: 별점 터치 가능하게 수정
kimzini 8e22e75
feat: 둘러보기 페이지 좋아요 api 연동
kimzini 2f98ae9
feat: 좋아요한 공연 좋아요 api 연동
kimzini b8747be
Merge pull request #68 from Curate-Me/feat/#64_mypage-api
dvp-tae c62d60e
Merge branch 'main' into feat/#67_clacobook-ticket-api
dvp-tae 1f7ec88
fix: 잔버그 수정
dvp-tae c7e00b4
feat: 메인 스캘레톤
dvp-tae b930ad2
feat: 마이페이지 스켈레톤 UI 적용
kimzini 9971b5b
feat: 클라코북 스켈레톤 UI 적용
kimzini 63c53ca
fix: 인터셉터 버그 해결
dvp-tae b4abefc
Merge pull request #70 from Curate-Me/feat/#67_clacobook-ticket-api
dvp-tae fb9e792
Merge pull request #71 from Curate-Me/develop
dvp-tae a5b43e1
feat: 로딩 이미지 임시 적용
kimzini 84c4ab1
feat: 티켓 등록 스켈레톤 UI 적용
kimzini 80d1781
merge: develop merge
kimzini 1da4bbc
feat: onboarding 로티이미지 수정
kimzini 9a34ee0
feat: 새 엑세스 토큰 발급 시 main으로 replace
dvp-tae b74ade4
feat: 모바일 뷰에서 날짜 정보 오류 이슈 해결
dvp-tae be07539
feat: 메인페이지 페이지네이션 위치 조정
dvp-tae 0facb64
feat: 모달 버튼 가로 길이 수정:
dvp-tae 55da1b6
feat: 공연 포스터 api 연동
kimzini ed38434
feat: 티켓 다운로드 로딩 텍스트 적용
kimzini 2871cc0
feat: 포스터 카드 truncate 수정
dvp-tae e3d7781
style: 관람 회차 스타일 수정
kimzini 6372797
feat: 티켓 리뷰 스켈레톤 UI 적용
kimzini 3a44383
feat: 상세페이지 스켈레톤 UI 적용
kimzini a43e71c
Merge pull request #73 from Curate-Me/feat/#69_skeleton-ui
dvp-tae 9b25246
feat: 작성자 구분 및 상세보기에서 티켓 삭제 시 전 페이지로 이동
dvp-tae 5fefbb8
Merge branch 'main' into feat/#72_qa/1-issue
dvp-tae 3906728
feat: 티켓 등록 후 데드락 이슈 처리
dvp-tae 95000b3
feat: 필터링 api 연동
dvp-tae 6f01149
feat:유저 취향 기반 마무리
dvp-tae 45012d8
docs: update README.md
devkeon 4cbf3dd
feat: Location 필터링의 경우 지역 세분화 처리
dvp-tae 6e0d419
Merge pull request #74 from Curate-Me/docs/readme
kimzini 47f0669
feat: 다운로드 테스트
dvp-tae d3e57fa
Update README.md
kimzini b9885a0
feat: 좌석 코드 오류로 인한 주석 처리
dvp-tae 6c82bae
Merge pull request #75 from Curate-Me/docs-readme-update
dvp-tae 2d3e4e3
Merge branch 'main' into feat/#72_qa/1-issue
dvp-tae 7ad9fbe
feat: 더미 이미지들 제거
dvp-tae ef1ec48
feat: 카카오 디자인 규정 준수
dvp-tae d81a9e5
Merge pull request #76 from Curate-Me/feat/#72_qa/1-issue
dvp-tae cae75a6
Merge pull request #77 from Curate-Me/develop
dvp-tae c398d0c
fix: footer 레이아웃 영역 수정
dvp-tae 98411fc
style: 카카오 로고 간격 수정
kimzini 9f6d0ba
fix: 유저 취향 기반 클라코북 맞춤 추천 에러 핸들링 및 location 컴포넌트 수정
dvp-tae 7feddbb
feat: 다운로드 모달 취소 버튼 수정
kimzini 7bd7b9a
Merge pull request #80 from Curate-Me/feat/#79_ticket-download-image
dvp-tae 6e5841b
fix: qa 2차사항 반영
dvp-tae 4e03f15
Merge branch 'main' into feat/#78_qa2-handling
dvp-tae c07d9c9
fix: 충돌 해결
dvp-tae ec203b7
fix: 초기 로딩 문제 해결
dvp-tae 5967676
Merge pull request #81 from Curate-Me/feat/#78_qa2-handling
dvp-tae 6af808f
Merge pull request #82 from Curate-Me/develop
dvp-tae a383291
fix: null 값 여부에 따라 뒤로가기 로직 구분
dvp-tae bfcdb22
Merge pull request #84 from Curate-Me/hotfix/back-error
dvp-tae 05dac00
Merge pull request #85 from Curate-Me/develop
dvp-tae b0223ea
fix: 좋아요 쿼리 캐싱 무효화
dvp-tae 7d42f18
Merge pull request #87 from Curate-Me/hotfix/#3_like-error
dvp-tae 48d4518
fix: 빈 클라코북 오류 처리
dvp-tae 97ae620
Merge pull request #88 from Curate-Me/develop
dvp-tae 0203f3b
Merge pull request #90 from Curate-Me/hotfix/#4_empty-clacobook-error
dvp-tae 83d8e55
Merge pull request #91 from Curate-Me/develop
dvp-tae 426530b
fix: 디자인 수정
dvp-tae 6a16b74
Merge pull request #92 from Curate-Me/hotfix/#5_design-error
dvp-tae f54b700
Merge pull request #93 from Curate-Me/develop
dvp-tae 0f4bbae
fix: 디자인 수정
dvp-tae a3fef6f
Merge pull request #94 from Curate-Me/hotfix/#6_position-replace
dvp-tae 7440691
Merge pull request #95 from Curate-Me/develop
dvp-tae 48386b3
feat: 온보딩 로딩 이미지 수정
kimzini 90ce0cb
feat: Claco 기본 설명일 때 화살표 제한
kimzini 791e687
feat: 포스터 클릭해도 상세 페이지로 이동
kimzini 12eaae9
feat: 상세 포스터 화살표 높이 제한
kimzini 9d11afa
feat: 티켓 등록 자동 완성 api 연동
kimzini 409aa14
feat: 공연 날짜 불러오는 로직 수정
kimzini 6171b0f
feat: 티켓 저장 로딩 이미지 수정
kimzini 1f4d082
feat: 티켓 배경색 수정
kimzini b797c2a
feat: 스켈레톤 UI 수정
kimzini 0209461
feat: 티켓 없는 티켓북 뒤로 가기 추가
kimzini de4791b
feat: 공연 포스터 크기 통일
kimzini 1272be6
feat: 티켓 상세 여백 수정
kimzini 81f1dc3
feat: 공연 태그 default 설정
kimzini 802e6bb
feat: 선택했던 공연 필터값 보이게 수정
kimzini 040035e
Merge pull request #97 from Curate-Me/feat/#96_qa-3
kimzini 51baeda
fix: 로컬 폰트 함수 제거
dvp-tae 9f9cbe2
feat: 필터 선택 후 탭 선택시 초기화
kimzini 6606e61
feat: base 옵션 추가
kimzini ffa4384
style: 검색창 X 아이콘 수정
kimzini 52d8c2d
Merge pull request #99 from Curate-Me/feat/#98_qa-4
kimzini d3ef174
hotfix: base 경로 다시 수정
kimzini 955f5c8
fix: 티켓 등록 후 티켓북 선택 시 티켓 리스트 쿼리 무효화
dvp-tae 4f8156b
Merge pull request #101 from Curate-Me/feat/#98_qa-4
kimzini 3f1c618
fix: 티켓 등록 후 티켓북 선택 시 티켓 리스트 쿼리 무효화
dvp-tae 0b0283a
Merge branch 'main' into hotfix/qa_#6
dvp-tae afd6722
fix: lint 오류 수정
dvp-tae e6dbad4
Merge pull request #102 from Curate-Me/hotfix/qa_#6
dvp-tae 9954c5d
fix: 검색바 고치기
dvp-tae e7c5bc9
Merge pull request #103 from Curate-Me/hotfix/qa_#7
dvp-tae 55ba010
fix: 로그인 리다렉 수정
dvp-tae 798cd39
Merge pull request #104 from Curate-Me/hotfix/qa_#8
dvp-tae 0980224
fix: 에러 핸들링 수정:
dvp-tae 60eea6c
Merge pull request #105 from Curate-Me/hotfix/qa_#9
dvp-tae 7d889fc
feat: 요청 사항 수정
kimzini 600eb03
Merge branch 'main' into feat/#98_qa-4
kimzini ecac524
Merge pull request #106 from Curate-Me/feat/#98_qa-4
kimzini 74670b8
feat: 로티 이미지 수정
kimzini 80ab364
Merge pull request #107 from Curate-Me/hotfix/qa_#10
kimzini 1cbb59d
hotfix: 그라디언트 추가
kimzini b4df3e6
Merge pull request #108 from Curate-Me/hotfix/qa_#11
kimzini be68706
hotfix: 그라디언트 위치 수정
kimzini d4767f4
Merge pull request #109 from Curate-Me/hotfix/qa_#12
kimzini aea5649
feat: 티켓북 초기 페이지 수정
kimzini c386b0e
Merge pull request #110 from Curate-Me/hotfix/qa_#13
kimzini 67debf5
Merge pull request #111 from Curate-Me/main
dvp-tae ba7f624
fix: 필터링 결과 9개 미만 시 무한 스크롤 영역 버그 픽스
dvp-tae 805876d
fix: 티켓북 이동 플로우 수정
dvp-tae 577efe0
fix: crossorigin annoymous 제거
dvp-tae 9d3d2a5
fix: 티켓 등록 플러스 버튼 위치 재조정
dvp-tae 50783cb
Merge pull request #114 from Curate-Me/fix/#qa_5
dvp-tae cf2de7f
feat: 리프레쉬 쿠키 api 연동
kimzini 140660b
Merge pull request #116 from Curate-Me/feat/#113_refresh-cookie-api
kimzini 198f41b
feat: 리프레쉬 api 연동 수정
kimzini d0447b8
Merge pull request #118 from Curate-Me/feat/#113_refresh-cookie-api
kimzini 085cc71
fix: axios 헤더 수정
kimzini d3a172b
Merge pull request #120 from Curate-Me/feat/#113_refresh-cookie-api
kimzini 8bd71b5
feat: 프로필 이미지 api 연동 수정
kimzini fbce9cf
Merge pull request #122 from Curate-Me/feat/#113_refresh-cookie-api
kimzini c62dec5
feat: 마이페이지 리렌더링
kimzini 941f57d
Merge pull request #124 from Curate-Me/feat/#113_refresh-cookie-api
kimzini 03d6504
fix: 리프레쉬 토큰 api 연동 삭제
kimzini fe77cbb
Merge pull request #126 from Curate-Me/feat/#113_refresh-cookie-api
kimzini File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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,20 @@ | ||
| --- | ||
| name: Bug Issue Template | ||
| about: 버그 관련 이슈 템플릿 | ||
| title: '' | ||
| labels: '' | ||
| assignees: '' | ||
|
|
||
| --- | ||
|
|
||
| ## 에러 설명🚦 | ||
| <!-- 무슨 에러인지 설명해주세요! --> | ||
|
|
||
| ## 환경⚙️ | ||
| <!-- 특정 기기에서만 발생하는 에러라면 디바이스 종류, 브라우저 종류 등을 써주세요! 없으면 지워도 되는걸로,, --> | ||
|
|
||
| ## 재현 방법🧿 | ||
| <!-- 어떻게 재현하는지 설명해주세요 --> | ||
|
|
||
| ## 에러 화면📸 | ||
| <!-- 스크린샷 or GIF 등 --> |
This file contains hidden or 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,17 @@ | ||
| --- | ||
| name: Feature Issue Template | ||
| about: 기능 개발 시에 사용하는 이슈 템플릿 | ||
| title: 'feat:' | ||
| labels: '' | ||
| assignees: '' | ||
|
|
||
| --- | ||
|
|
||
| ## 이슈 설명☀️ | ||
| <!-- 이슈에 관한 설명 --> | ||
|
|
||
| ## TO-DO📒 | ||
| - [ ] 할 일 1 | ||
|
|
||
| ## 기타🍀 | ||
| <!-- 🎻 --> |
This file contains hidden or 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,15 @@ | ||
| ## 1️⃣ 작업 내용 Summary📱💎 | ||
|
|
||
| - resolved #(issue_num) | ||
|
|
||
| ### 기존 코드에 영향을 미치지 않는 변경사항 | ||
|
|
||
| ### 기존 코드에 영향을 미치는 변경사항 | ||
|
|
||
| ### ✚ 작업 내용 스크린 샷📸 | ||
|
|
||
| ## 2️⃣ 리뷰어에게 공유할 내용👥 | ||
|
|
||
| ## 3️⃣ 추후 작업할 내용👋 | ||
|
|
||
| - [ ] `main` 브랜치의 최신 코드를 `pull` 받았나요? |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or 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,30 @@ | ||
| name: git push into another repo to deploy to vercel | ||
|
|
||
| on: | ||
| push: | ||
| branches: [main] | ||
|
|
||
| jobs: | ||
| build: | ||
| runs-on: ubuntu-latest | ||
| container: pandoc/latex | ||
| steps: | ||
| - uses: actions/checkout@v2 | ||
| - name: Install mustache (to update the date) | ||
| run: apk add ruby && gem install mustache | ||
| - name: creates output | ||
| run: sh ./build.sh | ||
| - name: Pushes to another repository | ||
| id: push_directory | ||
| uses: cpina/github-action-push-to-another-repository@main | ||
| env: | ||
| API_TOKEN_GITHUB: ${{ secrets.ACTIONS_TOKEN }} | ||
| with: | ||
| source-directory: 'output' | ||
| destination-github-username: dvp-tae | ||
| destination-repository-name: claco-client | ||
| user-email: ${{ secrets.EMAIL }} | ||
| commit-message: ${{ github.event.commits[0].message }} | ||
| target-branch: main | ||
| - name: Test get variable exported by push-to-another-repository | ||
| run: echo $DESTINATION_CLONED_DIRECTORY | ||
This file contains hidden or 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 |
|---|---|---|
| @@ -1,50 +1,211 @@ | ||
| # React + TypeScript + Vite | ||
|
|
||
| This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. | ||
|
|
||
| Currently, two official plugins are available: | ||
|
|
||
| - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh | ||
| - [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh | ||
|
|
||
| ## Expanding the ESLint configuration | ||
|
|
||
| If you are developing a production application, we recommend updating the configuration to enable type aware lint rules: | ||
|
|
||
| - Configure the top-level `parserOptions` property like this: | ||
|
|
||
| ```js | ||
| export default tseslint.config({ | ||
| languageOptions: { | ||
| // other options... | ||
| parserOptions: { | ||
| project: ['./tsconfig.node.json', './tsconfig.app.json'], | ||
| tsconfigRootDir: import.meta.dirname, | ||
| }, | ||
| }, | ||
| }) | ||
| ``` | ||
|
|
||
| - Replace `tseslint.configs.recommended` to `tseslint.configs.recommendedTypeChecked` or `tseslint.configs.strictTypeChecked` | ||
| - Optionally add `...tseslint.configs.stylisticTypeChecked` | ||
| - Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and update the config: | ||
|
|
||
| ```js | ||
| // eslint.config.js | ||
| import react from 'eslint-plugin-react' | ||
|
|
||
| export default tseslint.config({ | ||
| // Set the react version | ||
| settings: { react: { version: '18.3' } }, | ||
| plugins: { | ||
| // Add the react plugin | ||
| react, | ||
| }, | ||
| rules: { | ||
| // other rules... | ||
| // Enable its recommended rules | ||
| ...react.configs.recommended.rules, | ||
| ...react.configs['jsx-runtime'].rules, | ||
| }, | ||
| }) | ||
| ``` | ||
| # 사용자 맞춤 클래식 공연 큐레이션 서비스 Claco | ||
|
|
||
| ## 📱 서비스 소개 | ||
| - 클래식 공연 감상의 길잡이가 되는 서비스를 제공함으로써 클래식 공연 문화를 더 즐겁게 향유할 수 있도록 합니다. | ||
| - 사용자의 취향에 맞는 공연을 추천해주고, 티켓을 만들어 추억을 간직하고, 공유합니다. | ||
|
|
||
| ### 📆 개발 기간 및 인원 | ||
| - ***2024.10.05 ~ 2024.11.24*** | ||
| - ```Frontend```: 2명 | ||
| - ```Backend```: 2명 | ||
|
|
||
| ## 🧑💻 R&R | ||
| | Profile | Name | Role | | ||
| |:---------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------:|:------------------------------------------------------------------------------------------------:| | ||
| | <a href="https://github.com/kimzini"><img src="https://avatars.githubusercontent.com/u/127485569?v=4" height="120px"></a> | 김진희<br> **kimzini** <br> FE | 소셜 로그인, 온보딩, 공연 상세, 마이 페이지,<br> 티켓 등록 서비스 GUI 개발 및 API 연동 | ||
| | <a href="https://github.com/dvp-tae"><img src="https://avatars.githubusercontent.com/u/109207415?v=4" height="120px"></a> | 성태현 <br> **dvp-tae** <br> FE | 서비스 메인, 리뷰, 둘러보기,<br> 클라코북 만들기 서비스 GUI 개발 및 API 연동 | ||
| | <a href="https://github.com/devkeon"><img src="https://avatars.githubusercontent.com/u/121371840?v=4" height="120px"></a> | \<개발 리드><br>이건 <br> **devkeon** <br> BE | 아키텍처 설계, ERD 설계, 메인 서버 인프라 및 CI/CD 구축, <br> 인증/인가, 모니터링 시스템 구축, 티켓/리뷰 기능,<br> 클라코북 기능, 회원 관련 기능 | | ||
| | <a href="https://github.com/anselmo228"><img src="https://avatars.githubusercontent.com/u/24919880?v=4" height="120px"></a> | 정희찬 <br> **anselmo** <br> BE | ERD 설계, AI 및 배치 서버 인프라 및 CI/CD 구축, <br> 추천 AI 모델 구현, 배치 기능(데이터 로드) 구축, <br> 공연 기능, 공연 및 티켓 추천 기능 | | ||
|
|
||
|
|
||
| ## 🏛️ 아키텍처 | ||
|  | ||
|
|
||
| ### PWA | ||
| - 개발 및 유지보수 비용 절감 | ||
| - 사용자가 홈 화면에 추가하여 앱처럼 활용 가능 | ||
| - 네이티브 앱과 유사한 사용성과 빠른 로딩 속도 제공 | ||
| - 플랫폼 제약 없이 다양한 환경에서 동일한 사용자 경험 제공 | ||
| - 추후 웹 푸시 알림, 백그라운드 동작 등 기능 확장이 용이 | ||
|
|
||
| ### 보안 고려 사항 | ||
| - JWT를 활용한 인증/인가 | ||
| - SSL 보안 계층을 활용한 토큰 암호화 (HTTPS, ALB 설치) | ||
| - CSRF / XSS 공격에 대비한 토큰 저장 분리 (Local storage, HTTP-only Cookie) | ||
| - Nginx를 활용한 actuator와 같은 민감 정보 deny | ||
| - Spring Security를 활용한 철저한 Auth 검사 및 uri 접근 조정 | ||
| - Kakao OAuth2.0을 활용한 인증/인가 기능 간편화 | ||
| - docker 네트워크를 활용하여 spring 서버나, prometheus같은 인스턴스 포트 매핑x (Endpoint 단일화) | ||
|
|
||
| ### 추천 시스템 로직 | ||
|
|
||
| - Collaborative Filtering & Cosine Similarity 기반 추천시스템 | ||
| 1. 각 Concert는 AI가 추출해준 키워드 값에 대해 0 ~ 1 사이의 값을 가짐 | ||
| 2. 유저도 마찬가지로 온보딩에서 등록한 취향 정보로 부터 모든 키워드 값에 대해 0 ~ 1사이 값을 가짐 | ||
| 3. Concerts, Users CSV파일을 통해서 Cosine Similarity와 Collaborative Filtering을 통한 유사도 계산 후 추천 진행 | ||
|
|
||
| ### 메인 서버 | ||
| - 서비스의 주요 로직을 처리하는 서버 | ||
| - Grafana와 Prometheus에 기반한 모니터링 시스템 구축 | ||
| - Nginx를 통한 리버스 프록시 설정 | ||
|
|
||
| ### AI 서버 | ||
|
|
||
| - 공연 성격 분석이나, 유저 성격 분석, OCR을 처리하는 서버 | ||
| - OCR 및 공연 성격 정보 추출은 NCP의 AI 서비스를 활용 | ||
| - 추천 시스템의 경우 직접 Collaborative Filtering Model 구현 | ||
|
|
||
| ### 배치 서버 | ||
|
|
||
| - KOPIS 시스템으로부터 공연 정보를 주기적으로 업데이트하는 서버(한달에 1번) | ||
| - KOPIS에서 데이터를 받아올때마다 AI서버에 학습 요청 | ||
|
|
||
| # ⭐️ Frontend | ||
|
|
||
| #### 배포 URL https://claco-client.vercel.app/ | ||
| * * * | ||
|
|
||
| ## 💻 Technology | ||
| *   | ||
| *   | ||
| *   | ||
| *    | ||
|
|
||
|
|
||
| ## 🧸 기술 스택 선정 이유 | ||
|
|
||
| | 기술 스택 | 설명 | | ||
| |-----------|------| | ||
| | React | React는 가장 핵심 요소인 Virtual Dom을 이용하여 불필요한 화면 갱신을 최소화합니다. 이를 통해, 성능 향상을 시킬 수 있으며 빠른 렌더링을 지원합니다. React는 컴포넌트 기반 아키텍처를 채택하고 있으며, UI 요소들을 컴포넌트로 분리하여 개발하고 조합하는 방식으로 구성할 수 있습니다. 따라서, 컴포넌트의 재사용성을 용이하게 하며, 코드 수정 및 유지·보수에 효율적이기에 React를 사용하게 되었습니다. | | ||
| | TypeScript | 정적 타입 언어로서 코드의 안정성을 높이고 협업을 용이하게 하며, 생산성 접근 파일 단계에서 오류를 사전에 발견하여 런타임 오류를 방지할 수 있습니다. 또한, 코드 힌트와 자동 완성을 제공해 개발 생산성을 향상시킬 수 있어 TypeScript를 선정했습니다. | | ||
| | Zustand | 간결하고 직관적인 상태 관리 방식과 최소한의 보일러플레이트로 유연성을 제공하며, 상태 변경 시에만 컴포넌트를 렌더링하여 불필요한 렌더링을 최소화하고 성능 향상에 도움이 됩니다. | | ||
| | Yarn | 빠른 속도와 높은 신뢰성을 바탕으로 안정적인 JavaScript 패키지 관리를 지원하며, 보안성 강화 기능을 제공하여 효율적인 프로젝트 관리가 가능합니다. | | ||
| | TailwindCSS | 개발의 편의성 HTML과 CSS 파일을 별도로 개발 및 관리할 필요가 없기 때문에 개발하기에 편리하고, 팀핑하는 각 태그의 클래스명을 고민할 시간을 절약할 수 있어 빠른 개발이 가능합니다. | | ||
| | shadcn/ui | TailwindCSS와의 긴밀한 통합으로 빠르고 일관된 스타일링이 가능하며, 높은 확장성과 유연한 커스터마이징 기능을 통해 프로젝트 요구사항에 맞는 UI를 효율적으로 구현할 수 있습니다. | | ||
| | Tanstack-Query | 효율적인 데이터 페칭과 관리를 제공하며, 데이터 캐싱 기능을 통해 불필요한 요청을 줄여 성능 최적화와 네트워크 비용 절감이 가능합니다. | | ||
| | Vercel | 깃 저장소와 통합되어 코드 변경 사항을 자동으로 감지하고, 푸시할 때마다 자동 배포를 지원하여 효율적이고 간편하게 웹사이트를 배포할 수 있습니다. | | ||
| | PWA | 웹 기술 기반으로 다양한 플랫폼에서 동작하고, 앱 스토어 없이 홈 화면에 추가할 수 있어 접근성과 편의성이 뛰어나며, 개발 비용 절감과 빠른 배포가 가능합니다. | | ||
|
|
||
| ## 🗂️ Naming Rules | ||
| * 폴더명 - `PascalCase` | ||
| * 파일명 - `PascalCase` | ||
| * 타입, 유틸함수 등 - `camelCase` | ||
| * 상수 - `UpperCase` | ||
|
|
||
| ## 📄 Commit Convension | ||
| 커밋 메시지는 `태그: 커밋 메시지` 형식으로 작성 (ex. git commit -m "feat: 카카오 로그인 기능 구현") | ||
|
|
||
| 📌Type | ||
|
|
||
| | 태그명 | commit 규칙 | | ||
| |----------|--------------| | ||
| | 🔗 feat | 새로운 기능 개발 | | ||
| | 🛠 fix | UI,UX 및 코드 수정 | | ||
| | 🎨 style | CSS 스타일링 및 퍼블리싱 작업 | | ||
| | 📄 docs | 문서 작업(REANME.md 등) | | ||
| | 📘 test | 배포 테스트, QA 테스팅 관련 | | ||
| | 🧰 refactor | 코드 리팩토링 | | ||
| | 🔧 rename | 폴더 혹은 파일명 변경 | | ||
| | ✂️ remove | 파일 삭제 | | ||
|
|
||
| ## 🍀 Issue Template | ||
| * `기능 개발 관련 Issue Template` | ||
| ### 이슈 설명☀️ | ||
| 이슈에 관한 설명 | ||
|
|
||
| ### TO-DO📒 | ||
| - [ ] 할 일 1 | ||
|
|
||
| ### 기타🍀 | ||
|
|
||
| * `버그 수정 관련 Issue Template` | ||
| ### 에러 설명🚦 | ||
| 무슨 에러인지 설명! | ||
|
|
||
| ### 환경⚙️ | ||
| 특정 기기에서만 발생하는 에러라면 디바이스 종류, 브라우저 종류 등! | ||
|
|
||
| ### 재현 방법🧿 | ||
| 어떻게 재현하는지 설명! | ||
|
|
||
| ### 에러 화면📸 | ||
| 스크린샷 or GIF 등.. | ||
|
|
||
| ## 🍀 Pull Request Template | ||
| * 관련 이슈 | ||
| * 기존 코드에 영향을 미치는 작업 사항 | ||
| * 기존 코드에 영향을 미치지 않는 작업 사항 | ||
| * 작업 내용 스크린 샷 | ||
| * 리뷰어에게 공유할 내용 | ||
| * 추후 작업할 내용 | ||
| * main (develop) 브랜치 pull 여부 확인 | ||
|
|
||
| ## 🌊 Git Flow | ||
| | 브랜치 명 | 역할 | | ||
| |----------|--------------| | ||
| | main | 최종 배포될 서비스의 브랜치 | | ||
| | develop | 개발 브랜치, 해당 브랜치에서 분기를 파 작업 후 merge | | ||
| | feature | 기능 개발 브랜치 | | ||
| | hotfix | main 브랜치 배포 후 긴급 수정 사항 발생 시 사용하는 브랜치 | | ||
|
|
||
|
|
||
| # 🔥 Backend | ||
|
|
||
| ## 💻 개발 환경 | ||
| > Language: ```Java 17``` <br> | ||
| > Framework: ```Spring Boot 3.3.4``` <br> | ||
| > Database: ```MySQL 8.x``` <br> | ||
| > ORM: ```JPA(Hibernate)``` <br> | ||
| > CI/CD: ```Github Actions``` <br> | ||
| > Cloud Platform: ```AWS(EC2, ALB, ACM), GCP(SQL)``` <br> | ||
| > Test DB: ```testcontainer``` | ||
|
|
||
| ## ⚙️ 개발 프로세스 | ||
| - ```TDD (테스트 주도 개발)``` : 구문 커버지리 (Statement coverage) 기준 80%를 목표로 수행 | ||
| - ```Agile (애자일 프로세스)``` : 1주 단위 스프린트 수행 | ||
| - ```Github Flow 전략``` : 초기 개발 과정에서 불필요한 브랜치 관리를 피하고, 빠른 배포를 위한 전략 선택 | ||
| - ```CI/CD 파이프라인을 통한 배포 자동화``` : 서비스 개발이 50% 완료된 시점에서 구축하여 배포 자동화 | ||
|
|
||
| ## 💫 TDD 결과 | ||
| - Service는 단위 테스트, Repository는 통합 테스트 진행 | ||
| - ```testcontainer```를 활용하여 데이터베이스 멱등성 보장 | ||
| - 테스트 코드 커버리지 측정 툴: ```IntelliJ``` <br> | ||
|
|
||
|  | ||
| - summary | ||
| - statement coverage 기준: 88% | ||
| - branch coverage: 54.8% | ||
| - class coverage: 100% | ||
| - method coverage: 96.7% | ||
|
|
||
| ## 💫 부하 테스트 결과 | ||
| - 사용 인스턴스 유형: ```t2.large (ram 8GB)``` | ||
| - 부하 테스트 측정 툴: ```Jmeter``` | ||
|
|
||
|  | ||
| - summary | ||
| - 도메인별 주요 api 평균 50.3 Throughput | ||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
| ## 🔄 FlowChart of AI & Batch Server | ||
|  | ||
|
|
||
| ## 📁 ERD | ||
|  | ||
|
|
||
| - 카테고리에서 연관 관계 설정을 통해 관계형 데이터베이스 활용 | ||
| - AI 서비스 학습을 위한 soft delete 활용 | ||
|
|
||
| ## 🛠️ CI/CD pipeline | ||
|  | ||
| 1. PR 이벤트 발생 시 CI 실행 (테스트 포함) | ||
| 2. approve 및 CI 성공 시 merge 가능 | ||
| 3. merge 이벤트 발생 시 CI 스크립트 수행 | ||
| 4. CI 스크립트 성공 시 CD 스크립트 수행 | ||
| 5. Docker 이미지 docker hub에 push | ||
| 6. SSH로 AWS EC2 연결 | ||
| 7. docker hub에서 이미지 pull | ||
| 8. dokcer-compose를 활용해 서비스 실행 및 도커 네트워크 구축 |
This file contains hidden or 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,5 @@ | ||
| #!/bin/sh | ||
| cd ../ | ||
| mkdir output | ||
| cp -R ./claco-client/* ./output | ||
| cp -R ./output ./claco-client/ |
This file contains hidden or 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,20 @@ | ||
| { | ||
| "$schema": "https://ui.shadcn.com/schema.json", | ||
| "style": "new-york", | ||
| "rsc": false, | ||
| "tsx": true, | ||
| "tailwind": { | ||
| "config": "tailwind.config.js", | ||
| "css": "src/globals.css", | ||
| "baseColor": "neutral", | ||
| "cssVariables": true, | ||
| "prefix": "" | ||
| }, | ||
| "aliases": { | ||
| "components": "@/components", | ||
| "utils": "@/lib/utils", | ||
| "ui": "@/components/ui", | ||
| "lib": "@/lib", | ||
| "hooks": "@/hooks" | ||
| } | ||
| } |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
최신 버전을 이용하지 않으신 이유가 있나요?