Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
5b3dc6a
๐ŸŽจ ํ”„๋ฆฌํ‹ฐ์–ด ๋ณ€๊ฒฝ ๋ฐ ์ฝ”๋“œ ํฌ๋งท ์ ์šฉ
yoonmallang22 Jul 9, 2025
25222b7
โž• ํŒจํ‚ค์ง€ ์ถ”๊ฐ€
yoonmallang22 Jul 9, 2025
9768888
๐Ÿ”ง ๊ฒฝ๋กœ ๋ณ„์นญ ์„ค์ •
yoonmallang22 Jul 9, 2025
7f6f58f
๐Ÿฑ ํฐํŠธ, ์•„์ด์ฝ˜ ํŒŒ์ผ ์ถ”๊ฐ€
yoonmallang22 Jul 9, 2025
4e91c3f
๐Ÿ’„ ์ „์—ญ ์Šคํƒ€์ผ ํŒŒ์ผ ์ถ”๊ฐ€
yoonmallang22 Jul 9, 2025
80127f3
๐Ÿ“ ๋ฆฌ๋“œ๋ฏธ ์ˆ˜์ •
yoonmallang22 Jul 9, 2025
ed374e3
๐Ÿ”ง ํ’€๋ฆฌํ€˜์ŠคํŠธ ํ…œํ”Œ๋ฆฟ ์ถ”๊ฐ€
yoonmallang22 Jul 9, 2025
347cb5a
โž• axios ์ถ”๊ฐ€
yoonmallang22 Jul 15, 2025
c3eadf0
โœจ Icon ์ปดํฌ๋„ŒํŠธ ์ถ”๊ฐ€
yoonmallang22 Jul 15, 2025
049d4e7
โœจ ๋กœ๊ทธ์ธ, ํšŒ์›๊ฐ€์ž… input ์ปดํฌ๋„ŒํŠธ ์ถ”๊ฐ€
yoonmallang22 Jul 15, 2025
bd4f43f
โœจ Button ์ปดํฌ๋„ŒํŠธ ์ถ”๊ฐ€
yoonmallang22 Jul 15, 2025
dfcd510
โœจ Modal ์ปดํฌ๋„ŒํŠธ ๋ฐ ํ›… ์ถ”๊ฐ€
yoonmallang22 Jul 15, 2025
a8201fe
๐Ÿ”ง axios ์ธ์Šคํ„ด์Šค ์„ค์ • ์ถ”๊ฐ€
yoonmallang22 Jul 15, 2025
82e5f6a
โœจ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์ถ”๊ฐ€
yoonmallang22 Jul 15, 2025
4bf4054
โœจ ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€ ์ถ”๊ฐ€
yoonmallang22 Jul 15, 2025
8e74704
โœจ ๋ผ์šฐํ„ฐ ์„ค์ •
yoonmallang22 Jul 15, 2025
e033175
Merge pull request #3 from MatchingFit/1-feat-๋กœ๊ทธ์ธ-ํšŒ์›๊ฐ€์ž…
yoonmallang22 Jul 16, 2025
42075a9
โž• zustand ์ถ”๊ฐ€
yoonmallang22 Jul 17, 2025
1b98dd5
โœจ zustand ์Šคํ† ์–ด ์ถ”๊ฐ€: accessToken, user ์ƒํƒœ ๊ด€๋ฆฌ
yoonmallang22 Jul 17, 2025
3fc02d7
๐Ÿ”ง axios ํ† ํฐ ์ธํ„ฐ์…‰ํ„ฐ ์„ค์ •
yoonmallang22 Jul 17, 2025
9335d03
โœจ ๋กœ๊ทธ์ธ ์œ ์ง€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
yoonmallang22 Jul 17, 2025
c607488
โœจ ํ† ํฐ ์ €์žฅ ๋ฐ ์œ ์ € ์ •๋ณด ์š”์ฒญ/์ €์žฅ
yoonmallang22 Jul 17, 2025
209e31c
โœจ Loader ์ปดํฌ๋„ŒํŠธ ์ถ”๊ฐ€
yoonmallang22 Jul 17, 2025
ff1b6de
โœจ Header ์ปดํฌ๋„ŒํŠธ ์ถ”๊ฐ€
yoonmallang22 Jul 18, 2025
90cb02e
โœจ App ๋ ˆ์ด์•„์›ƒ์— ํ—ค๋” ์ถ”๊ฐ€
yoonmallang22 Jul 18, 2025
cc87c07
๐Ÿฑ ๋กœ๊ณ  ์ด๋ฏธ์ง€ ์ถ”๊ฐ€ ๋ฐ ์•„์ด์ฝ˜ ์ถ”๊ฐ€
yoonmallang22 Jul 18, 2025
440ebc4
Merge pull request #5 from MatchingFit/1-feat-๋กœ๊ทธ์ธ-ํšŒ์›๊ฐ€์ž…
yoonmallang22 Jul 18, 2025
1962f7a
โœจ ์ด๋ ฅ์„œ ์—…๋กœ๋“œ ํŽ˜์ด์ง€ ์ถ”๊ฐ€
yoonmallang22 Jul 21, 2025
1844956
โœจ ์ด๋ ฅ์„œ ๋ถ„์„ ๋กœ๋”ฉ ํŽ˜์ด์ง€ ์ถ”๊ฐ€
yoonmallang22 Jul 21, 2025
46a8962
๐Ÿ”ง axios form ์ธ์Šคํ„ด์Šค ์„ค์ • ์ถ”๊ฐ€
yoonmallang22 Jul 21, 2025
874c595
๐Ÿšง ์ด๋ ฅ์„œ ๋ถ„์„ ๊ฒฐ๊ณผ ํŽ˜์ด์ง€ ์ž‘์—… ์ค‘
yoonmallang22 Jul 21, 2025
479dd1d
โœจ ์ด๋ ฅ์„œ ๋ถ„์„ ๋ผ์šฐํ„ฐ ์„ค์ •
yoonmallang22 Jul 21, 2025
06f33de
Merge pull request #6 from MatchingFit/2-feat-์ด๋ ฅ์„œ-์—…๋กœ๋“œ
yoonmallang22 Jul 23, 2025
8e7a97e
๐Ÿ”ง favicon ์ถ”๊ฐ€
yoonmallang22 Jul 24, 2025
c1e43f1
โœจ HR ๋‹ด๋‹น์ž ์„ฑํ–ฅ ํ…Œ์ŠคํŠธ ๋งํฌ ์ถ”๊ฐ€
yoonmallang22 Jul 24, 2025
9285e6b
โœจ HR ๋‹ด๋‹น์ž ์„ฑํ–ฅ ํ…Œ์ŠคํŠธ ๋ผ์šฐํ„ฐ ์„ค์ •
yoonmallang22 Jul 24, 2025
044a183
๐Ÿ’„ ์œ„์น˜ ๋ฐ ์—ฌ๋ฐฑ ์ˆ˜์ •
yoonmallang22 Jul 25, 2025
8c57dae
โ™ป๏ธ main ํƒœ๊ทธ ๋ฐ”๊นฅ์œผ๋กœ ๋ชจ๋‹ฌ ์œ„์น˜ ์ˆ˜์ •
yoonmallang22 Jul 25, 2025
62d103f
โž• jspdf, html2canvas ์ถ”๊ฐ€
yoonmallang22 Jul 25, 2025
96e6ed3
โœจ pdf ๋‹ค์šด๋กœ๋“œ ์ถ”๊ฐ€
yoonmallang22 Jul 25, 2025
03c6901
โž• recharts ์ถ”๊ฐ€
yoonmallang22 Jul 26, 2025
f6a262a
โœจ ์—ญ๋Ÿ‰ radar chart ์ถ”๊ฐ€
yoonmallang22 Jul 26, 2025
4aa7477
๐Ÿ› radar chart ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ˆ˜์ •
yoonmallang22 Jul 26, 2025
dba333c
โ™ป๏ธ ๋ถˆํ•„์š”ํ•œ location.state ์ œ๊ฑฐ ํ›„ store์—์„œ ์œ ์ € ์ด๋ฆ„ ์กฐํšŒ
yoonmallang22 Jul 27, 2025
8782bd1
โœจ ์ด๋ ฅ์„œ ๋ถ„์„ ๊ฒฐ๊ณผ API ์—ฐ๊ฒฐ ์™„์„ฑ
yoonmallang22 Jul 29, 2025
f168675
โ™ป๏ธ PDF ๋‹ค์šด๋กœ๋“œ ์œ ํ‹ธ ํ•จ์ˆ˜๋กœ ๋ถ„๋ฆฌ
yoonmallang22 Jul 29, 2025
9b70939
๐Ÿ’„ ํŒŒ์‹ฑ ๋ฐฉ์‹ ์ˆ˜์ •
yoonmallang22 Jul 29, 2025
372e4bc
Merge pull request #10 from MatchingFit/8-feat-์ด๋ ฅ์„œ-๋ถ„์„-๊ฒฐ๊ณผ-ํŽ˜์ด์ง€
yoonmallang22 Jul 29, 2025
79b4637
โœจ radar chart ์ปดํฌ๋„ŒํŠธ ์ถ”๊ฐ€
yoonmallang22 Jul 30, 2025
49e8f94
โœจ ๊ฒฐ๊ณผ ๋ณด๊ณ ์„œ pdf ์„œ๋ฒ„ ์—…๋กœ๋“œ
yoonmallang22 Jul 30, 2025
396f77c
โœจ HR ๋‹ด๋‹น์ž ์„ฑํ–ฅ ํ…Œ์ŠคํŠธ ์‹œ์ž‘ ํŽ˜์ด์ง€
yoonmallang22 Jul 31, 2025
598f068
โœจ HR ๋‹ด๋‹น์ž ์„ฑํ–ฅ ํ…Œ์ŠคํŠธ ํ€ด์ฆˆ ํŽ˜์ด์ง€
yoonmallang22 Jul 31, 2025
3f18cce
โœจ ํ…Œ์ŠคํŠธ ์งˆ๋ฌธ ๊ด€๋ จ ์ƒ์ˆ˜ ์ถ”๊ฐ€
yoonmallang22 Jul 31, 2025
1c5f8d5
โœจ HR ๋‹ด๋‹น์ž ์„ฑํ–ฅ ํ…Œ์ŠคํŠธ ๋กœ๋”ฉ ํŽ˜์ด์ง€
yoonmallang22 Jul 31, 2025
a1648c1
โœจ HR ๋‹ด๋‹น์ž ์„ฑํ–ฅ ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ ํŽ˜์ด์ง€
yoonmallang22 Jul 31, 2025
a1db15a
๐Ÿ’„ ์œ„์น˜ ๋ฐ ์—ฌ๋ฐฑ ์ˆ˜์ •
yoonmallang22 Jul 25, 2025
2176c59
โ™ป๏ธ main ํƒœ๊ทธ ๋ฐ”๊นฅ์œผ๋กœ ๋ชจ๋‹ฌ ์œ„์น˜ ์ˆ˜์ •
yoonmallang22 Jul 25, 2025
644771f
โž• jspdf, html2canvas ์ถ”๊ฐ€
yoonmallang22 Jul 25, 2025
66e7659
โœจ pdf ๋‹ค์šด๋กœ๋“œ ์ถ”๊ฐ€
yoonmallang22 Jul 25, 2025
5463665
โž• recharts ์ถ”๊ฐ€
yoonmallang22 Jul 26, 2025
7fa542d
โœจ ์—ญ๋Ÿ‰ radar chart ์ถ”๊ฐ€
yoonmallang22 Jul 26, 2025
52e482e
๐Ÿ› radar chart ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ˆ˜์ •
yoonmallang22 Jul 26, 2025
5f59db1
โ™ป๏ธ ๋ถˆํ•„์š”ํ•œ location.state ์ œ๊ฑฐ ํ›„ store์—์„œ ์œ ์ € ์ด๋ฆ„ ์กฐํšŒ
yoonmallang22 Jul 27, 2025
bd2c128
โœจ ์ด๋ ฅ์„œ ๋ถ„์„ ๊ฒฐ๊ณผ API ์—ฐ๊ฒฐ ์™„์„ฑ
yoonmallang22 Jul 29, 2025
e006593
โ™ป๏ธ PDF ๋‹ค์šด๋กœ๋“œ ์œ ํ‹ธ ํ•จ์ˆ˜๋กœ ๋ถ„๋ฆฌ
yoonmallang22 Jul 29, 2025
ec8a0c9
๐Ÿ’„ ํŒŒ์‹ฑ ๋ฐฉ์‹ ์ˆ˜์ •
yoonmallang22 Jul 29, 2025
f046324
โ™ป๏ธ ์งˆ๋ฌธ ๋ฐ ์„ ํƒ์ง€ ์ „๋ฉด ์ˆ˜์ •, ์ ์ˆ˜ ๊ณ„์‚ฐ ๋กœ์ง ์ˆ˜์ •
yoonmallang22 Aug 4, 2025
4965366
โœจ HR ๋‹ด๋‹น์ž ์„ฑํ–ฅ ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ ๋งค์นญ ์ด๋ ฅ์„œ ์ถ”๊ฐ€
yoonmallang22 Aug 4, 2025
71cbc2f
Merge pull request #12 from MatchingFit/7-feat-hr-๋‹ด๋‹น์ž-์„ฑํ–ฅ-ํ…Œ์ŠคํŠธ-ํŽ˜์ด์ง€
yoonmallang22 Aug 4, 2025
e8cf485
โ™ป๏ธ setTimeout ๋Œ€์‹  requestAnimationFrame์œผ๋กœ PDF ์—…๋กœ๋“œ ํŠธ๋ฆฌ๊ฑฐ ์ตœ์ ํ™”
yoonmallang22 Aug 5, 2025
6712f48
โ™ป๏ธ API ์‘๋‹ต ํ˜•์‹ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ๋กœ์ง ์ˆ˜์ •
yoonmallang22 Aug 5, 2025
b1faeb2
Merge pull request #11 from MatchingFit/8-feat-์ด๋ ฅ์„œ-๋ถ„์„-๊ฒฐ๊ณผ-ํŽ˜์ด์ง€
yoonmallang22 Aug 5, 2025
d7a8897
๐Ÿ”ง .dockerignore ์ถ”๊ฐ€
yoonmallang22 Aug 6, 2025
8a6d7f7
๐Ÿš€ GitHub Actions CI/CD ์›Œํฌํ”Œ๋กœ์šฐ ์ถ”๊ฐ€
yoonmallang22 Aug 6, 2025
a090241
Merge branch 'main' into develop
yoonmallang22 Aug 6, 2025
d684aca
๐Ÿ› pnpm ์„ค์น˜ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ
yoonmallang22 Aug 6, 2025
b03bacb
๐Ÿ› pnpm ์„ค์น˜ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ
yoonmallang22 Aug 6, 2025
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
4 changes: 4 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
node_modules
dist
.git
*.log
2 changes: 1 addition & 1 deletion .eslintrc.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,4 @@ module.exports = {
// ์—ฌ๊ธฐ์— ํ•„์š” ์‹œ ์ถ”๊ฐ€ ๊ทœ์น™ ์„ค์ •
'react/react-in-jsx-scope': 'off', // React 17+ JSX ์ž๋™ ์„ค์ •
},
}
};
19 changes: 11 additions & 8 deletions .github/ISSUE_TEMPLATE/โ™ป๏ธrefactor.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
---
name: "โ™ป๏ธrefactor"
name: 'โ™ป๏ธrefactor'
about: Refactoring ์ž‘์—… ์‚ฌํ•ญ์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.
title: "โ™ป๏ธ[refactor] "
title: 'โ™ป๏ธ[refactor] '
labels: refactor
assignees: ''

