Skip to content
Open
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
977 commits
Select commit Hold shift + click to select a range
52abbfa
docs:주석제거
caseBread Nov 20, 2025
a659277
refactor : 리뷰반영
caseBread Nov 20, 2025
1420e1d
Merge pull request #99 from Say-Cheeeese/fix/album-entry-api
caseBread Nov 20, 2025
8eb8a7a
fix : title 수정
caseBread Nov 20, 2025
4087c91
Merge pull request #100 from Say-Cheeeese/fix/makername-to-title
caseBread Nov 20, 2025
a32922d
fix : 4cut 다운
caseBread Nov 20, 2025
a0c7b24
fix : 중복코드제거
caseBread Nov 20, 2025
5935d75
Merge pull request #101 from Say-Cheeeese/fix/ios-download
caseBread Nov 20, 2025
179590e
fix : 4컷 og 타이틀 변경
caseBread Nov 20, 2025
ccaa510
fix : 함수모듈화
caseBread Nov 20, 2025
c0e5429
fix : header 업데이트 방법 수정
caseBread Nov 21, 2025
7053243
fix : photoId params없을때대응
caseBread Nov 21, 2025
e732cc6
fix : photoId없을때 대응
caseBread Nov 21, 2025
4251490
fix : 카카오 공유하기 수정
caseBread Nov 21, 2025
66c0f7a
feat : 사진삭제 api 연동
caseBread Nov 21, 2025
4fcf525
fix : og title에 메이커이름 -> 앨범이름
caseBread Nov 21, 2025
28006cf
Merge branch 'main' into feat/main-root-redirect
caseBread Nov 21, 2025
521fcdd
Merge pull request #93 from Say-Cheeeese/feat/main-root-redirect
caseBread Nov 21, 2025
5ee1f13
fix : 로그인 리디렉션 설정
caseBread Nov 21, 2025
17d4885
fix : 열린앨범 부분 디자인 보완
caseBread Nov 21, 2025
8f47192
fix : 총 장수 사진타입 따라 수정
caseBread Nov 21, 2025
571e98c
fix : 메인페이지 헤더디자인 수정
caseBread Nov 21, 2025
4652afe
feat: 랜딩페이지 스크롤구현
dasosann Nov 21, 2025
6c657a5
fix : 로고높이수정
caseBread Nov 21, 2025
fc86517
fix : photoBox선택시 딤처리
caseBread Nov 21, 2025
4372843
fix : 공유 시 텍스트제거
caseBread Nov 21, 2025
8e50ba3
fix : download여부 추가
caseBread Nov 21, 2025
2ac2d5f
fix : 다운로드 ui변경
caseBread Nov 21, 2025
df8cc57
feat : 다운로드 여부 photoBox에반영
caseBread Nov 21, 2025
4b1d895
fix : 닫힌앨범 썸네일 적용
caseBread Nov 21, 2025
dad1772
fix : 메이커, 나 뱃지 크기 수정
caseBread Nov 21, 2025
6176877
fix : 친구초대모달 디자인 보완
caseBread Nov 21, 2025
cb48b62
fix : pc에서 사진선택바 UI수정
caseBread Nov 21, 2025
0720dd7
fix : 사진 추가되기까지 시간 확보
caseBread Nov 21, 2025
4ce0f6f
fix : zindex 수정
caseBread Nov 21, 2025
fa3ea57
fix : 선택모드일때만 토스트띄움
caseBread Nov 21, 2025
7649b92
Merge pull request #103 from Say-Cheeeese/fix/photo-detail-header-update
caseBread Nov 21, 2025
075e339
Merge pull request #104 from Say-Cheeeese/fix/kakao-share
caseBread Nov 21, 2025
86224df
Merge pull request #105 from Say-Cheeeese/fix/og-title
caseBread Nov 21, 2025
3290b14
refactor : 리뷰반영
caseBread Nov 21, 2025
b3bf4a2
Merge pull request #106 from Say-Cheeeese/fix/design-qa-fix
caseBread Nov 21, 2025
d5eadaf
fix : 이미지 스와이프 동작 막기
caseBread Nov 21, 2025
72da912
fix : invalidate 이슈 수정
caseBread Nov 21, 2025
04eb11b
Merge pull request #107 from Say-Cheeeese/fix/invalidate-issue
caseBread Nov 21, 2025
0c6854a
feat: 랜딩 페이지 작업
dasosann Nov 21, 2025
b5347ba
Merge branch 'main' into feat/image-delete
caseBread Nov 21, 2025
b2a928e
feat : 사진삭제 api 연동
caseBread Nov 21, 2025
40375dc
feat : 카카오 리디렉션 구현
caseBread Nov 21, 2025
9c9180c
feat : redirect파람 사용
caseBread Nov 21, 2025
26d6c8e
fix : useSearchParams 대응
caseBread Nov 21, 2025
d6eb828
Merge pull request #108 from Say-Cheeeese/feat/image-delete
caseBread Nov 21, 2025
77088af
Merge pull request #109 from Say-Cheeeese/feat/login-redirect
caseBread Nov 21, 2025
10d9c30
Merge pull request #110 from Say-Cheeeese/fix/swiper-scroll-block
caseBread Nov 21, 2025
e2bc01f
fix : 로그인이슈수정
caseBread Nov 21, 2025
361f910
fix : decode추가
caseBread Nov 21, 2025
f71f4fd
feat: 랜딩페이지 완성 및 약관동의 주소 변경
dasosann Nov 21, 2025
c61f025
fix: 빌드 오류 해결
dasosann Nov 21, 2025
fc4d743
fix: 코드 리뷰반영
dasosann Nov 21, 2025
e0a20d6
feat: 랜딩 페이지 완성
dasosann Nov 21, 2025
6b313a8
fix: 버튼 겹치는 오류 해결
dasosann Nov 21, 2025
dac6934
fix: 버튼 겹치는 오류 해결
dasosann Nov 21, 2025
2dcef9e
fix: 최근 다운로드 한 사진은 선택이 안되는 문제 및 dim 처리 로직 추가
dasosann Nov 21, 2025
eec5a7a
fix: 랜딩페이지 약관 주소 변경
dasosann Nov 21, 2025
0802b49
fix : 스와이프동작수정
caseBread Nov 21, 2025
a79603a
feat: 로그 삭제
dasosann Nov 21, 2025
739e924
fix: 선택 가능하지 않을 때 사진 선택 처리 로직 수정
dasosann Nov 21, 2025
a5433b7
feat : 401 시 리디렉션될 주소 설정
caseBread Nov 21, 2025
e5828bc
fix : 리디렉션 사용성 보완
caseBread Nov 21, 2025
c8d7192
Merge pull request #115 from Say-Cheeeese/feat/kakao-redirect
caseBread Nov 21, 2025
3b185f6
fix : 수정
caseBread Nov 21, 2025
f1a3cb6
fix : 모드제거
caseBread Nov 21, 2025
cd9c8c9
Merge pull request #113 from Say-Cheeeese/fix/download-disable
caseBread Nov 21, 2025
1206975
refactor : 리뷰반영
caseBread Nov 21, 2025
de85a44
Merge pull request #114 from Say-Cheeeese/fix/photo-detail-ui
caseBread Nov 21, 2025
7e289b1
fix : ios android 분기
caseBread Nov 21, 2025
5918a5e
feat : 사진 다운 로직 추가
caseBread Nov 21, 2025
8afbf10
fix : 로직개선
caseBread Nov 21, 2025
7db2b56
Merge pull request #116 from Say-Cheeeese/fix/android
caseBread Nov 21, 2025
a4d51c8
fix: 다운로드된 사진 dim 수정
dasosann Nov 21, 2025
b60bc88
fix: 다운로드된 사진 dim 수정
dasosann Nov 21, 2025
fe931ea
fix : 다운로드 로직 주석
caseBread Nov 22, 2025
0254769
feat
caseBread Nov 22, 2025
c72a308
fix
caseBread Nov 22, 2025
2220263
Merge branch 'main' into fix/ios-download-ratio
caseBread Nov 24, 2025
e2cba20
fix : 캡쳐 해상도 높힘.
caseBread Nov 24, 2025
bdd1245
fix : 4컷 캡쳐 되도록 수정
caseBread Nov 24, 2025
9c23694
fix : 로딩UI추가
caseBread Nov 24, 2025
df87a5d
fix : 문구수정
caseBread Nov 24, 2025
6a0ecb1
fix : term
caseBread Nov 24, 2025
59ce700
fix : 말풍선 툴팁 로딩시 추가
caseBread Nov 24, 2025
c148048
fix : 딤 색 변경
caseBread Nov 24, 2025
4f43384
fix : 공유하기 수정
caseBread Nov 24, 2025
fa13458
fix : 데드코드제거
caseBread Nov 24, 2025
9dc1dc9
fix : 공유하기에 다운로드기능 제거
caseBread Nov 24, 2025
3de207a
fix : 불필요주석제거
caseBread Nov 24, 2025
affb3c0
Merge pull request #118 from Say-Cheeeese/fix/term
caseBread Nov 24, 2025
1983100
fix: 이미지 png로 변경
dasosann Nov 24, 2025
98ed8c1
fix : Tooltip 위치 수정
caseBread Nov 24, 2025
3c28dbf
refactor : 리뷰반영
caseBread Nov 24, 2025
e66a074
refactor : 리뷰반영
caseBread Nov 24, 2025
8053a23
Merge pull request #102 from Say-Cheeeese/fix/ios-download-ratio
caseBread Nov 24, 2025
c200551
Merge pull request #120 from Say-Cheeeese/fix/4cut-share
caseBread Nov 24, 2025
dd594b2
Merge pull request #119 from Say-Cheeeese/fix/image-tooltip
caseBread Nov 24, 2025
939cdcf
refactor : 편지지를 컴포넌트로 따로 뺌
caseBread Nov 24, 2025
363b208
Merge pull request #121 from Say-Cheeeese/fix/album-entry-speed
caseBread Nov 24, 2025
7dca06e
fix : 앨범초대 진입속도 향상
caseBread Nov 24, 2025
4a328c0
fix : UI수정
caseBread Nov 24, 2025
76ef155
fix : skeleton 추가
caseBread Nov 24, 2025
b2f2a9c
fix : 도메인없으면 자동으로 붙혀줌.
caseBread Nov 24, 2025
6fdc45e
Merge pull request #122 from Say-Cheeeese/fix/album-entry-speed
caseBread Nov 24, 2025
0d0728d
fix : 메타설명 추가
caseBread Nov 24, 2025
fc27103
feat : 라이트하우스 접근성, seo 개선
caseBread Nov 24, 2025
298f09e
fix: 그림자 줄임
dasosann Nov 24, 2025
b117b70
fix: 점 크기 수정
dasosann Nov 24, 2025
5cf2a07
fix: 올때 타임 존이 안와서 UTC 강제 파싱 로직 추가
dasosann Nov 24, 2025
3de6d26
fix: qa 내용 반영
dasosann Nov 24, 2025
73e32bc
feat: prettier 설정
dasosann Nov 24, 2025
9699560
feat : 초대페이지 라이트하우스 개선
caseBread Nov 24, 2025
2f0df3b
feat : 앨범진입 페이지 라이트하우스 개선
caseBread Nov 24, 2025
9ed7d73
Merge pull request #123 from Say-Cheeeese/feat/lighthouse-main
caseBread Nov 24, 2025
8a8a7f1
fix : 기본프사 주소변경
caseBread Nov 24, 2025
08e1924
Fix : 전시회 qa 내용 반영
dasosann Nov 25, 2025
a2c17ba
fix: LongButton 기본 height 56으로 변경 , 48인경우는 props로 height받음
dasosann Nov 25, 2025
a5d147c
feat : 올린사람 이름 잘 뜨게 수정
caseBread Nov 25, 2025
0ce386a
fix : 최근다운로드 로직 수정
caseBread Nov 25, 2025
3c2a4c5
fix : 다운로드 체크로직 추가
caseBread Nov 25, 2025
459af3e
fix : 앨범소멸 UI, 친구초대 UI 노출조건수정
caseBread Nov 25, 2025
b773c01
fix : 사진 삭제하기 UI 수정
caseBread Nov 25, 2025
7ffd393
fix : 링크복사 토스트 수정
caseBread Nov 25, 2025
06b7e03
fix : 사진삭제 radius 수정
caseBread Nov 25, 2025
6244707
refactor : 토스트 활용수정
caseBread Nov 25, 2025
174d772
fix : toast rounded수정
caseBread Nov 25, 2025
8c6c3c8
Merge pull request #125 from Say-Cheeeese/feat/album-detail-lighthouse
caseBread Nov 25, 2025
cef177f
feat : 앨범 채웠다는 알람 추가
caseBread Nov 25, 2025
49371d7
feat : 앨범채움 ui추가
caseBread Nov 25, 2025
4cfd650
refactor : 사진입장 페이지 path 수정
caseBread Nov 25, 2025
64b3b90
fix: LCP 개선
dasosann Nov 25, 2025
1dfd358
fix: 이미지 업로드 성공 시 애니메이션 이후 토스트메시지로 성공한 사진 개수 알림
dasosann Nov 25, 2025
d28ee2e
fix: prettier 설정
dasosann Nov 25, 2025
32fed30
fix: prettier설정
dasosann Nov 25, 2025
b37586d
fix: 중복 클릭 로직 삭제
dasosann Nov 25, 2025
1308cee
Merge branch 'main' into fix/qa-all-5
caseBread Nov 25, 2025
65f28d1
Merge pull request #127 from Say-Cheeeese/fix/qa-all-5
caseBread Nov 25, 2025
1291e71
fix: qa 수정 및 랜딩페이지 lighthouse 성능 개선
dasosann Nov 25, 2025
7982fa0
fix: 중복로직 초기화 함수로 교체
dasosann Nov 25, 2025
d22e0d3
Merge branch 'main' into fix/qa-5th-tae
dasosann Nov 25, 2025
3e41c92
feat: 이미지 업로드 시 타입에러 토스트 추가
dasosann Nov 25, 2025
a4d7ffc
fix: prettier 설정
dasosann Nov 25, 2025
3a52490
feat : 랜딩페이지 라이트하우스점수 올림
caseBread Nov 25, 2025
c9d99e5
fix: 이미지 업로드 시 에러 토스트 추가
dasosann Nov 25, 2025
354ef16
fix: refactor lighthouse
dasosann Nov 25, 2025
6ccbfa4
refactor : 스피너 컴포넌트화
caseBread Nov 26, 2025
097a743
feat : 앨범상세 스피너 추가
caseBread Nov 26, 2025
3aa0cb3
feat : tab하면 tab했다고 알려줌.
caseBread Nov 26, 2025
06b169a
fix : 사진 다운로드 순서 변경
caseBread Nov 26, 2025
890e1fd
fix : 다운로드 api 추가
caseBread Nov 26, 2025
98ec0d2
fix : 썸네일다운로드 다시 원본다운로드로 변경
caseBread Nov 26, 2025
f48cea6
feat : 여러장인경우 zip형태로 다운로드
caseBread Nov 26, 2025
af86c05
feat : 여러장다운로드
caseBread Nov 26, 2025
9d1083f
feat : downloadFile test코드추가
caseBread Nov 26, 2025
c95a64f
fix : 테스트코드작성
caseBread Nov 26, 2025
d220705
feat : test workflow 추가
caseBread Nov 26, 2025
c28d629
fix : npm to pnpm
caseBread Nov 26, 2025
a95892c
fix : pnpm버전수정
caseBread Nov 26, 2025
1815421
fix : exif테스트코드 제거
caseBread Nov 26, 2025
4303c89
Merge pull request #129 from Say-Cheeeese/fix/lighthouse
caseBread Nov 27, 2025
dba4b43
fix : Spinner 변경
caseBread Nov 27, 2025
c496df6
Merge pull request #130 from Say-Cheeeese/feat/album-skeleton
caseBread Nov 27, 2025
acda22a
Merge pull request #131 from Say-Cheeeese/fix/download-share
caseBread Nov 27, 2025
7a48cd7
Merge pull request #132 from Say-Cheeeese/fix/thumbnail-to-image
caseBread Nov 27, 2025
5513d44
fix : 리뷰반영
caseBread Nov 27, 2025
6462411
fix : 리뷰반영
caseBread Nov 27, 2025
fbd2d20
Merge pull request #133 from Say-Cheeeese/fix/android-zip
caseBread Nov 27, 2025
155c571
Merge pull request #134 from Say-Cheeeese/feat/global-test
caseBread Nov 27, 2025
b58d400
fix : 빌드에러수정
caseBread Nov 27, 2025
c0eaa80
fix : 테스트코드수정
caseBread Nov 27, 2025
eb81419
Merge pull request #135 from Say-Cheeeese/fix/build-error-spinner
caseBread Nov 27, 2025
cd2292c
fix: 기본 이미지 주소 수정
dasosann Nov 27, 2025
7fbb5c6
Merge branch 'main' into feat/onboarding-lighthouse
dasosann Nov 27, 2025
2978d80
feat: 온보딩 성능 최적화
dasosann Nov 27, 2025
a06cd90
fix: prettier
dasosann Nov 27, 2025
dde5c77
feat: aria label 추가
dasosann Nov 27, 2025
eb2da6b
fix: lighthouse 개선
dasosann Nov 27, 2025
8d98b93
fix : deploy workflow 안돌아가게 막음
caseBread Nov 27, 2025
94a5d40
fix: Spinner 컴포넌트에서 불필요한 circle 요소 제거
dasosann Nov 27, 2025
de9d46f
fix: 필요 없는 주석 삭제
dasosann Nov 27, 2025
8895c66
feat: 온보딩 lighthouse 최적화
dasosann Nov 27, 2025
0221ac9
Merge branch 'main' into feat/create-album-lighthouse
dasosann Nov 27, 2025
ddade03
fix: 사진 업로드 토스트 이모지 로딩 컴포넌트에서 처리
dasosann Nov 27, 2025
d2ca256
fix: 업로드 시각 로컬 시간으로 변경
dasosann Nov 27, 2025
fee9ea6
feat: SSR 검색 로직 보완
dasosann Nov 27, 2025
1564b6d
Merge pull request #137 from Say-Cheeeese/fix/ncp-delete
caseBread Nov 27, 2025
14036cd
feat: 콘솔 제거
dasosann Nov 27, 2025
8505fbd
feat: 사진 업로드 토스트 메시지 로직 수정 및 SEO 로직 추가
dasosann Nov 27, 2025
1847307
fix: 뒤로가기 시 main으로 이동
dasosann Nov 27, 2025
4927291
fix: 모달 active 버튼 색상 변경
dasosann Nov 27, 2025
181fa1f
fix: hover 색상변경
dasosann Nov 27, 2025
7ad2c0b
Merge branch 'fix/last-qa-tae' of https://github.com/Say-Cheeeese/FE …
dasosann Nov 27, 2025
2391990
fix : 사진상세 밑에 흰화면뜨는것수정
caseBread Nov 27, 2025
88c84d2
fix : 프사 백엔드로부터 받기
caseBread Nov 27, 2025
18afafc
fix : 앨범나가기 기능 구현
caseBread Nov 28, 2025
752573f
fix : 빌드에러수정
caseBread Nov 28, 2025
c390c3c
feat : profileImage 필드 타입추가
caseBread Nov 28, 2025
4bfd8d8
Merge branch 'fix/qa-6' into feat/album-exit
caseBread Nov 28, 2025
b14dfce
fix : 작은디바이스에서 버튼안눌리는이슈수정
caseBread Nov 28, 2025
03dd8b0
fix : 빌드에러수정
caseBread Nov 28, 2025
a1fb9a1
fix : 마퀴 ui에도 프사추가
caseBread Nov 28, 2025
e9c68e5
fix : 로그인 검사 로직 수정
caseBread Nov 28, 2025
e19eae9
fix : 사진삭제 press 시 디자인수정
caseBread Nov 28, 2025
4e541c8
fix : 4컷 사진 모든디바이스에서 동일한화질되게수정
caseBread Nov 28, 2025
4e63007
docs : 리드미추가
caseBread Nov 28, 2025
a16ad16
Merge pull request #145 from Say-Cheeeese/docs/readmemd
caseBread Nov 28, 2025
21f2059
fix : 일단 swiper가 pc에서도 잘 뜨게 수정
caseBread Nov 28, 2025
318bb24
fix: 모달 버튼 hover 및 active 색상 수정 및 온보딩 뒤로가기 리다이렉트 주소 변경
dasosann Nov 28, 2025
3eec846
Merge pull request #141 from Say-Cheeeese/fix/qa-6
caseBread Nov 28, 2025
1070ffd
fix : 토스트 아이콘 변경
caseBread Nov 28, 2025
c29bcc5
Merge pull request #142 from Say-Cheeeese/feat/album-exit
caseBread Nov 28, 2025
cda7f54
Merge pull request #143 from Say-Cheeeese/fix/invite-small-device
caseBread Nov 28, 2025
f82eff4
Merge pull request #144 from Say-Cheeeese/fix/4cut-scaleup
caseBread Nov 28, 2025
f863e2d
Merge pull request #147 from Say-Cheeeese/fix/toast-icon
caseBread Nov 28, 2025
70ed047
fix: reissue api에서 토큰 set할때 . 추가
dasosann Nov 28, 2025
ef4fa37
fix: reissue api에서 토큰 set할때 . 추가
dasosann Nov 28, 2025
09e03a7
fix: 중복 토큰 갱신 오류 해결
dasosann Nov 28, 2025
3988742
fix: 중복 토큰 갱신 오류 해결
dasosann Nov 28, 2025
3d60f48
feat: 저장 시 format 반영 및 dynamic 호출 로직 추가
dasosann Nov 28, 2025
ca37197
refactor : 온보딩 완료 페이지 lighthouse 개선
dasosann Nov 28, 2025
cfb3bb1
refactor: 폰트 효율을 위해 subset 폰트 사용
dasosann Nov 28, 2025
944a050
fix: 폰트 원래 로직으로 수정
dasosann Nov 28, 2025
9a6111e
feat: 앨범 생성 lighthouse 개선
dasosann Nov 28, 2025
e604a1a
Merge pull request #146 from Say-Cheeeese/fix/swiper-ui
caseBread Nov 28, 2025
eea2ef2
fix: 촬영 시각은 받은 시간 그대로 변환
dasosann Nov 28, 2025
855fc6b
fix: prettier
dasosann Nov 28, 2025
6ab6454
feat: 테스트 코드 추가
dasosann Nov 28, 2025
f7b10ee
Revert "fix : 사진상세 하단 swiper가 pc에서도 잘 뜨게 수정"
caseBread Nov 28, 2025
1919e18
Merge pull request #151 from Say-Cheeeese/revert-146-fix/swiper-ui
caseBread Nov 28, 2025
078c2df
fix : 시연 테스트중 발견한 이슈수정
caseBread Nov 28, 2025
b09c800
Merge pull request #152 from Say-Cheeeese/fix/last-last-qa
caseBread Nov 28, 2025
47cadcd
fix : invalidate
caseBread Nov 28, 2025
3a9958d
Merge pull request #153 from Say-Cheeeese/fix/photo-like-invalidate
caseBread Nov 28, 2025
20f12ae
fix: 촬영 시각은 받은 시간 그대로 변환
dasosann Nov 28, 2025
d0c36c1
fix: any 타입 해결
dasosann Nov 28, 2025
ad9965a
fix: 린트 에러 해결
dasosann Nov 28, 2025
bdb022a
refactor: 앨범완료 페이지 lighthouse 최적화
dasosann Nov 28, 2025
139c3d3
fix: 굳이 meta 필요없는화면이라 삭제
dasosann Nov 28, 2025
ea88c37
feat: 테스트 코드 추가
dasosann Nov 28, 2025
0b54471
refactor: lighthouse 성능개선
dasosann Nov 30, 2025
d70aed7
fix : 안정적 버전으로 변경
caseBread Dec 5, 2025
a5402a0
Merge pull request #156 from Say-Cheeeese/fix/security
caseBread Dec 5, 2025
55c44a3
feat : searchconsole추가
caseBread Jan 1, 2026
04b8d5e
Merge pull request #158 from Say-Cheeeese/feat/search-console
caseBread Jan 1, 2026
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
7 changes: 7 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Dockerfile
.dockerignore
node_modules
npm-debug.log
README.md
.next
.git
4 changes: 4 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
NEXT_PUBLIC_API_DEV_URL=https://dev.say-cheese.me
NEXT_PUBLIC_API_REAL_URL=https://api.say-cheese.me
NEXT_PUBLIC_KAKAO_AUTH_URL=https://dev.say-cheese.me/oauth2/authorization/kakao

