Skip to content
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

[Master] 11주차 코드 Master 에 병합 #90

Merged
merged 210 commits into from
Nov 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
210 commits
Select commit Hold shift + click to select a range
98a7c1a
Feat: Mock video 추가
hyunaeri Nov 11, 2024
7a7671f
Refactor: useFetchShorts 변경
hyunaeri Nov 11, 2024
7fe864a
Refactor: ShortsCard 컴포넌트 변경
hyunaeri Nov 11, 2024
7b549f9
Feat: CommentsContainer 컴포넌트 구현
hyunaeri Nov 11, 2024
b41216e
Refactor: 쇼츠 시청 페이지 로직 변경
hyunaeri Nov 11, 2024
455b2aa
Feat: Mocking API 를 위한 ViewShortsHandler 작성
hyunaeri Nov 11, 2024
5d5ad3a
Refactor: CommentsContainer 컴포넌트 변경
hyunaeri Nov 11, 2024
e5c671e
Feat: CommentsList 를 가져오는 hooks 작성
hyunaeri Nov 11, 2024
93eb3e5
Feat: Mocking API 를 위한 FetchCommentsHandler 작성
hyunaeri Nov 11, 2024
0fd0148
Refactor: DOM 에러 해결
hyunaeri Nov 11, 2024
4971aaa
Style: 쇼츠 카드 및 그리드 스타일 코드 변경
hyunaeri Nov 11, 2024
4b8c640
Style: 메인 페이지 스타일 코드 변경
hyunaeri Nov 11, 2024
b3a8660
Feat: react-scroll 라이브러리 설치
hyunaeri Nov 11, 2024
37feb63
Feat: react-scroll 을 이용한 사이드바 스크롤링 구현
hyunaeri Nov 11, 2024
4d8132c
Refactor: CommentContainer 컴포넌트 수정
hyunaeri Nov 11, 2024
52fbbe7
Feat: useCreateComment hook 작성
hyunaeri Nov 11, 2024
65801e3
Feat: Mocking API 를 위한 PostCommentsHandler 작성
hyunaeri Nov 11, 2024
f8ba3d7
fix: 오타 수정
KimKyuHoi Nov 12, 2024
c30be57
Merge branch 'week11' into Feature/mocking
hyunaeri Nov 12, 2024
0062f27
Merge: 페이지 별 MSW 연결 및 디자인 수정
hyunaeri Nov 12, 2024
5c3967a
Rename: 파일 경로 변경
hyunaeri Nov 12, 2024
9a0a001
Chore: 오타 수정
hyunaeri Nov 12, 2024
12e5f38
Merge: mock 파일 경로 변경 및 오타 수정
hyunaeri Nov 12, 2024
c53e1a8
chore: 경로 수정 및 추가
KimKyuHoi Nov 12, 2024
37cebd0
fix: instance 수정
KimKyuHoi Nov 12, 2024
cf67800
feat: google 소셜 로그인 callback api 구현 및 리다이렉트 페이지 구현
KimKyuHoi Nov 12, 2024
31f9d52
feat: 로그인 이후 새 사용자 일 경우 추가정보 입력 api 구현 및 api 사용
KimKyuHoi Nov 12, 2024
6fc3d92
feat: 자기정보 데이터 api 받아오기 구현 및 헤더 적용
KimKyuHoi Nov 12, 2024
9dbf88a
feat: 로그아웃 구현
KimKyuHoi Nov 12, 2024
508128f
feat: useQuery 추가
KimKyuHoi Nov 12, 2024
742681b
feat: 경로 수정 및 axios -> query 수정
KimKyuHoi Nov 12, 2024
7a1b8b7
feat: 코드 모듈화 및 카카오톡 링크나 인스타 링크를 통해 로그인 할 경우 chrome외부 링크로 이동할 수 있도록 구현
KimKyuHoi Nov 12, 2024
0edd8bd
feat: 코드 모듈화 및 토큰 재발급 구현
KimKyuHoi Nov 12, 2024
0325769
Merge branch 'week11' into Feat/api-login
KimKyuHoi Nov 12, 2024
4080e66
Merge pull request #78 from kakao-tech-campus-2nd-step3/Feat/api-login
KimKyuHoi Nov 12, 2024
54dc205
chore: dependency 업데이트
KimKyuHoi Nov 12, 2024
4d1d521
fix: redirect 로직 수정
KimKyuHoi Nov 12, 2024
b7d0a77
remove: jest 환경 제거
KimKyuHoi Nov 13, 2024
a163fdf
env: vitest환경세팅 구현
KimKyuHoi Nov 13, 2024
925da12
Merge pull request #80 from kakao-tech-campus-2nd-step3/env/vitest
KimKyuHoi Nov 13, 2024
d85ee05
Rename: 특정 영상 불러오기 API
hyunaeri Nov 13, 2024
39c2d4c
Rename: 댓글 조회 및 생성 API
hyunaeri Nov 13, 2024
8ef799a
Feat: 댓글 수정 및 삭제 API 구현
hyunaeri Nov 13, 2024
0fccf54
Refactor: ShortsGrid 리팩토링
hyunaeri Nov 13, 2024
c05f73d
Chore: 사용하지 않는 Import 제거
hyunaeri Nov 13, 2024
a66dac6
Chore: 카테고리 별 영상 불러오기 액세스 토큰 삭제
hyunaeri Nov 13, 2024
908f335
Refactor: 쇼츠 시청 페이지 리팩토링
hyunaeri Nov 13, 2024
df7c23a
Feat: ShortsCardProps 추가
hyunaeri Nov 13, 2024
3512405
Feat: useComments 커스텀 훅 작성
hyunaeri Nov 13, 2024
019c436
Feat: 댓글 수정 및 삭제 기능 추가
hyunaeri Nov 13, 2024
464d68e
Refactor: 댓글 수정 핸들링 로직 수정
hyunaeri Nov 13, 2024
9c34452
Feat: Mocking API 를 이용하여 댓글 수정 및 삭제 검증
hyunaeri Nov 13, 2024
c8b6d5d
chore: keyword field 주석 처리
KimKyuHoi Nov 13, 2024
487ab09
feat: 새로고침 방지 공용 훅 구현
KimKyuHoi Nov 13, 2024
3f4bc24
feat: fetch 프로필 데이터 추가
KimKyuHoi Nov 13, 2024
2ba8f3d
feat: 자동화 페이지 이동시 Initial state 초기화 제거
KimKyuHoi Nov 13, 2024
9b4a5a7
feat: 화면 이동시에도 state유지 구현
KimKyuHoi Nov 13, 2024
da95977
fix: value값 수정
KimKyuHoi Nov 13, 2024
137446f
feat: 버튼 추가 및 finalview에서 Initial 추가 구현
KimKyuHoi Nov 13, 2024
a80ea9e
chore: 필요없는 코드 제거
KimKyuHoi Nov 13, 2024
a8fd566
Refactor: Comments 하위 컴포넌트로 분할
hyunaeri Nov 13, 2024
d69e105
Feat: useComment 커스텀 훅 작성
hyunaeri Nov 13, 2024
1e378fd
Feat: CommentsContainer 컴포넌트 구현
hyunaeri Nov 13, 2024
7758c50
Feat: CommentItem 컴포넌트 구현
hyunaeri Nov 13, 2024
4531f6d
Chore: Comment 속성 변경
hyunaeri Nov 13, 2024
d3b5759
Chore: ShortsVideoProps 속성 변경
hyunaeri Nov 13, 2024
1649119
Chore: 바뀐 속성 이름 적용
hyunaeri Nov 13, 2024
214a53e
Chore: spy 속성 제거
hyunaeri Nov 13, 2024
6759fa7
Chore: 댓글 관련 API 들 일부 수정
hyunaeri Nov 13, 2024
688c739
Refactor: 외부 인터페이스 가져오기
hyunaeri Nov 13, 2024
9a753f0
Chore: 명세에 맞게 이름 일부 수정
hyunaeri Nov 13, 2024
900b4c1
Chore: Camel → Snake 케이스로 변경
hyunaeri Nov 13, 2024
83264da
Chore: 라벨 이름 추가
hyunaeri Nov 13, 2024
65af65f
fix: reissue 수정
KimKyuHoi Nov 13, 2024
0d7e5d6
fix: instance api 로직 수정
KimKyuHoi Nov 13, 2024
45e6ecc
feat: fast api instance 구현
KimKyuHoi Nov 13, 2024
e090bd0
chore: instance 모듈화
KimKyuHoi Nov 13, 2024
553a25e
feat: fast api url 설정
KimKyuHoi Nov 13, 2024
4b3ddb3
chore: keywords fields 로그 및 파일 제거
KimKyuHoi Nov 13, 2024
8bd2d97
feat: 데이터 전송 폼 api 구현 및 해당 전송 request값 수정
KimKyuHoi Nov 13, 2024
71cfd23
feat: polling api 구현 및 데이터 수정
KimKyuHoi Nov 13, 2024
e53e1f5
Merge pull request #82 from kakao-tech-campus-2nd-step3/feat/api-auto
KimKyuHoi Nov 13, 2024
c4e3acd
chore: shadcn 경로 수정
KimKyuHoi Nov 14, 2024
5428bf2
feat: 공용 컴포넌트 구현
KimKyuHoi Nov 14, 2024
ed232c3
feat: with Credential 값 추가
KimKyuHoi Nov 14, 2024
816d40a
design: css 애니메이션 추가
KimKyuHoi Nov 14, 2024
9bce471
chore: 코드 모듈화
KimKyuHoi Nov 14, 2024
3eacf91
design: progress bar애니메이션 추가 및 skeleton 추가
KimKyuHoi Nov 14, 2024
2c40f93
remove: 새로고침 막는 코드 제거
KimKyuHoi Nov 14, 2024
c37bd1f
fix: 경로 수정 및 버그 수정
KimKyuHoi Nov 14, 2024
004e490
feat: select-highlight api 구현
KimKyuHoi Nov 14, 2024
6981b9d
chore: 코드 공용화
KimKyuHoi Nov 14, 2024
5331054
feat: polling할떄 3초 -> 8초
KimKyuHoi Nov 14, 2024
c604ca3
feat: 툴팁 추가
KimKyuHoi Nov 14, 2024
b9521a7
chore: consol.log 주석처리
KimKyuHoi Nov 14, 2024
4cc07d3
feat: task_id가 있을 경우 api가 불러오도록 구현
KimKyuHoi Nov 14, 2024
dc4a665
feat: 새로고침 막기 다시 재 구현
KimKyuHoi Nov 14, 2024
0fad80a
env: 배포 test및 파일 작성
KimKyuHoi Nov 14, 2024
ca9ea6d
env: 브랜치명 변경
KimKyuHoi Nov 14, 2024
c838490
fix: eslint수정
KimKyuHoi Nov 14, 2024
198b6fc
fix: eslint수정
KimKyuHoi Nov 14, 2024
01198ee
fix: eslint 수정 ver호환성 이슈
KimKyuHoi Nov 14, 2024
b2dc893
fix: eslint 버전 다운그레이드 및 수정
KimKyuHoi Nov 14, 2024
a996a24
fix: pnpm 및 deploy.yml 파일수정
KimKyuHoi Nov 14, 2024
3159415
fix: eslint 수정 밎 정상화
KimKyuHoi Nov 14, 2024
966296d
fix: eslint 수정
KimKyuHoi Nov 14, 2024
e29f69f
feat: shorts vide 구현
KimKyuHoi Nov 14, 2024
20a9d94
feat: 영상이 변환완료후 다른 페이지로 이동시 경고 표시 구현
KimKyuHoi Nov 14, 2024
b73a681
feat: final state 이후 페이지 변환시 새로고침 막기 구현
KimKyuHoi Nov 14, 2024
200dce2
feat: video 추출 및 하이라이트 api 구현
KimKyuHoi Nov 14, 2024
18a4670
feat: 코드 모듈화 및 api 구현
KimKyuHoi Nov 14, 2024
c570483
feat: shorts 데이터를 받아온 후 데이터를 추출할 때 임시 구현
KimKyuHoi Nov 14, 2024
59d4229
chore: 파일 주석처리
KimKyuHoi Nov 14, 2024
86ecfd9
fix: ts-config수정
KimKyuHoi Nov 14, 2024
f7a2fa7
fix: 이미지 경로 수정
KimKyuHoi Nov 14, 2024
9699b6c
Chore: 디버깅용 코드 제거
hyunaeri Nov 14, 2024
5ad33f4
Feat: 내 정보 가져오기 API
hyunaeri Nov 14, 2024
8d30f53
Feat: 내 정보 수정하기 API
hyunaeri Nov 14, 2024
5724f7d
Chore: 명세에 맞게 일부 수정
hyunaeri Nov 14, 2024
8f12f52
Feat: 로그인 확인 로직 추가 및 에러 핸들링
hyunaeri Nov 14, 2024
2e9037d
Fix: 엔터 키 때문에 2회 Post 되던 버그 수정
hyunaeri Nov 14, 2024
94dbd53
Feat: 내 정보 수정 API 로직 추가
hyunaeri Nov 14, 2024
f4a3d7b
Feat: 더미 데이터
hyunaeri Nov 14, 2024
cb65801
Chore: 잘못된 스키마 일부 수정
hyunaeri Nov 14, 2024
b88f1ca
Feat: 댓글 불러오기 API 에 refetch 추가
hyunaeri Nov 14, 2024
a9c3c74
Feat: 좋아요 로직 추가
hyunaeri Nov 14, 2024
c1b7269
Feat: 영상 좋아요 API
hyunaeri Nov 14, 2024
64aecd0
remove: cloudfront 제거
KimKyuHoi Nov 14, 2024
70f44a2
env: pnpm deploy.yml파일 수정
KimKyuHoi Nov 14, 2024
833532c
Feat: 내 정보 수정 페이지에 내 정보 현황 추가
hyunaeri Nov 14, 2024
6987bdc
Style: 디스플레이 컴포넌트 스타일 수정
hyunaeri Nov 14, 2024
ad288dc
Fix: 좋아요를 무한정 누를 수 있었던 버그 수정
hyunaeri Nov 14, 2024
1cc0f3a
Style: 스타일 수정
hyunaeri Nov 14, 2024
5566e88
chore: zustand 제거
KimKyuHoi Nov 14, 2024
5d51b66
fix: dto 수정
KimKyuHoi Nov 14, 2024
4e9c957
env: deploy 수정
KimKyuHoi Nov 14, 2024
318b482
Fix: 프로필 사진이 보이지 않던 문제 해결
hyunaeri Nov 14, 2024
20857e4
Merge: 특정 영상 불러오기 / 댓글 / 내 정보 수정 API 연결
hyunaeri Nov 14, 2024
886b147
Fix: 간헐적으로 프로필 사진이 사라지는 문제 해결
hyunaeri Nov 14, 2024
3bef0c1
Rename: 특정 영상 불러오기 API
hyunaeri Nov 13, 2024
44d62e4
Rename: 댓글 조회 및 생성 API
hyunaeri Nov 13, 2024
73b87a1
Feat: 댓글 수정 및 삭제 API 구현
hyunaeri Nov 13, 2024
f9915a6
Refactor: ShortsGrid 리팩토링
hyunaeri Nov 13, 2024
ba300d8
Chore: 카테고리 별 영상 불러오기 액세스 토큰 삭제
hyunaeri Nov 13, 2024
a796ba2
Refactor: 쇼츠 시청 페이지 리팩토링
hyunaeri Nov 13, 2024
5d42577
Feat: ShortsCardProps 추가
hyunaeri Nov 13, 2024
dba811e
Feat: useComments 커스텀 훅 작성
hyunaeri Nov 13, 2024
d5ebe3b
Feat: 댓글 수정 및 삭제 기능 추가
hyunaeri Nov 13, 2024
2da216a
Refactor: 댓글 수정 핸들링 로직 수정
hyunaeri Nov 13, 2024
08cec6e
Feat: Mocking API 를 이용하여 댓글 수정 및 삭제 검증
hyunaeri Nov 13, 2024
832f4e7
Refactor: Comments 하위 컴포넌트로 분할
hyunaeri Nov 13, 2024
ccae81c
Feat: useComment 커스텀 훅 작성
hyunaeri Nov 13, 2024
424b3b7
Feat: CommentsContainer 컴포넌트 구현
hyunaeri Nov 13, 2024
972b875
Feat: CommentItem 컴포넌트 구현
hyunaeri Nov 13, 2024
02a394d
Chore: Comment 속성 변경
hyunaeri Nov 13, 2024
f459fcb
Chore: ShortsVideoProps 속성 변경
hyunaeri Nov 13, 2024
fda6d78
Chore: 바뀐 속성 이름 적용
hyunaeri Nov 13, 2024
e4f21af
Chore: spy 속성 제거
hyunaeri Nov 13, 2024
0593825
Chore: 댓글 관련 API 들 일부 수정
hyunaeri Nov 13, 2024
8fc27a7
Refactor: 외부 인터페이스 가져오기
hyunaeri Nov 13, 2024
0e81a8d
Chore: 명세에 맞게 이름 일부 수정
hyunaeri Nov 13, 2024
60910fb
Chore: Camel → Snake 케이스로 변경
hyunaeri Nov 13, 2024
05a0852
Chore: 라벨 이름 추가
hyunaeri Nov 13, 2024
0290a39
Chore: 디버깅용 코드 제거
hyunaeri Nov 14, 2024
b2eb43f
Feat: 내 정보 가져오기 API
hyunaeri Nov 14, 2024
72ac47d
Feat: 내 정보 수정하기 API
hyunaeri Nov 14, 2024
7035afc
Chore: 명세에 맞게 일부 수정
hyunaeri Nov 14, 2024
b69bb1f
Feat: 로그인 확인 로직 추가 및 에러 핸들링
hyunaeri Nov 14, 2024
153a436
Fix: 엔터 키 때문에 2회 Post 되던 버그 수정
hyunaeri Nov 14, 2024
c58b95a
Feat: 내 정보 수정 API 로직 추가
hyunaeri Nov 14, 2024
18b8c60
Feat: 더미 데이터
hyunaeri Nov 14, 2024
5f345cf
Chore: 잘못된 스키마 일부 수정
hyunaeri Nov 14, 2024
e87fdd9
Feat: 댓글 불러오기 API 에 refetch 추가
hyunaeri Nov 14, 2024
028da26
Feat: 좋아요 로직 추가
hyunaeri Nov 14, 2024
a834bd3
Feat: 영상 좋아요 API
hyunaeri Nov 14, 2024
7fd5b87
Feat: 내 정보 수정 페이지에 내 정보 현황 추가
hyunaeri Nov 14, 2024
333eba6
Style: 디스플레이 컴포넌트 스타일 수정
hyunaeri Nov 14, 2024
6bbeb78
Fix: 좋아요를 무한정 누를 수 있었던 버그 수정
hyunaeri Nov 14, 2024
cd6e8db
Style: 스타일 수정
hyunaeri Nov 14, 2024
c2163fc
Fix: 프로필 사진이 보이지 않던 문제 해결
hyunaeri Nov 14, 2024
2fb8c6c
Fix: 간헐적으로 프로필 사진이 사라지는 문제 해결
hyunaeri Nov 14, 2024
8e1b9c6
fix: eslint 수정 밎 정상화
KimKyuHoi Nov 14, 2024
9f4cffe
rebase: conflict
KimKyuHoi Nov 14, 2024
2a6ff46
Merge branch 'week11' into feat/api-auto
KimKyuHoi Nov 14, 2024
0323074
Merge pull request #86 from kakao-tech-campus-2nd-step3/feat/api-auto
KimKyuHoi Nov 14, 2024
daf57f8
chore: eslint 수정
KimKyuHoi Nov 14, 2024
b68bcd4
Fix: 경로 수정 및 Polling 시간 수정
KimKyuHoi Nov 14, 2024
9b292d1
fix: type 수정
KimKyuHoi Nov 14, 2024
49654b5
fix: 타입 수정
KimKyuHoi Nov 14, 2024
6db464e
fix: mock up data Request 수정
KimKyuHoi Nov 14, 2024
c1843d1
Fix: ShortsCardProps 수정
hyunaeri Nov 14, 2024
7b1a053
Docs: README.md 작성
hyunaeri Nov 14, 2024
204efbd
Docs: 최종 README.md 작성 완료
hyunaeri Nov 15, 2024
f88c7a0
Docs: 리드미 수정
KimKyuHoi Nov 15, 2024
bc91e97
Fix: 카테고리 별 영상 5개만 불러오던 버그 수정
hyunaeri Nov 15, 2024
2028e6c
Fix: size 재조정
hyunaeri Nov 15, 2024
ce6eac8
Docs: 시스템 아키텍쳐 추가
hyunaeri Nov 15, 2024
7935d86
env: deploy파일 수정
KimKyuHoi Nov 15, 2024
be58696
fix: api 파일 이동 및 경로 수정
KimKyuHoi Nov 15, 2024
80ff785
feat: progressView 및 finalVIew 예외 상황 처리
KimKyuHoi Nov 15, 2024
4c72952
remove: 파일 제거
KimKyuHoi Nov 15, 2024
4b48694
fix: instance timeout 시간 수정
KimKyuHoi Nov 15, 2024
8845668
Feat: 파비콘 추가
hyunaeri Nov 15, 2024
76a1aa1
Chore: ShortsCardProps 수정
hyunaeri Nov 15, 2024
ed063fe
feat: index.html 파일 수정
KimKyuHoi Nov 15, 2024
a143b31
feat: 업로드 이후 화면 경로 초기화면 이동
KimKyuHoi Nov 15, 2024
0ce06ab
Merge branch 'week11' into fix/api-shorts
KimKyuHoi Nov 15, 2024
39ae5b9
Merge pull request #88 from kakao-tech-campus-2nd-step3/fix/api-shorts
KimKyuHoi Nov 15, 2024
fe227a6
Merge: 모든 페이지 API 연결 및 배포
hyunaeri Nov 15, 2024
2070283
Merge branch 'Master' into Develop
hyunaeri Nov 15, 2024
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
9 changes: 9 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
postcss.config.js
tailwind.config.js
mockServiceWorker.js
node_modules
dist
build
.storybook
storybook-static
public
64 changes: 64 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
{
"env": {
"browser": true,
"es2021": true
},
"extends": [
"plugin:prettier/recommended",
"plugin:@typescript-eslint/recommended",
"plugin:react/recommended",
"plugin:react-hooks/recommended",
"plugin:jsx-a11y/recommended",
"plugin:import/errors",
"plugin:import/warnings",
"plugin:import/typescript",
"prettier"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 2021,
"sourceType": "module",
"createDefaultProgram": true
},
"plugins": [
"@typescript-eslint",
"react",
"react-hooks",
"jsx-a11y",
"import",
"prettier"
],
"settings": {
"import/resolver": {
"typescript": {
"alwaysTryTypes": true
}
},
"react": {
"version": "detect"
}
},
"rules": {
"no-param-reassign": ["error", { "props": false }],
"@typescript-eslint/no-non-null-assertion": "off",
"@typescript-eslint/no-explicit-any": "warn",
"@typescript-eslint/no-misused-promises": "off",
"@typescript-eslint/no-floating-promises": "off",
"react/prop-types": "off",
"prettier/prettier": "error",
"react/react-in-jsx-scope": "off",
"import/no-unresolved": "off",
"@typescript-eslint/no-unused-vars": "warn",
"no-console": "off",
"arrow-body-style": "off",
"prefer-arrow-callback": "off",
"max-len": "off",
"no-mixed-operators": "off",
"no-multiple-empty-lines": "off",
"import/no-named-as-default": "off",
"jsx-a11y/heading-has-content": "off",
"jsx-a11y/media-has-caption": "off",
"@typescript-eslint/no-empty-object-type": "off",
"react/display-name": "off"
}
}
61 changes: 61 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: Deploy to Amazon S3