---

## ๐Ÿ“Œ Description
## ๐Ÿ“Œ Description

์ด์Šˆ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.

## โœ… Todo
์ˆ˜ํ–‰ํ•  ์ž‘์—… ๋ชฉ๋ก์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์˜ˆ:
- [ ] todo1
## โœ… Todo

์ˆ˜ํ–‰ํ•  ์ž‘์—… ๋ชฉ๋ก์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์˜ˆ:

- [ ] todo1
- [ ] ํ•„์š”ํ•œ ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”.

## ๐Ÿ“Ž ETC
## ๐Ÿ“Ž ETC

๊ธฐํƒ€ ๋…ผ์˜ํ•  ์‚ฌํ•ญ์ด๋‚˜ ์ฐธ๊ณ ํ•  ๋‚ด์šฉ์ด ์žˆ๋‹ค๋ฉด ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.
14 changes: 8 additions & 6 deletions .github/ISSUE_TEMPLATE/โœจfeat.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
---
name: "โœจfeat"
name: 'โœจfeat'
about: Feature ์ž‘์—… ์‚ฌํ•ญ์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.
title: "โœจ[feat] "
title: 'โœจ[feat] '
labels: feat
assignees: ''

---

## Description ๐Ÿ“
## Description ๐Ÿ“

์ด์Šˆ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.