20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Frontend Issue
about: 프론트엔드 관련 이슈 및 개발 요청 (UI/UX, 컴포넌트, 페이지 등)
title: ''
labels: ''
assignees: ''
---

## 🎯 이슈 유형

- [ ] 🐛 버그 수정
- [ ] ✨ 새 기능 개발
- [ ] 🎨 UI/UX 개선
- [ ] 📱 반응형 대응
- [ ] ⚡ 성능 최적화
- [ ] 🔧 리팩토링

## 📝 상세 설명

<!-- 이슈에 대한 구체적인 설명을 작성해주세요 -->
36 changes: 36 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
## 요약

<!-- PR내용을 간략해 요약해주세요 -->

## 구현 사항

<!-- 실제로 변경한 사항을 설명해주세요.-->

- [ ]
- [ ]
- [ ]
- [ ]

## 📸 스크린샷

<!-- 팀원들이 이해하기 쉽도록 스크린샷을 첨부해주세요. -->

## Need Review

- ~ 부분 이렇게 구현했어요, 피드백 부탁해요!
<!-- 어떤 부분에 리뷰어가 집중해야 하는지 or 해당 PR에서 논의가 필요한 사항을 적어주세요. -->

## Reference

<!-- 참고한 사이트가 있다면 링크를 공유해주세요. -->