on:
push:
branches: ['Master']

env:
AWS_REGION: ap-northeast-2
S3_BUCKET_NAME: talkak-fe

permissions:
contents: read

jobs:
deploy:
name: Deploy
runs-on: ubuntu-latest
steps:
- name: Checkout source code.
uses: actions/checkout@v3

- name: Cache node modules
uses: actions/cache@v4
with:
path: node_modules
key: ${{ runner.OS }}-build-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.OS }}-build-
${{ runner.OS }}-

- name: Install pnpm
run: |
npm install -g pnpm

- name: Create .env file
run: |
echo "VITE_API_URL=${{ secrets.VITE_API_URL }}" >> .env
echo "VITE_FAST_API_URL=${{ secrets.VITE_FAST_API_URL }}" >> .env

- name: Install Dependencies
run: pnpm install --no-frozen-lockfile --force

- name: Lint Code
run: pnpm lint

- name: Build
run: CI='' pnpm run build

- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ env.AWS_REGION }}

- name: Upload to AWS S3
run: |
aws s3 cp \
--recursive \
--region ${AWS_REGION} \
./dist s3://${{ env.S3_BUCKET_NAME }}
66 changes: 57 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,15 +43,60 @@

## ✨ 프로젝트 소개

영상 하이라이트를 분석하여 쇼츠를 생성해주는 쇼츠 자동화 서비스
영상 하이라이트를 분석하여 쇼츠를 생성해주는 쇼츠 자동화 서비스, '딸깍'