## Todo โœ…
## Todo โœ…

- [ ] todo1

## ETC ๐Ÿ”
## ETC ๐Ÿ”

๊ธฐํƒ€ ์ด์Šˆ์‚ฌํ•ญ์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.
33 changes: 20 additions & 13 deletions .github/ISSUE_TEMPLATE/๐Ÿ›fix.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,30 +4,37 @@ about: Bug ๋ฐœ์ƒ ์‹œ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.
title: "\U0001F41B[fix] "
labels: bug
assignees: ''

---

## Problem
## Problem

๋ฌด์Šจ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

## Reproduction
๋ฒ„๊ทธ ์žฌํ˜„ ๋ฐฉ๋ฒ•์„ ์ž์„ธํžˆ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
## Reproduction

๋ฒ„๊ทธ ์žฌํ˜„ ๋ฐฉ๋ฒ•์„ ์ž์„ธํžˆ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

## Screenshot
์ดํ•ด๋ฅผ ๋•๊ธฐ ์œ„ํ•œ ์Šคํฌ๋ฆฐ์ƒท์„ ์ฒจ๋ถ€ํ•ด์ฃผ์„ธ์š”.
## Screenshot

์ดํ•ด๋ฅผ ๋•๊ธฐ ์œ„ํ•œ ์Šคํฌ๋ฆฐ์ƒท์„ ์ฒจ๋ถ€ํ•ด์ฃผ์„ธ์š”.