### 📜 리뷰 규칙

Reviewer는 아래 **P5 Rule**을 참고하여 리뷰를 진행합니다.
P5 Rule을 통해 Reviewer는 Reviewee에게 리뷰의 의도를 보다 정확히 전달할 수 있습니다.

- P1: 꼭 반영해주세요 (Comment)
- P2: 적극적으로 고려해주세요 (Comment)
- P3: 웬만하면 반영해 주세요 (Comment)
- P4: 반영해도 좋고 넘어가도 좋습니다 (Approve)
- P5: 그냥 사소한 의견입니다 (Approve)
59 changes: 59 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: deploy

on:
push:
branches: [main]

jobs:
app-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: docker/setup-buildx-action@v3

- uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_TOKEN }}

- name: Build & Push
uses: docker/build-push-action@v6
with:
context: .
file: ./Dockerfile
push: true
platforms: linux/amd64
tags: |
${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_IMAGENAME }}:${{ github.run_id }}
${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_IMAGENAME }}:latest
cache-from: type=registry,ref=${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_IMAGENAME }}:buildcache
cache-to: type=registry,ref=${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_IMAGENAME }}:buildcache,mode=max

- name: Deploy via SSH
uses: appleboy/[email protected]
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USERNAME }}
password: ${{ secrets.SSH_PASSWORD }}
port: ${{ secrets.SSH_PORT }}
script: |
set -e
APP=${{ secrets.DOCKER_IMAGENAME }}
IMAGE=${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_IMAGENAME }}:${{ github.run_id }}

docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_TOKEN }}
docker pull $IMAGE

# 기존 컨테이너 종료/삭제
docker stop ${APP} || true
docker rm ${APP} || true

# 새 컨테이너(임시 이름) 먼저 띄우고 헬스체크
docker run -d --name ${APP} \
--restart=always \
-p 3000:3000 \
$IMAGE

# 오래된 이미지 정리(선택)
docker image prune -f || true
26 changes: 26 additions & 0 deletions .github/workflows/lint-checker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Lint Checker

on:
pull_request:
types: [opened, synchronize, reopened]

jobs:
lint:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v3

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
run_install: true

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 22

- name: Run lint
run: pnpm lint
38 changes: 38 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/versions

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts
3 changes: 3 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
*.yaml
*.css
**/token.json
10 changes: 10 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"semi": true,
"singleQuote": true,
"jsxSingleQuote": true,
"trailingComma": "all",
"tabWidth": 2,
"printWidth": 80,
"endOfLine": "lf",
"plugins": ["prettier-plugin-tailwindcss"]
}
6 changes: 6 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"recommendations": [
"esbenp.prettier-vscode", // Prettier - 코드 포매터
"bradlc.vscode-tailwindcss" // Tailwind CSS IntelliSense
]
}
10 changes: 10 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"files.eol": "\n",
"files.insertFinalNewline": true,
"files.trimTrailingWhitespace": true,
"prettier.endOfLine": "lf",
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit",
"source.fixAll.eslint": "explicit"
}
}
66 changes: 66 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# syntax=docker.io/docker/dockerfile:1