<br>

## 💡 서비스 기획 의도

최근 영상 소비 트렌드는 짧고 핵심적인 숏폼 위주로 변하고 있습니다. 따라서 이러한 흐름이 발 맞춰, '딸깍'은 영상 편집의 진입장벽을 낮추어 누구나 손쉽게 숏폼 영상을 만들고 공유할 수 있도록 돕는 것을 목표로 하고 있습니다. 또한 공유된 서로의 영상을 시청하고 피드백을 교환할 수 있는 커뮤니티를 통해 사용자들이 상호작용하며 함께 성장할 수 있는 플랫폼을 제공합니다.

<br>

## 🔧 주요 기능

### 1. 하이라이트 추출 및 숏폼 생성

- AI 가 롱폼 영상에서 주요 장면을 분석하여 자동으로 숏폼으로 편집해주어 짧은 시간 내에 완성도 높은 컨텐츠를 제작할 수 있게 합니다.

### 2. 커뮤니티 기반 피드백

- 사용자 간 상호 컨텐츠에 대해 피드백을 교환하고, 이를 바탕으로 컨텐츠를 개선할 수 있는 커뮤니티 기능을 제공합니다.

### 3. 사용자별 추천 영상

- 각 사용자의 관심사와 영상을 분석하여, 개인에게 적합한 흥미로운 컨텐츠를 추천할 수 있도록 추천 알고리즘을 설계했습니다.