## Expected Behavior

## Expected Behavior
๋ฒ„๊ทธ๊ฐ€ ์—†์—ˆ์„ ๋•Œ ์–ด๋–ค ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์™”์–ด์•ผ ํ•˜๋Š”์ง€ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

## Log
์—๋Ÿฌ ๋กœ๊ทธ๊ฐ€ ์žˆ๋‹ค๋ฉด ์•„๋ž˜์— ์ฒจ๋ถ€ํ•ด์ฃผ์„ธ์š”.
## Log

์—๋Ÿฌ ๋กœ๊ทธ๊ฐ€ ์žˆ๋‹ค๋ฉด ์•„๋ž˜์— ์ฒจ๋ถ€ํ•ด์ฃผ์„ธ์š”.

## Browser

์–ด๋–ค ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‚˜์š”?

## Browser
์–ด๋–ค ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‚˜์š”?
- [ ] Chrome
- [ ] Firefox
- [ ] Chrome
- [ ] Firefox
- [ ] ๊ธฐํƒ€: (์ง์ ‘ ์ž…๋ ฅ)
24 changes: 16 additions & 8 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,19 @@
3. ์ƒˆ๋กœ์šด ๋ชจ๋“ˆ ์„ค์น˜์‹œ PR message์— ๊ธฐ์žฌํ•  ๊ฒƒ.
4. PR ์˜ฌ๋ฆฌ๊ธฐ์ „์— branch ๋ฐ˜๋“œ์‹œ ํ™•์ธํ•  ๊ฒƒ.
-->
## ๊ฐœ์š” <!-- PR๋‚ด์šฉ์— ๋Œ€ํ•ด ์ถ•์•ฝํ•ด์„œ ์ ์–ด์ฃผ์„ธ์š”. -->
-
## ์ž‘์—…์‚ฌํ•ญ <!-- PR๋‚ด์šฉ์— ๋Œ€ํ•ด ์ƒ์„ธ์„ค๋ช…์ด ํ•„์š”ํ•˜๋‹ค๋ฉด ์ด ๋ถ€๋ถ„์— ๊ธฐ์žฌ ํ•ด์ฃผ์„ธ์š”. -->
-
## ๋ณ€๊ฒฝ๋กœ์ง <!-- ๊ณ ์นœ ์‚ฌํ•ญ์„ ์ ์–ด์ฃผ์„ธ์š”. ์žฌPR ์‹œ์—๋งŒ ์‚ฌ์šฉํ•ด ์ฃผ์„ธ์š”! (์žฌPR ์•„๋‹Œ ๊ฒฝ์šฐ ์‚ญ์ œ) -->
-
## Issue ๋ฒˆํ˜ธ <!-- issue number์„ link ์‹œ์ผœ์ฃผ์„ธ์š” (ex. "- close #3333") -->
-