FROM node:22-alpine AS base

# Install dependencies only when needed
FROM base AS deps
# Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed.
RUN apk add --no-cache libc6-compat
WORKDIR /app

# Install dependencies based on the preferred package manager
COPY package.json yarn.lock* package-lock.json* pnpm-lock.yaml* .npmrc* ./
RUN \
if [ -f yarn.lock ]; then yarn --frozen-lockfile; \
elif [ -f package-lock.json ]; then npm ci; \
elif [ -f pnpm-lock.yaml ]; then corepack enable pnpm && pnpm i --frozen-lockfile; \
else echo "Lockfile not found." && exit 1; \
fi


# Rebuild the source code only when needed
FROM base AS builder
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .

# Next.js collects completely anonymous telemetry data about general usage.
# Learn more here: https://nextjs.org/telemetry
# Uncomment the following line in case you want to disable telemetry during the build.
# ENV NEXT_TELEMETRY_DISABLED=1

RUN \
if [ -f yarn.lock ]; then yarn run build; \
elif [ -f package-lock.json ]; then npm run build; \
elif [ -f pnpm-lock.yaml ]; then corepack enable pnpm && pnpm run build; \
else echo "Lockfile not found." && exit 1; \
fi

# Production image, copy all the files and run next
FROM base AS runner
WORKDIR /app

