Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
209 commits
Select commit Hold shift + click to select a range
5117bb9
Setting(project): 모노레포 설정 및 프로젝트 초기세팅 (#2)
constantly-dev Aug 18, 2025
ca17d9b
setting: 익스텐션 환경 설정
jllee000 Aug 18, 2025
a8e1c07
setting: 폴더 컨벤션 통일
jllee000 Aug 18, 2025
202d46d
setting: 화면 ui 세팅
jllee000 Aug 18, 2025
ec6c598
setting: popup.tsx중복코드 수정
jllee000 Aug 19, 2025
3ca2744
setting: popup.tsx중복코드 수정
jllee000 Aug 19, 2025
a7cdbd8
Merge pull request #5 from Pinback-Team/setting/#3/extension-setting
jllee000 Aug 19, 2025
9410551
[Setting] auto reviewer/assignee/label workflow 작성 (#8)
constantly-dev Aug 19, 2025
8e24ea5
[Setting] 디자인 시스템 설정 & shadcn/ui 추가 (#7)
constantly-dev Aug 19, 2025
67bb61c
chore: add pnpm-lock.yaml
constantly-dev Aug 19, 2025
5dc8aeb
Setting(project): GitHub Actions CI (lint/build) 설정 (#13)
constantly-dev Aug 20, 2025
eb7349f
Setting(design-system): storybook 설정 및 chromatic 배포 (#14)
constantly-dev Aug 21, 2025
47f880b
Setting(project): svg sprite 설정 (#15)
jjangminii Aug 21, 2025
2363eb4
Feat(design-system): toggle component 구현 (#17)
jjangminii Aug 21, 2025
3cbf52e
Feat(design-system): input 공통 컴폰넌트, 스토리북 구현 (#22)
jjangminii Aug 24, 2025
49c3959
Feat(design-system): textarea 공통 컴포넌트 구현 (#23)
jjangminii Aug 25, 2025
fc5ee9d
Feat(design-system): progress bar 구현 (#25)
jjangminii Aug 25, 2025
361c9a4
Feat(design-system): 레벨 컴포넌트 (#36)
jllee000 Aug 25, 2025
af64dee
Feat(design-system): 뱃지 컴포넌트 (#30)
jllee000 Aug 25, 2025
8b443b0
Feat(design-system): 카테고리 칩 컴포넌트 (#34)
jllee000 Aug 25, 2025
f8ae875
Setting(project): GitHub Issue template naming 변경 (#42)
constantly-dev Aug 26, 2025
4be9fd5
Feat(design-system): Button 컴포넌트 구현 (#32)
constantly-dev Aug 26, 2025
1dc8d24
Feat(design-system): Card 컴포넌트 구현 (#40)
constantly-dev Aug 26, 2025
9f36f04
Feat(design-system): toast components 구현 (#38)
jjangminii Aug 27, 2025
bb59c9d
Setting(project): router 초기 설정 (#46)
constantly-dev Aug 27, 2025
deaa027
Feat(client): Time picker 구현 (#49)
constantly-dev Sep 3, 2025
9ab7321
Feat(design-system): 팝업 공통 컴포넌트 (#39)
jllee000 Sep 3, 2025
1e370e4
Feat(client): select dropdown button 구현 (#47)
jjangminii Sep 4, 2025
16afe23
Feat(client): tree 레벨 컴포넌트 구현 (#54)
jjangminii Sep 5, 2025
1eb385c
Feat(design-system): InfoBox 컴포넌트 (#60)
jllee000 Sep 7, 2025
c50f83c
Feat(design-system): 데이트&타임 입력창 컴포넌트 (#31)
jllee000 Sep 8, 2025
de429a0
Feat(design-system): Dropdown 구현 (#61)
constantly-dev Sep 9, 2025
c792060
Feat(client): 레벨 페이지 레이아웃 (#57)
jjangminii Sep 9, 2025
c1ef3c7
Feat(client): sidebar 구현 (#52)
jjangminii Sep 10, 2025
6149315
Setting(project): axios, tanstack query 세팅 (#65)
constantly-dev Sep 10, 2025
e7e4e83
Feat(extension): 익스텐션 페이지 레이아웃 및 북마크 저장 (#64)
jllee000 Sep 10, 2025
49c5595
Setting(project): Query provider setting (#70)
constantly-dev Sep 11, 2025
6dca89e
Feat(client): 대시보드 레이아웃 구현 (#66)
constantly-dev Sep 11, 2025
c028044
Feat(client, extension): Axios interceptor 설정 (#75)
constantly-dev Sep 11, 2025
41f03f2
Api(client): Dashboard category 전체 조회 & 생성 API 연결 (#73)
constantly-dev Sep 11, 2025
ab04579
Feat: card edit modal (#68)
jjangminii Sep 11, 2025
e981d92
Api(client): arcons get api 연결 (#77)
jjangminii Sep 11, 2025
1efc42f
Feat(client): 온보딩 페이지 레이아웃 (#56)
jllee000 Sep 12, 2025
261135c
Api(client): Dashboard article 전체 조회 API 연결 (#82)
constantly-dev Sep 13, 2025
0c42048
Feat(onboarding): 온보딩 회원가입 api 연결 (#86)
jllee000 Sep 13, 2025
0432f7e
Feat(client): card edit delete (#83)
jjangminii Sep 13, 2025
d3a7096
Api(client): category 수정 연결 (#79)
jjangminii Sep 13, 2025
23bd2df
Api(client): 카테고리별 아티클 조회 API 연결 & 아티클 없는 경우 UI 분기 추가 (#91)
constantly-dev Sep 13, 2025
9709082
feat: DeleteCategory 연결 (#92)
jjangminii Sep 13, 2025
6b2416b
Api(client): 아티클 읽음 상태 변경 API 연결 (#96)
constantly-dev Sep 13, 2025
613b85b
feat: FCM 연동 및 fcm 토큰 전달 (#89)
jllee000 Sep 13, 2025
80100db
Api(extension): 익스텐션 api (수정,생성) 연결 및 페이지 구조 수정 (#80)
jllee000 Sep 13, 2025
c166ad4
Api(client): 아티클 수정 API 연결 (#97)
constantly-dev Sep 13, 2025
f7645b4
Api(client): 북마크, 리마인드 페이지 article delete 연결 (#98)
jjangminii Sep 13, 2025
000de7e
Feat(client&extension): 온보딩<->익스텐션 데이터 통신 작업 (#99)
jllee000 Sep 13, 2025
9776b53
feat: 베포 vercel 연결
jllee000 Sep 14, 2025
c40757b
feat: html 타이틀 수정
jllee000 Sep 14, 2025
7bc3afc
Feat(client, extension): firebase message & service worker 설정 (#103)
constantly-dev Sep 14, 2025
8cbc2d4
Feat(landing): landing page (#104)
jjangminii Sep 14, 2025
d237f6d
fix: vercel 강제빌드
jllee000 Sep 14, 2025
a0036da
Merge remote-tracking branch 'origin/develop' into develop
jllee000 Sep 14, 2025
bad9a53
Feat(landing): landing page 디테일 수정 (#105)
jjangminii Sep 14, 2025
3c8069e
Feat: 개발 QA 1차(재림 | 온보딩 기능 및 익스텐션 UI 쪽 수정) (#107)
jllee000 Sep 14, 2025
b923743
sp1 1차 QA 반영 (대시보드-UI관련) (#112)
constantly-dev Sep 17, 2025
0543419
Feat: 개발 QA 1차(정민 | 레벨페이지 수정) (#110)
jjangminii Sep 17, 2025
3df02a5
Feat(재림): 익스텐션, 온보딩 2차 QA (#115)
jllee000 Sep 18, 2025
f2303de
Feat: 개발 QA 1차(정민 | 카테고리 팝업 수정) (#113)
jjangminii Sep 18, 2025
be0c2a7
feat: 사이드바 카테고리 10개 제한 (#119)
jjangminii Sep 19, 2025
88b0212
feat: 리마인드시간 포맷 (#118)
jjangminii Sep 19, 2025
4f676bb
feat: 이미지 재저장후 사이즈 설정 (#125)
jjangminii Sep 19, 2025
72ed6bc
Feat: 개발 QA 1차(정민 | 랜딩페이지 디테일 수정) (#123)
jjangminii Sep 19, 2025
f1d18d4
Feat: 개발 QA 1차(정민 | 다운로드 url 변경) (#129)
jjangminii Sep 19, 2025
9327b0a
feat: 띄어쓰기 제한 (#127)
jjangminii Sep 19, 2025
ba5c56e
Feat: 개발 QA 1차(정민 | 삭제하기 모달 추가) (#121)
jjangminii Sep 19, 2025
01b4e51
sp1 1차 QA 반영 (대시보드-기능 관련) (#130)
constantly-dev Sep 19, 2025
4031b94
Feat: 그래프 길이 계산 유틸리티 추가 (#134)
jjangminii Sep 20, 2025
e0a54e8
Feat(재림): QA 반영 | 카테고리 선택 로직 및 대시보드 랜딩 수정 (#136)
jllee000 Sep 20, 2025
a2dfca1
Feat(client): QA 반영 리마인드 옵션버튼 작동 문제 해결 (#138)
jjangminii Sep 20, 2025
65a12f6
Fix(design-system): 이미지오타 수정 (#139)
jjangminii Sep 20, 2025
e634da5
Feat(client): Card meta data 반영 & 카테고리 params 동기화 (#132)
constantly-dev Sep 21, 2025
9f38993
feat: category params sync (#141)
constantly-dev Sep 21, 2025
fc7b6ba
Feat(client,landing): lotti변경 및 전송시 메타데이터 추가 (#144)
jjangminii Sep 21, 2025
30f052a
Fix(client): category article api schema 수정 & chip 컴포넌트 적용 (#145)
constantly-dev Sep 22, 2025
9fcd4c3
Feat(재림): QA 반영 | 대시보드 랜딩 및 익스텐션 팝업 추가 수정 (#148)
jllee000 Sep 22, 2025
7940692
Feat(client): 저장 관련 기능 QA 수정 반영 & 일부 fallback 처리 추가 (#149)
constantly-dev Sep 22, 2025
029d6e8
Feat(landing client): meta description 변경 (#150)
jjangminii Sep 22, 2025
1ca0e74
Fix(landing client): 중복된 코드 수정 (#152)
jjangminii Sep 22, 2025
ae83b9a
feat(client): 이미지 추가 (#154)
jjangminii Sep 25, 2025
8dfcf37
Fix(client): FCM알람 커스텀 및 api instance 수정 (#162)
jllee000 Sep 29, 2025
356dfdb
Fix(client): FCM 연동 설정 로직 수정 (#163)
jllee000 Sep 29, 2025
5b2611e
Fix(client): service-worker 경로 수정 (#164)
jllee000 Sep 29, 2025
4c01907
Fix(client): 리마인드 수정 모달 state 오류 (#156)
jjangminii Sep 29, 2025
c4a3a07
feat: remind card setInterval로 timer 기능 추가 (#160)
constantly-dev Sep 29, 2025
d08a6b4
Feat(client): article intersection observer로 infinite scroll 구현 (#158)
constantly-dev Sep 30, 2025
1f001d0
Fix/#161/fcm setting edit (#165)
jllee000 Sep 30, 2025
78cd389
Fix: 리마인드 비교기준 now 시간 UST->KST (#167)
jllee000 Oct 1, 2025
ee832c5
Fix(client): FCM 알람 커스텀 수정 (#172)
jllee000 Oct 1, 2025
1462660
Fix(client): 리마인드 시간 24시간 내에서만 카드 뜨도록 수정 (#171)
constantly-dev Oct 1, 2025
e88b58f
Feat(client): 리마인드, 북마크 페이지 tooltip 구현 (#174)
jjangminii Oct 2, 2025
c0a4aed
feat: 시간 수정 (#177)
jjangminii Oct 2, 2025
9cafc14
!HOTFIX(client): 리마인드 카드 시간 로직 변경 (#178)
constantly-dev Oct 2, 2025
eceb2ce
Fix(client): FCM 푸시 랜딩 기능 추가 (#179)
jllee000 Oct 2, 2025
a5d35f7
fix: remind page scroll 영역 수정
constantly-dev Oct 2, 2025
0f3b6c2
Fix/#161/fcm setting edit (#180)
jllee000 Oct 2, 2025
4a4c397
fix: extension popup onSuccess로 window.close 로직 이동
constantly-dev Oct 2, 2025
eb2c5a2
Merge branch 'develop' of https://github.com/Pinback-Team/pinback-cli…
constantly-dev Oct 2, 2025
1fddc75
Fix/#161/fcm setting edit (#181)
jllee000 Oct 3, 2025
09bd284
Fix/#161/fcm setting edit (#182)
jllee000 Oct 3, 2025
7c2e9be
Fix/#161/fcm setting edit (#183)
jllee000 Oct 3, 2025
3da8362
Fix/#161/fcm setting edit (#184)
jllee000 Oct 3, 2025
e48a05b
Fix/#161/fcm setting edit (#185)
jllee000 Oct 3, 2025
04cffc3
Fix/#161/fcm setting edit (#186)
jllee000 Oct 3, 2025
52d051d
Fix/#161/fcm setting edit (#187)
jllee000 Oct 3, 2025
0acacdb
Fix/#161/fcm setting edit (#188)
jllee000 Oct 3, 2025
409d613
Fix/#161/fcm setting edit (#189)
jllee000 Oct 3, 2025
cf97a29
Feat(landing): url 변경 (#191)
jjangminii Oct 8, 2025
00bb01b
Feat: GA 세팅 및 연결 (#193)
jllee000 Oct 20, 2025
fcd0805
Revert "Feat: GA 세팅 및 연결 (#193)" (#194)
jllee000 Oct 20, 2025
1e8822d
Feat: GA 작업 및 푸시 알림 랜딩 확인 (#195)
jllee000 Oct 20, 2025
d8eee85
GA 이벤트 수정
jllee000 Oct 20, 2025
716a9d5
feat: 북마크 저장 위치 수정 (#197)
jllee000 Oct 23, 2025
f080fd2
chore: bundle 시각화 라이브러리 의존 추가
constantly-dev Nov 12, 2025
cbe69ac
refactor: lazy를 통한 코드 스플리팅 리팩터링
constantly-dev Nov 12, 2025
61f2d32
chore: rollup bundle visualizer 라이브러리 추가
constantly-dev Nov 12, 2025
3b5affc
refactor: manualChunks로 번들 분리 구체화
constantly-dev Nov 12, 2025
a41e651
chore: 불필요 파일 제거
constantly-dev Nov 12, 2025
0656eef
Refactor(client): 이미지 최적화 및 코드 스플리팅 (#205)
jllee000 Nov 25, 2025
b0956c4
Refactor: 레벨페이지 이미지 개선 (#207)
jjangminii Dec 11, 2025
07f6734
Feat: goolgle login 페이지 추가 및 연결 (#204)
jjangminii Dec 15, 2025
52d5d81
Feat(client): 온보딩 final-step 수정 (#211)
jllee000 Dec 17, 2025
1e35eec
Refactor(client): loading error boundary 적용 (#214)
jjangminii Dec 22, 2025
0d81284
feat(client): 사이드바 구글 프로필 추가 (#216)
jjangminii Dec 22, 2025
aa8f931
feat(client, landing): footer 구현 (#220)
constantly-dev Dec 22, 2025
11b299e
Feat(extension): 익스텐션 ui 반영 및 바운더리 최적화 작업 (#213)
jllee000 Dec 22, 2025
bfab970
refactor: ProfilePopupPortal 컴포넌트 추가 및 Sidebar에서 사용하도록 변경 (#225)
jjangminii Dec 22, 2025
a6800bb
Fix(client): 온보딩 토큰 저장 로직 수정 (#224)
jllee000 Dec 22, 2025
d68dabe
Fix(client, extension): interceptor refresh 로직 제거 및 isRedirecting fla…
constantly-dev Dec 22, 2025
512d124
fix: Google 로그인 리디렉션 URI 설정 로직 수정 (#228)
jjangminii Dec 28, 2025
24387fe
Refactor(design-system): 이미지 재저장 (#229)
jjangminii Jan 4, 2026
2478303
Feat(client): logout시 google 로그인 view (#232)
jjangminii Jan 6, 2026
8c87deb
feat: 개인정보처리방침 뷰 구현
constantly-dev Jan 6, 2026
1f509b0
feat: policy관련 route 추가
constantly-dev Jan 6, 2026
6609629
feat: 이용약관 페이지 구현
constantly-dev Jan 6, 2026
a9783f3
fix: 충돌 해결
constantly-dev Jan 6, 2026
b2ab048
feat: sidebar hidden 분기처리 추가
constantly-dev Jan 6, 2026
04e30f6
feat: 대시보드 footer 추가
constantly-dev Jan 6, 2026
fc71948
feat: onboarding 링크 Link로 변경
constantly-dev Jan 6, 2026
8935ed5
feat: landing footer policy link 변경
constantly-dev Jan 6, 2026
8a42b58
chore: 이용약관 route 수정
constantly-dev Jan 7, 2026
2314c21
refactor: policy 관련 route 상수로 변경
constantly-dev Jan 7, 2026
f1ecd8a
design: footer padding 추가
constantly-dev Jan 7, 2026
9008384
fix: 코드리뷰 반영
constantly-dev Jan 7, 2026
9629a80
Merge pull request #233 from Pinback-Team/feat/#230/information-polic…
constantly-dev Jan 7, 2026
c689234
fix: 대소문자 변경 (#235)
jjangminii Jan 7, 2026
59b10a1
Fix: login error 및 사이드바 조건 추가 (#236)
jjangminii Jan 7, 2026
d2dfc00
fix: onboarding path 소문자로 변경 (#238)
constantly-dev Jan 7, 2026
2d76b0c
!HOTFIX: onboarding path 소문자 변경
constantly-dev Jan 7, 2026
9682f51
feat: add vercel.json (#240)
constantly-dev Jan 8, 2026
b73bdba
Fix(extension): 익스텐션 로그인 상태 분기 및 토큰 저장 로직 수정 (#242)
jllee000 Jan 8, 2026
6d7e1a1
fix: 이미지 변경 및 토큰 삭제 로직 제거 (#244)
jllee000 Jan 18, 2026
20c01c7
fix: 도메인 클라쪽 수정 (#245)
jllee000 Jan 18, 2026
fc5e3c3
fix: 로그아웃 시, 익스텐션 토큰 제거 (#246)
jllee000 Jan 18, 2026
ea43c73
!HOTFIX: 프록시 수정 (#248)
jjangminii Jan 31, 2026
9084f02
!HOTFIX: 프록시 변경 (#249)
jjangminii Feb 1, 2026
4272200
feat: 리마인드 api 업데이트 (#251)
jjangminii Feb 5, 2026
35d8786
!HOTFIX: 익스텐션 심사 전 디자인 긴급수정 및 빌드 파일 수정
jllee000 Feb 11, 2026
49c5cae
fix: 충돌 해결
constantly-dev Feb 18, 2026
6b66494
Merge pull request #199 from Pinback-Team/refactor/#198/bundle-size-o…
constantly-dev Feb 18, 2026
282d5e8
feat: checkbox component 구현
constantly-dev Feb 19, 2026
9a3a286
feat: onboarding jobStep 구현
constantly-dev Feb 19, 2026
107c0b4
feat: jobStep mainCard에 추가
constantly-dev Feb 19, 2026
b46e4e7
refactor: 제어/비제어 컴포넌트 flag 사용 리팩터링
constantly-dev Feb 19, 2026
104c8e9
chore: InputHTMLAttributes 자체 import
constantly-dev Feb 19, 2026
c8a4ff8
feat: 온보딩 스텝 별 GA 추가 (#260)
jllee000 Feb 19, 2026
0ef7e22
Feat(Client): 관심직무 페이지 라우팅 및 사이드바 추가 (#254)
jjangminii Feb 19, 2026
88232ae
refactor: label, input 연결 어트리뷰트에 useId 사용 제거
constantly-dev Feb 20, 2026
2aff72f
hotfix: google login api endpoint v3로 변경 및 uri field 추가
constantly-dev Feb 20, 2026
cadc1c3
chore: 사용하지 않는 코드 제거
constantly-dev Feb 20, 2026
7fe4555
refactor: 불필요 useMemo 제거
constantly-dev Feb 20, 2026
572f680
fix: jobs function type으로 나는 에러 해결
constantly-dev Feb 20, 2026
d2d8f41
feat: mainCard 82.6rem으로 고정하는 디자인 요청 반영
constantly-dev Feb 20, 2026
1c67694
Merge pull request #257 from Pinback-Team/feat/#256/onboarding-job-step
constantly-dev Feb 20, 2026
72fc2d9
feat: useFunnel custom hook 구현
constantly-dev Feb 21, 2026
d22d6b5
feat: mainCard useFunnel hook 적용
constantly-dev Feb 21, 2026
cb808fa
refactor: mainCard(온보딩) 도메인 종속되는 funnel 구조 useOnboardingFunnel으로 2차 추상화
constantly-dev Feb 21, 2026
5225fbb
Merge pull request #261 from Pinback-Team/feat/#258/use-funnel
constantly-dev Feb 21, 2026
17daed1
Feat(client): tooltip component 구현 (#262)
jjangminii Feb 22, 2026
8df6910
refactor: apps dev 서버 고정 port 지정 및 script 추가 (#270)
constantly-dev Feb 24, 2026
7a16378
Feat(client): 대시보드 직무 핀 선택 팝업 추가 (#266)
constantly-dev Feb 24, 2026
5ff49c2
Feat(client): 툴팁 연결 (#265)
jjangminii Feb 24, 2026
5499fe0
Feat(client): 관심 직무 페이지 구현 (#272)
constantly-dev Feb 25, 2026
a1ee533
Feat(client): 직무 조회 API 연결 (온보딩/대시보드) (#274)
constantly-dev Feb 25, 2026
5a38bab
Feat(client): 직무 선택 API 연결 (기존/신규 사용자) (#276)
constantly-dev Feb 26, 2026
6ba1d2b
Feat(client): API 경로 수정 및 코드 정리 (#281)
jjangminii Feb 26, 2026
a18dde3
Feat(client): 나의 북마크 관련 API v3로 변경 및 연결 (#278)
constantly-dev Feb 26, 2026
e100421
Feat(client): 직무 목록 조회 API 연결 (#285)
constantly-dev Feb 26, 2026
234c03f
Feat(client): 직무 아티클 주기적 업데이트 공지 로딩 추가 (#289)
constantly-dev Feb 26, 2026
ff40abc
fix: callback 리다이렉트 경로 수정
jjangminii Feb 26, 2026
3b219fa
Feat(Client): jobpin memo popup 구현 및 api 연결 (#288)
jjangminii Feb 26, 2026
9ba5c25
Feat(Client): remind aticle list 수정 (#284)
jjangminii Feb 26, 2026
ff04af0
Feat(client): job selection popup open condition change (#291)
constantly-dev Feb 28, 2026
dc4dd46
Refactor: FinalStep 컴포넌트의 이미지 크기 수정 (#293)
jjangminii Mar 1, 2026
2202acd
Feat(Client): 카테고리 수정 팝업 checkbox 추가 및 api 연결 (#279)
jjangminii Mar 1, 2026
e4584aa
Feat(client): 사이드바에 hasJob 데이터 가져오기 및 가이드 조건 수정 (#296)
jjangminii Mar 2, 2026
ebbdcef
Fix(client): 직무 아티클 무한 스크롤 중복 호출 버그 해결 (#298)
constantly-dev Mar 2, 2026
c1518e0
feat: MyBookmarkCard에서 닉네임 표시 형식 수정 (#300)
jjangminii Mar 7, 2026
67f79b1
Fix(estension): extension api v3 update및 edit error 해결 (#302)
jjangminii Mar 8, 2026
f95da05
Feat(client): onboarding api button 위치 수정 (#306)
jjangminii Mar 9, 2026
2661dd0
Feat(Client): refreshtoken update (#308)
jjangminii Mar 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
16 changes: 16 additions & 0 deletions .coderabbit.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
language: 'ko-KR'
early_access: false

reviews:
profile: 'chill'
request_changes_workflow: false
high_level_summary: true
poem: true
review_status: true
collapse_walkthrough: false
auto_review:
enabled: true
drafts: false

chat:
auto_reply: true
15 changes: 15 additions & 0 deletions .github/ISSUE_TEMPLATE/feature.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: '📌 Feat'
description: '새로운 기능 또는 명세가 있나요?'
title: '[Feat] '
labels: '📌 feat'
body:
- type: textarea
attributes:
label: Task Description
placeholder: 새로운 기능에 대한 설명을 작성해 주세요.
validations:
required: true
- type: textarea
attributes:
label: ETC
placeholder: 추가 전달 사항이 있다면 작성해 주세요.
15 changes: 15 additions & 0 deletions .github/ISSUE_TEMPLATE/fix.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: '🛠️ Fix'
description: '버그 혹은 해결해야할 문제가 생겼나요?'
title: '[Fix] '
labels: '🛠️ Fix'
body:
- type: textarea
attributes:
label: Task Description
placeholder: 버그 혹은 해결해야할 문제에 대한 설명을 작성해 주세요.
validations:
required: true
- type: textarea
attributes:
label: ETC
placeholder: 추가 전달 사항이 있다면 작성해 주세요.
15 changes: 15 additions & 0 deletions .github/ISSUE_TEMPLATE/refactor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: '🧩 Refactor'
description: '리팩터링을 해야할 부분이 있나요?'
title: '[Refactor] '
labels: '🧩 refactor'
body:
- type: textarea
attributes:
label: Task Description
placeholder: 리팩토링에 대한 설명을 작성해 주세요 (+리팩토링 이유).
validations:
required: true
- type: textarea
attributes:
label: ETC
placeholder: 추가 전달 사항이 있다면 작성해 주세요.
17 changes: 17 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
## 📌 Related Issues

> 관련된 Issue를 태그해주세요. (e.g. - close #25)

- close #

## 📄 Tasks

<!-- 해당 PR에 대한 작업 내용을 요약하여 작성해주세요. (없을 경우 section 삭제) -->

## ⭐ PR Point (To Reviewer)

<!-- 리뷰어에게 추가로 전달할 사항이 있다면 작성해주세요. (없을 경우 section 삭제) -->

## 📷 Screenshot

<!-- 작업한 내용에 대한 자료가 필요하다면 첨부해주세요. (없을 경우 section 삭제)-->
76 changes: 76 additions & 0 deletions .github/workflows/chromatic.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
name: 'Chromatic Publish'

on:
pull_request:
branches:
- develop

permissions: write-all

jobs:
storybook:
runs-on: ubuntu-latest

steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20

- name: Install PNPM
run: npm i -g pnpm

- name: Cache node modules
id: cache-node
uses: actions/cache@v3
with:
path: |
**/node_modules
key: ${{ runner.os }}-node-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-node-

- name: Install Dependencies
if: steps.cache-node.outputs.cache-hit != 'true'
run: pnpm install --frozen-lockfile

- name: Build Storybook for design system(pds)
run: pnpm --filter @pinback/design-system run build:storybook

- name: Publish to Chromatic
id: chromatic
uses: chromaui/action@latest
with:
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
workingDir: packages/design-system
buildScriptName: build:storybook
onlyChanged: true
autoAcceptChanges: true
exitOnceUploaded: true
env:
CHROMATIC_TEMP_DIR: './.chromatic-tmp'
- name: Clean storybook cache
run: rm -rf packages/design-system/node_modules/.cache/storybook

- name: Comment PR on Success
if: success() && github.event_name == 'pull_request'
uses: thollander/actions-comment-pull-request@v2
with:
comment_tag: ${{ github.event.number }}-storybook
message: |
✅ Storybook chromatic 배포 확인:
🐿️ [storybook](${{ steps.chromatic.outputs.storybookUrl }})

- name: Comment PR on Failure
if: failure() && github.event_name == 'pull_request'
uses: thollander/actions-comment-pull-request@v2
with:
comment_tag: ${{ github.event.number }}-storybook
message: |
🚨 Storybook 배포 실패
: Github Actions 로그를 확인해주세요.
52 changes: 52 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: ci

on:
push:
branches:
- main
- develop
pull_request:
branches:
- main
- develop

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

- name: Extract Node.js version from package.json
id: get_node_version
run: echo "version=$(jq -r '.engines.node' package.json)" >> $GITHUB_OUTPUT

- uses: actions/setup-node@v4
with:
node-version: ${{ steps.get_node_version.outputs.version }}

- name: Setup Pnpm
uses: pnpm/action-setup@v4

- run: pnpm install --frozen-lockfile

- name: Run ESLint
run: pnpm run lint

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

- name: Extract Node.js version from package.json
id: get_node_version
run: echo "version=$(jq -r '.engines.node' package.json)" >> $GITHUB_OUTPUT

- uses: actions/setup-node@v4
with:
node-version: ${{ steps.get_node_version.outputs.version }}

- name: Setup Pnpm
uses: pnpm/action-setup@v4

- run: pnpm install --frozen-lockfile
- run: pnpm run build
52 changes: 52 additions & 0 deletions .github/workflows/label.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Auto Labeler based on Branch Name

on:
pull_request:
types: [opened]

permissions:
pull-requests: write
issues: write

jobs:
add-label:
runs-on: ubuntu-latest
steps:
- name: Add label based on branch prefix
uses: actions/github-script@v7
with:
script: |
const labelMapping = {
'setting': 'setting',
'feat': 'feat',
'fix': 'fix',
'api': 'api',
'refactor': 'refactor',
'chore': 'chore',
'deploy': 'deploy',
'comment': 'comment',
'test': 'test',
'rename': 'rename',
'remove': 'remove',
'docs': 'docs',
};

const branchName = context.payload.pull_request.head.ref;
console.log(`Branch name is: ${branchName}`);

const branchPrefix = branchName.split('/')[0];
console.log(`Branch prefix is: ${branchPrefix}`);

const labelToAdd = labelMapping[branchPrefix];

if (labelToAdd) {
console.log(`Found matching label: ${labelToAdd}`);
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
labels: [labelToAdd]
});
} else {
console.log('No matching label found for the branch prefix.');
}
18 changes: 18 additions & 0 deletions .github/workflows/review-assign.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: auto-Assign Reviewer and Assignee

on:
pull_request:
types: [opened, ready_for_review]

permissions:
pull-requests: write
issues: write

jobs:
assign:
runs-on: ubuntu-latest
steps:
- uses: hkusu/review-assign-action@v1
with:
assignees: ${{ github.event.pull_request.user.login }}
reviewers: ${{ vars.REVIEWERS }}
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,10 @@ yarn-error.log*
# Misc
.DS_Store
*.pem

# typescript
# 증분 빌드 정보 파일
*.tsbuildinfo

*storybook.log
storybook-static
11 changes: 11 additions & 0 deletions .prettierrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/** @type {import("prettier").Config} */
module.exports = {
semi: true,
singleQuote: true,
tabWidth: 2,
trailingComma: 'es5',
printWidth: 80,
endOfLine: 'lf',
importOrder: ['^react', '^@pinback/(.*)$', '^@/(.*)$', '^[./]'],
plugins: ['prettier-plugin-tailwindcss'],
};
28 changes: 28 additions & 0 deletions .storybook/main.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import type { StorybookConfig } from '@storybook/react-vite';

import { join, dirname } from "path"

/**
* This function is used to resolve the absolute path of a package.
* It is needed in projects that use Yarn PnP or are set up within a monorepo.
*/
function getAbsolutePath(value: string): any {
return dirname(require.resolve(join(value, 'package.json')))
}
const config: StorybookConfig = {
"stories": [
"../stories/**/*.mdx",
"../stories/**/*.stories.@(js|jsx|mjs|ts|tsx)"
],
"addons": [
getAbsolutePath('@chromatic-com/storybook'),
getAbsolutePath('@storybook/addon-docs'),
getAbsolutePath("@storybook/addon-a11y"),
getAbsolutePath("@storybook/addon-vitest")
],
"framework": {
"name": getAbsolutePath('@storybook/react-vite'),
"options": {}
}
};
export default config;
21 changes: 21 additions & 0 deletions .storybook/preview.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import type { Preview } from '@storybook/react-vite';

const preview: Preview = {
parameters: {
controls: {
matchers: {
color: /(background|color)$/i,
date: /Date$/i,
},
},

a11y: {
// 'todo' - show a11y violations in the test UI only
// 'error' - fail CI on a11y violations
// 'off' - skip a11y checks entirely
test: 'todo',
},
},
};

export default preview;
7 changes: 7 additions & 0 deletions .storybook/vitest.setup.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import * as a11yAddonAnnotations from "@storybook/addon-a11y/preview";
import { setProjectAnnotations } from '@storybook/react-vite';
import * as projectAnnotations from './preview';

// This is an important step to apply the right configuration when testing your stories.
// More info at: https://storybook.js.org/docs/api/portable-stories/portable-stories-vitest#setprojectannotations
setProjectAnnotations([a11yAddonAnnotations, projectAnnotations]);
18 changes: 17 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,21 @@
{
"mode": "auto"
}
]
],
"cSpell.words": ["pinback", "PinBack", "turbopack", "turborepo", "trivago"],
"files.associations": {
"*.css": "tailwindcss"
},
"tailwindCSS.classFunctions": ["clsx", "cn", "cva", "tw"],
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit",
"source.organizeImports": "always"
},
"tailwindCSS.suggestions": true,
"editor.quickSuggestions": {
"strings": true
},
"tailwindCSS.experimental.configFile": "./packages/design-system/styles.css"
}
Loading