## ๊ฐœ์š” <!-- PR๋‚ด์šฉ์— ๋Œ€ํ•ด ์ถ•์•ฝํ•ด์„œ ์ ์–ด์ฃผ์„ธ์š”. -->

-

## ์ž‘์—…์‚ฌํ•ญ <!-- PR๋‚ด์šฉ์— ๋Œ€ํ•ด ์ƒ์„ธ์„ค๋ช…์ด ํ•„์š”ํ•˜๋‹ค๋ฉด ์ด ๋ถ€๋ถ„์— ๊ธฐ์žฌ ํ•ด์ฃผ์„ธ์š”. -->

-

## ๋ณ€๊ฒฝ๋กœ์ง <!-- ๊ณ ์นœ ์‚ฌํ•ญ์„ ์ ์–ด์ฃผ์„ธ์š”. ์žฌPR ์‹œ์—๋งŒ ์‚ฌ์šฉํ•ด ์ฃผ์„ธ์š”! (์žฌPR ์•„๋‹Œ ๊ฒฝ์šฐ ์‚ญ์ œ) -->

-

## Issue ๋ฒˆํ˜ธ <!-- issue number์„ link ์‹œ์ผœ์ฃผ์„ธ์š” (ex. "- close #3333") -->

-
58 changes: 58 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: Deploy to Cloud Run with Docker