ENV NODE_ENV=production
# Uncomment the following line in case you want to disable telemetry during runtime.
# ENV NEXT_TELEMETRY_DISABLED=1

RUN addgroup --system --gid 1001 nodejs
RUN adduser --system --uid 1001 nextjs

COPY --from=builder /app/public ./public

# Automatically leverage output traces to reduce image size
# https://nextjs.org/docs/advanced-features/output-file-tracing
COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static

USER nextjs

EXPOSE 3000

ENV PORT=3000

# server.js is created by next build from the standalone output
# https://nextjs.org/docs/pages/api-reference/config/next-config-js/output
ENV HOSTNAME="0.0.0.0"
CMD ["node", "server.js"]
38 changes: 36 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,36 @@
# FE
🧀 Kusitms 32nd Cheeeese Frontend Repository 🧀
This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).

## Getting Started

First, run the development server:

```bash
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
```

Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.

You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.

This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.

## Learn More

To learn more about Next.js, take a look at the following resources:

- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.

You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!

## Deploy on Vercel

The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.

Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
22 changes: 22 additions & 0 deletions components.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"$schema": "https://ui.shadcn.com/schema.json",
"style": "new-york",
"rsc": true,
"tsx": true,
"tailwind": {
"config": "",
"css": "src/app/globals.css",
"baseColor": "neutral",
"cssVariables": true,
"prefix": ""
},
"iconLibrary": "lucide",
"aliases": {
"components": "@/components",
"utils": "@/lib/utils",
"ui": "@/components/ui",
"lib": "@/lib",
"hooks": "@/hooks"
},
"registries": {}
}
34 changes: 34 additions & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import { FlatCompat } from '@eslint/eslintrc';
import { dirname } from 'path';
import { fileURLToPath } from 'url';

const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);

const compat = new FlatCompat({
baseDirectory: __dirname,
});

const eslintConfig = [
...compat.extends(
'next/core-web-vitals',
'next/typescript',
'plugin:prettier/recommended',
),
{
ignores: [
'node_modules/**',
'.next/**',
'out/**',
'build/**',
'next-env.d.ts',
'scripts/**',
],
rules: {
'@typescript-eslint/no-empty-object-type': 'off', // 빈 타입 객체 허용
'@next/next/no-img-element': 'off',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

@next/next/no-img-element 규칙을 비활성화하셨습니다. Next.js의 next/image 컴포넌트는 이미지 최적화(리사이징, 포맷 변환, 지연 로딩 등)를 자동으로 처리해주는 강력한 기능입니다. 이 규칙을 비활성화하면 이러한 최적화 이점을 포기하게 되는데, 특별한 이유가 있으신가요? 만약 <img> 태그를 직접 사용해야 하는 상황이 아니라면, 이 규칙을 활성화하여 next/image 사용을 권장하는 것이 성능에 도움이 될 것입니다.

},
},
];

export default eslintConfig;
Loading