<br>

## ⚙️ 프론트엔드 개발 주안점

### 1. 컴포넌트 최적화를 위한 Lazy Loading 사용

> 어플리케이션의 성능 최적화를 위해 `Lazy Loading` 을 활용하여 컴포넌트를 동적으로 로드하는 방식을 채택했습니다. 이를 통해 초기 로딩 속도를 개선하고 사용자가 필요한 시점에만 컴포넌트를 동적으로 로드할 수 있게 설계했습니다. 특히 리소스가 많이 필요한 무거운 컴포넌트를 사용자가 접글할 때까지 로드하지 않음으로써 불필요한 리소스 낭비를 방지하고 전반적인 성능을 향상시켰습니다.


### 2. 런타임 타입 검증을 위한 React Hook Form 과 Zod의 조합

> 타입스크립트는 정적 타입 검사를 통해 컴파일 타임에 오류를 잡을 수 있지만, 런타임 타입 검증이 불가능하다는 한계를 고려했습니다. 이러한 부분을 보완하기 위해 `React Hook Form` 과 `Zod` 를 사용하여 폼 데이터의 타입을 런타임에 검증할 수 있도록 구현했습니다. Zod 를 통해 런타임에서 타입을 검증하여 코드의 안정성을 높이고, 폼 입력값의 유효성을 보장하여 사용자 경험을 개선했습니다.