on:
push:
branches: [main]
pull_request:
branches: [main]

jobs:
deploy:
name: Build & Deploy
runs-on: ubuntu-latest

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

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '18'

- name: Install pnpm
uses: pnpm/action-setup@v2
with:
version: 10

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Build Vite app
run: pnpm run build

- name: Set up Docker
uses: docker/setup-buildx-action@v2

- name: Authenticate to Google Cloud
uses: google-github-actions/auth@v2
with:
credentials_json: ${{ secrets.GCP_SA_KEY }}

- name: Set up gcloud CLI
uses: google-github-actions/setup-gcloud@v2

- name: Configure Docker for GCR
run: gcloud auth configure-docker --quiet

- name: Build and Push Docker image
run: |
docker buildx build --platform linux/amd64 -f dockerfile_frontend -t gcr.io/${{ secrets.GCP_PROJECT }}/${{ secrets.GCP_RUN_SERVICE }} --push .

- name: Deploy to Cloud Run
run: |
gcloud run deploy ${{ secrets.GCP_RUN_SERVICE }} \
--image gcr.io/${{ secrets.GCP_PROJECT }}/${{ secrets.GCP_RUN_SERVICE }} \
--region ${{ secrets.GCP_REGION }} \
--platform managed \
--allow-unauthenticated
2 changes: 1 addition & 1 deletion .prettierrc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"singleQuote": true,
"semi": false,
"semi": true,
"trailingComma": "all",
"printWidth": 80,
"tabWidth": 2,
Expand Down
70 changes: 1 addition & 69 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,69 +1 @@
# 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) uses [Babel](https://babeljs.io/) for Fast Refresh
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/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:

```js
export default tseslint.config([
globalIgnores(['dist']),
{
files: ['**/*.{ts,tsx}'],
extends: [
// Other configs...

// Remove tseslint.configs.recommended and replace with this
...tseslint.configs.recommendedTypeChecked,
// Alternatively, use this for stricter rules
...tseslint.configs.strictTypeChecked,
// Optionally, add this for stylistic rules
...tseslint.configs.stylisticTypeChecked,

// Other configs...
],
languageOptions: {
parserOptions: {
project: ['./tsconfig.node.json', './tsconfig.app.json'],
tsconfigRootDir: import.meta.dirname,
},
// other options...
},
},
])
```

You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:

```js
// eslint.config.js
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'

export default tseslint.config([
globalIgnores(['dist']),
{
files: ['**/*.{ts,tsx}'],
extends: [
// Other configs...
// Enable lint rules for React
reactX.configs['recommended-typescript'],
// Enable lint rules for React DOM
reactDom.configs.recommended,
],
languageOptions: {
parserOptions: {
project: ['./tsconfig.node.json', './tsconfig.app.json'],
tsconfigRootDir: import.meta.dirname,
},
// other options...
},
},
])
```
# ๋งค์นญํ•
14 changes: 7 additions & 7 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import js from '@eslint/js'
import globals from 'globals'
import reactHooks from 'eslint-plugin-react-hooks'
import reactRefresh from 'eslint-plugin-react-refresh'
import tseslint from 'typescript-eslint'
import { globalIgnores } from 'eslint/config'
import js from '@eslint/js';
import globals from 'globals';
import reactHooks from 'eslint-plugin-react-hooks';
import reactRefresh from 'eslint-plugin-react-refresh';
import tseslint from 'typescript-eslint';
import { globalIgnores } from 'eslint/config';

export default tseslint.config([
globalIgnores(['dist']),
Expand All @@ -20,4 +20,4 @@ export default tseslint.config([
globals: globals.browser,
},
},
])
]);
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<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="/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>๋งค์นญํ•</title>
</head>
Expand Down
14 changes: 13 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,25 @@
"preview": "vite preview"
},
"dependencies": {
"axios": "^1.10.0",
"html2canvas": "^1.4.1",
"jspdf": "^3.0.1",
"react": "^19.1.0",
"react-dom": "^19.1.0"
"react-dom": "^19.1.0",
"react-modal": "^3.16.3",
"react-router-dom": "^7.6.3",
"recharts": "^3.1.0",
"zustand": "^5.0.6"
},
"devDependencies": {
"@eslint/js": "^9.29.0",
"@types/html2canvas": "^1.0.0",
"@types/jspdf": "^2.0.0",
"@types/node": "^24.0.10",
"@types/react": "^19.1.8",
"@types/react-dom": "^19.1.6",
"@types/react-modal": "^3.16.3",
"@types/react-router-dom": "^5.3.3",
"@typescript-eslint/eslint-plugin": "^8.35.1",
"@typescript-eslint/parser": "^8.35.1",
"@vitejs/plugin-react": "^4.5.2",
Expand Down
Loading