### 3. 효율적인 개발 환경(DX)를 위한 조성

> 재사용성과 코드 유지보수성을 높이기 위해 공용 디자인 시스템 컴포넌트와 코드 모듈화를 진행하였습니다. 이를 통해 반복적인 UI 구성 요소를 효율적으로 관리하고, 코드 복잡도를 줄이면서도 일관된 디자인을 유지할 수 있었습니다. 이를 통해 개발 속도를 향상시키고, 향후 기능 확장이나 수정 시에도 최소한의 변경으로 손쉽게 대응할 수 있도록 했습니다.

<br>

## 🔎 시스템 아키텍쳐

![system](https://github.com/user-attachments/assets/8511d515-bb48-44d9-9456-17a33055f8eb)

<br>

## 🖥️ 배포 링크

http://talkak-fe.s3-website.ap-northeast-2.amazonaws.com
- **Frontend**: http://talkak-fe.s3-website.ap-northeast-2.amazonaws.com

http://ec2-43-202-1-31.ap-northeast-2.compute.amazonaws.com
- **Backend**: http://ec2-43-202-1-31.ap-northeast-2.compute.amazonaws.com

<br>

Expand All @@ -61,36 +106,39 @@ http://ec2-43-202-1-31.ap-northeast-2.compute.amazonaws.com

<br>

## 🤝그라운드 룰

## 🤝 그라운드 룰

[Ground Rule](https://quickest-asterisk-75d.notion.site/de33c852391d4e1599721de6136e9c3a?p=93d3274c7a8b4d159b38b16115c3ff42&pm=s)

<br>

## 📜커밋 컨벤션

## 📜 커밋 컨벤션

[Commit Convention](https://quickest-asterisk-75d.notion.site/de33c852391d4e1599721de6136e9c3a?p=17afc129cb144bfea2fc3cea94ea153d&pm=s)

<br>

## 👨‍💻코딩 컨벤션

## 👨‍💻 코딩 컨벤션

[Coding Convention](https://quickest-asterisk-75d.notion.site/de33c852391d4e1599721de6136e9c3a?p=833e57b063094194b6150558d89af6ec&pm=s)

<br>

## 📋API 명세서
## 📋 API 명세서

[API Docs](https://quickest-asterisk-75d.notion.site/de33c852391d4e1599721de6136e9c3a?p=c1164ec45e4a485284644935bdb9a29f&pm=s)

<br>

## ❎에러코드 정의서
## ❎ 에러코드 정의서

[ErrorCode Definition](https://quickest-asterisk-75d.notion.site/de33c852391d4e1599721de6136e9c3a?p=de999aae2f53421088e7edd875702089&pm=s)

<br>

## 🛠️테스트 결과 보고서
## 🛠️ 테스트 결과 보고서

[Testing Report](https://quickest-asterisk-75d.notion.site/de33c852391d4e1599721de6136e9c3a?p=1243d1ecfbac437abbffece87f8f7c8a&pm=s)
3 changes: 0 additions & 3 deletions babel.config.cjs

This file was deleted.

2 changes: 1 addition & 1 deletion components.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"aliases": {
"components": "@/components",
"utils": "@/lib/utils",
"ui": "@/components/ui",
"ui": "@/components/common",
"lib": "@/lib",
"hooks": "@/hooks"
}
Expand Down
45 changes: 0 additions & 45 deletions eslint.config.js

This file was deleted.

4 changes: 2 additions & 2 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<link rel="icon" type="image/svg+xml" href="/Logo.png" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite + React + TS</title>
<title>TALKAK</title>
</head>
<body>
<div id="root"></div>
Expand Down
17 changes: 0 additions & 17 deletions jest.config.cjs

This file was deleted.

1 change: 0 additions & 1 deletion jest.setup.cjs

This file was deleted.

Loading