Skip to content

Commit

Permalink
release: v1.0.1 (#487)
Browse files Browse the repository at this point in the history
* docs: Create README.md

- ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€
- ๋Œ“๊ธ€ ๋ชจ๋“ˆ

* chore: ํ™˜๊ฒฝ์„ค์ •

- react
- webpack
- typescript
- jest, rtl
- axios
- styled-component
- storybook
- react-query
- react-router-dom
- prettier, eslint

* feat: Logo ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* feat: StartButton ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* feat: GlobalStyles ์ ์šฉ

* refactor: Logo ์‚ฌ์ด์ฆˆ ์˜ต์…˜ ์ถ”๊ฐ€

* refactor: Avatar ์‚ฌ์ด์ฆˆ ์˜ต์…˜ ์ถ”๊ฐ€

* feat: Nav ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* feat: Home ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* feat: Login ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* feat: Login ํŽ˜์ด์ง€ ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ ๋ฐ ์นด์นด์˜ค ์•ก์„ธ์Šค ํ† ํฐ ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€ ๋ผ์šฐํŒ… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ScreenContainer min-height ์„ค์ •

* chore: babel polyfiil ์‚ญ์ œ

* chore: @babel/plugin-transform-runtime ์„ค์น˜

* chore: ๋Œ“๊ธ€ ๋ชจ๋“ˆ ํ™˜๊ฒฝ์„ค์ •
- webpack
- typescript
- react
- storybook
- eslint, prettier

* ๋Œ“๊ธ€ ๋ชจ๋“ˆ UI ๊ตฌํ˜„

commit 5e11f0c6576d0046a40da584d22917865def58cc
Author: yungo1846 <[email protected]>
Date:   Fri Jul 9 18:16:20 2021 +0900

    feat: CommentArea ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

commit dc81e5ecdacb9f287764055377704ffb385207d5
Author: zereight <[email protected]>
Date:   Fri Jul 9 17:57:30 2021 +0900

    feat: CommentInput ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

commit 465d069cd41d4a53e059e640a2b859af2d19c547
Author: yungo1846 <[email protected]>
Date:   Fri Jul 9 17:20:10 2021 +0900

    feat: CommentList ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

    Co-authored-by: zereight <[email protected]>

commit 49b23d006e11f4436cc967bf5b02fb003bc04f08
Author: zereight <[email protected]>
Date:   Fri Jul 9 16:27:12 2021 +0900

    feat: CommentOption ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

    Co-authored-by: Kiyung Kim <[email protected]>

commit f235c3e168bf7e5768ce8001d481c8925d99734e
Author: yungo1846 <[email protected]>
Date:   Fri Jul 9 12:08:39 2021 +0900

    feat: Comment ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

commit cd482276720bb7f9949b42b1d7761392b34551e8
Author: yungo1846 <[email protected]>
Date:   Fri Jul 9 12:08:20 2021 +0900

    refactor: Comment ์ปดํฌ๋„ŒํŠธ ์ด๋ฆ„์„ CommentTextBox๋กœ ๋ณ€๊ฒฝ

commit 4cc09bf9485f13c1b73a4511388a95566aee6bac
Author: zereight <[email protected]>
Date:   Fri Jul 9 11:28:33 2021 +0900

    feat: Avatar ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

commit b537a6567ae21cad0d0e4fdba3c79a8da211f5ff
Author: zereight <[email protected]>
Date:   Fri Jul 9 11:26:13 2021 +0900

    feat: Comment ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

commit 1760794f21e835474684b0b4a9cf57d639f3e5e2
Author: yungo1846 <[email protected]>
Date:   Fri Jul 9 10:50:15 2021 +0900

    feat: SubmitButton ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

commit 766ce29962f7aa27f10d705bc2ab7f300f217455
Author: yungo1846 <[email protected]>
Date:   Fri Jul 9 10:39:45 2021 +0900

    feat: GlobalStyles ์ ์šฉ

    Co-authored-by: zereight <[email protected]>

* chore: ์ž˜๋ชป๋œ include ๊ฒฝ๋กœ ์ œ๊ฑฐ

* refactor: GlobalStyle๊ณผ ์ค‘๋ณต๋œ ์Šคํƒ€์ผ ์ œ๊ฑฐ

* fix: button, input์— ํฐํŠธ ์ถ”๊ฐ€

- Noto sans

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ๋ธŒ๋ผ์šฐ์ € ์ฟ ํ‚ค์— read/writeํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#56) (#57)

* feat: ์ฟ ํ‚ค read/write ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ฟ ํ‚ค๋ฅผ ๋ชป์ฐพ์€ ๊ฒฝ์šฐ null ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* feat: getTimeDifference ํ•จ์ˆ˜ ์ถ”๊ฐ€

Co-authored-by: Kiyung Kim <[email protected]>

* chore: ์›นํŒฉ์—์„œ ๋ฐ”๋ฒจ์„ค์ •์„ .babelrc๋กœ ์ถ”์ถœ

* feat: week ๋‹จ์œ„ ์ถ”๊ฐ€

* test: getTimeDifference ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: AuthenticatedRoute๋ฅผ ConditionalRoute๋กœ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€ ๋ชจ๋“ˆ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

commit 1e8b0811d7755aa2ff6a322a7e94c7a7b6b617ce
Author: yungo1846 <[email protected]>
Date:   Tue Jul 13 21:29:06 2021 +0900

    feat: ๋กœ๊ทธ์ธ ์ƒํƒœ์— ๋”ฐ๋ฅธ UI ์ƒํ˜ธ์ž‘์šฉ ์ถ”๊ฐ€

commit bf1fb4d761726d6782301e5e345ca820ef4e1094
Author: zereight <[email protected]>
Date:   Tue Jul 13 20:23:47 2021 +0900

    refactor: BASE URL ์ˆ˜์ •

    Co-authored-by: Kiyung Kim <[email protected]>

commit 10b436f367d331c7c30ed883bac571b6e0513ca0
Author: zereight <[email protected]>
Date:   Tue Jul 13 17:38:49 2021 +0900

    feat: ์„œ๋ฒ„ ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

commit 19e3e9d410b0d3f545f1aaffea1b0fa7bf1f190f
Author: zereight <[email protected]>
Date:   Tue Jul 13 16:48:18 2021 +0900

    feat: Kakao ์•ก์„ธ์„œํ† ํฐ์œผ๋กœ ์„œ๋ฒ„ ์•ก์„ธ์Šคํ† ํฐ์„ ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

commit fec56d56eb7719617b2ee3cb3b187db77f5c7c3a
Author: zereight <[email protected]>
Date:   Tue Jul 13 14:39:02 2021 +0900

    feat: kakao login ๊ธฐ๋Šฅ ์ถ”๊ฐ€

commit 6ac187b1caa5986b60bd1f3f2dc5c745a916115e
Author: zereight <[email protected]>
Date:   Tue Jul 13 13:39:40 2021 +0900

    feat: CommentPage ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ

commit d319e5d1ac38f7439bf8917a75051bfb19f47ff0
Author: yungo1846 <[email protected]>
Date:   Tue Jul 13 11:50:58 2021 +0900

    feat: media query๋กœ html font-size ์„ค์ •

    Co-authored-by: zereight <[email protected]>

commit a989720dd220e55106c11313784aca83e5773c7e
Author: yungo1846 <[email protected]>
Date:   Mon Jul 12 22:11:45 2021 +0900

    fix: UserAvatarOption์˜ style์ด ์ ์šฉ๋˜์ง€ ์•Š๋˜ ์˜ค๋ฅ˜ ์ˆ˜์ •

commit 96db22a5333c6415da9655c3fb083c18d883faa0
Author: zereight <[email protected]>
Date:   Mon Jul 12 22:00:49 2021 +0900

    feat: UserAvatarOption ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

commit 4c75177a7dfbef8efe5882ddf3632485ec32b8f8
Author: yungo1846 <[email protected]>
Date:   Mon Jul 12 18:27:16 2021 +0900

    feat: UserOption ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* test: ๋กœ๊ทธ์ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

commit da12e555763d615ebcd7d5b8cfc7193ff2e25742
Author: zereight <[email protected]>
Date:   Wed Jul 14 14:45:31 2021 +0900

    test: login ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

    Co-authored-by: Kiyung Kim <[email protected]>

commit d118f698a0b2d01b94f2544f48e42b0dabbe402e
Author: zereight <[email protected]>
Date:   Wed Jul 14 06:55:02 2021 +0900

    test: cookie ์œ ํ‹ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: ์ถ”๊ฐ€์ ์ธ ์Šคํƒ€์ผ๋ง์ด ํ•„์š”ํ•œ ์žฌ์‚ฌ์šฉ ์ปดํฌ๋„ŒํŠธ์— className ์ถ”๊ฐ€ ๋ฐ ๊ธฐ์กด wrapper์ œ๊ฑฐ

* refactor: ์‚ฌ์šฉ์ž ์ธ์ฆ์ด ํ•„์š”ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ request ํ—ค๋”์—์„œ Authorization ์ œ๊ฑฐ

* feat: query string์—์„œ url, accesstoken ์ฝ์–ด์˜ค๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

commit a91a313f44c7cfceb197704fa47a35d541f30b99
Author: zereight <[email protected]>
Date:   Thu Jul 15 09:24:53 2021 +0900

    feat: query string์—์„œ url, accesstoken ์ฝ์–ด์˜ค๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

commit 9f677bdb04a391b235d5ccfab22368758dcc1f27
Author: zereight <[email protected]>
Date:   Wed Jul 14 22:36:51 2021 +0900

    refactor: pageMaxWidth ์ œ๊ฑฐ

* feat: deploy script ์ถ”๊ฐ€

* feat: ํ”„๋กœ์ ํŠธ ๊ด€๋ จ ํŽ˜์ด์ง€ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

commit afde74517b2e10c99eb19eea602bdf1d22b1c013
Author: zereight <[email protected]>
Date:   Thu Jul 15 15:51:34 2021 +0900

    feat: ScriptPublishing ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

commit d8b034d154f0e28b15e07032b20e873ed3b3e227
Author: zereight <[email protected]>
Date:   Thu Jul 15 15:28:13 2021 +0900

    feat: NewProject ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

commit 48ff7e8971c5242379c9cce9e77b0a80c324a5ad
Author: yungo1846 <[email protected]>
Date:   Thu Jul 15 12:05:24 2021 +0900

    feat: MyProject ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

commit 2257e42b6968a31686e66bd4125f908bc379ca9b
Author: yungo1846 <[email protected]>
Date:   Thu Jul 15 11:31:50 2021 +0900

    feat: SubmitButton ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

commit 32ced1c2e210b099e32b2fc8f173e1a8c9c92696
Author: yungo1846 <[email protected]>
Date:   Thu Jul 15 11:23:31 2021 +0900

    feat: ProjectButton ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* feat: ํŽ˜์ด์ง€ ๋ผ์šฐํŒ… ๋ฐ ๋กœ๊ทธ์ธ ๋กœ์ง ๋ฆฌํŒฉํ„ฐ๋ง

commit b9452d79076449e094d0d8e5687fdb8c3dea453d
Author: zereight <[email protected]>
Date:   Fri Jul 16 01:11:19 2021 +0900

    refactor: ๋กœ๊ทธ์ธ ๋กœ์ง ๋ฆฌํŒฉํ„ฐ๋ง

    - ์ƒˆ๋กœ๊ณ ์นจ ํ•ด๋„ ํŽ˜์ด์ง€ ์œ ์ง€ ๊ธฐ๋Šฅ
    - ์›นํŒฉ ํ•ซ ๋ฆฌ๋กœ๋”ฉ ์„ค์ •
    - react-query dev tools ์„ค์ •

commit 487e207fadbac2c3da267996528ce78cce4d7c89
Author: zereight <[email protected]>
Date:   Thu Jul 15 22:45:55 2021 +0900

    feat: useUser ํ›…์œผ๋กœ User ์ƒํƒœ๊ด€๋ฆฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

    Co-authored-by: Kiyung Kim <[email protected]>

commit 8ad45c23bc4ea5ee083cc379297ca309e86978da
Author: zereight <[email protected]>
Date:   Thu Jul 15 20:04:05 2021 +0900

    refactor: ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ„ฐ๋ง

    - reply-module์— ์žˆ๋Š” cookie/useLogin/user ํƒ€์ž… ๋ณต์‚ฌ

commit 621f2cca758b9fa31a94c0b28830b90a3afbe09c
Author: zereight <[email protected]>
Date:   Thu Jul 15 19:44:39 2021 +0900

    feat: script publishing ํŽ˜์ด์ง€ ์ƒ์„ฑ ๋ฐ ๋ผ์šฐํŒ… ์ ์šฉ

commit bf036b4f65949a8a6825909151ecc757593627eb
Author: zereight <[email protected]>
Date:   Thu Jul 15 18:02:21 2021 +0900

    feat: new project ํŽ˜์ด์ง€ ์ƒ์„ฑ ๋ฐ ๋ผ์šฐํŒ… ์ ์šฉ

commit a631fe8ca3941b7568b28e721abbbbd56d41b839
Author: zereight <[email protected]>
Date:   Thu Jul 15 16:29:03 2021 +0900

    feat: my project ํŽ˜์ด์ง€ ๋ผ์šฐํŒ… ์ ์šฉ

    Co-authored-by: Kiyung Kim <[email protected]>

commit 8739600a1618f0d43348fcd19b42633cd908acff
Author: zereight <[email protected]>
Date:   Thu Jul 15 15:56:01 2021 +0900

    refactor: page์ปดํฌ๋„ŒํŠธ์— Page์ด๋ฆ„ ์ถ”๊ฐ€

* feat: ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ, ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

commit 28664f2b8cde6c6c3023335d5f1368d4196625c4
Author: zereight <[email protected]>
Date:   Fri Jul 16 12:30:47 2021 +0900

    feat: ์Šคํฌ๋ฆฝํŠธ ๋ฐฐํฌ ํŽ˜์ด์ง€ url ํŒŒ์‹ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

    Co-authored-by: Kiyung Kim <[email protected]>

commit 9e56d49b4733433593f9ec5fd5443f653118c1ff
Author: yungo1846 <[email protected]>
Date:   Fri Jul 16 11:52:36 2021 +0900

    feat: useProject hook ๋ถ„๋ฆฌ

commit 4dcf6db907233ce6edc04bb58a50bf70453b1476
Author: yungo1846 <[email protected]>
Date:   Fri Jul 16 10:47:57 2021 +0900

    refactor: ScreenContainer๋ฅผ page์—์„œ templates๋กœ ์œ„์น˜ ๋ณ€๊ฒฝ

commit a5e6f029879dad0630e481f7b91ca6fb827edd0c
Author: zereight <[email protected]>
Date:   Fri Jul 16 10:30:47 2021 +0900

    fix: ์ƒˆ ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€ ์ƒˆ๋กœ๊ณ ์นจ ์•ˆ๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

    Co-authored-by: Kiyung Kim <[email protected]>

* refactor: script ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง

* refactor: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ„ฐ๋ง

* [FE] ๋Œ“๊ธ€๋ชจ๋“ˆ ๋กœ๊ทธ์ธ / ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#80) (#131)

* feat: ๋Œ“๊ธ€ ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ํšŒ์› ๋Œ“๊ธ€ ์ƒ์„ฑ ๋ฐ ์กฐํšŒ ๊ธฐ๋Šฅ์ถ”๊ฐ€

* feat: ๋น„๋กœ๊ทธ์ธ ํšŒ์› ๋Œ“๊ธ€ ์ƒ์„ฑ ๋ฐ ์กฐํšŒ ๊ธฐ๋Šฅ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์ˆ˜์ •๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: Kiyung Kim <[email protected]>

* feat: ๋Œ“๊ธ€ ์‚ฌ์šฉ์ž์— ๋”ฐ๋ฅธ ๋Œ“๊ธ€ ์ขŒ์šฐ ์ •๋ ฌ ๋ฐ ์˜ต์…˜ ๋…ธ์ถœ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: zereight <[email protected]>

* feat: ๋กœ๊ทธ์ธ ์œ ์ €์˜ ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: zereight <[email protected]>

* feat: ๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์ˆ˜์ • ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: accessToken responseํ˜•ํƒœ ๋ณ€๊ฒฝ

* refactor: ์ผ๊ด€์„ฑ์„ ํ•ด์น˜๋Š” URLSearchParams ์ œ๊ฑฐ

* refactor: ๋Œ“๊ธ€ ์‚ญ์ œ ํ”Œ๋กœ์šฐ์˜ ์ผ๋ถ€ ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* fix: deleteMutation์˜ onSuccess ๋กœ์ง ์ˆ˜์ •

Co-authored-by: Kiyung Kim <[email protected]>
Co-authored-by: yungo1846 <[email protected]>
Co-authored-by: zereight <[email protected]>

* refactor: Nav ๋ฐ” Avatar ํ•˜๋“œ์ฝ”๋”ฉ imageURL ์ œ๊ฑฐ

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ ํ•˜์ด๋ผ์ดํŒ… ์ถ”๊ฐ€ (#159) (#162)

* feat: ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ ํ•˜์ด๋ผ์ดํŒ… ์ˆ˜์ • ๋ฐ ์ฝ˜ํ…์ธ  ๋‚ด์šฉ ์ˆ˜์ •

* feat: ์Šคํฌ๋ฆฝํŠธ ๋ณต์‚ฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ์ผ๋ถ€ API ์ฃผ์†Œ ์ˆ˜์ •

- ์„œ๋ฒ„ ์ฃผ์†Œ๋ฅผ https://darass.o-r.kr ๋กœ ๋ณ€๊ฒฝ
- Content-Security-Policy ํ—ค๋” ์ถ”๊ฐ€
- ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ ์ฃผ์†Œ๋ฅผ
https://darass-script-code.s3.ap-northeast-2.amazonaws.com/embed.js
๋กœ ๋ณ€๊ฒฝ
- ๋Œ“๊ธ€ ๋ชจ๋“ˆ ํŽ˜์ด์ง€์˜ ์ฃผ์†Œ๋ฅผ
https://darass-reply-module.s3.ap-northeast-2.amazonaws.com/index.html
๋กœ ๋ณ€๊ฒฝ

* fix: iframe keydown ์ด๋ฒคํŠธ ๋ฐœ์ƒ์‹œ ๋ฐœ์ƒํ•˜๋Š” DOM EXECPTION ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

Co-authored-by: zereight <[email protected]>

* fix: ์ฟ ํ‚ค ์‚ญ์ œ ๋ฒ„๊ทธ ํ•ด๊ฒฐ

* chore: aws s3 cloud front ์ฃผ์†Œ๋กœ ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ

* refactor: ํ˜„์žฌ URL์„ href์—์„œ origin + pathname์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: script ์ฝ”๋“œ์— defer ์ถ”๊ฐ€

* refactor: textarea resize ์†์„ฑ ์ถ”๊ฐ€

* fix: ๋ณธ์ธ ์ž‘์„ฑ ๋Œ“๊ธ€ ์Šคํƒ€์ผ ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ๋Œ“๊ธ€ ์ž‘์„ฑ ์‹œ๊ฐ„ ์œ„์น˜ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ†ต์ผ

* refactor: ๋Œ“๊ธ€์ด ๊ธธ์–ด์งˆ ๋•Œ ์ค„๋ฐ”๊ฟˆ ๋ฐ ๊ฐœํ–‰ ๋ฌธ์ž์™€ ์—ฐ์† ๊ณต๋ฐฑ ๋ฐ˜์˜

* refactor: ๋Œ“๊ธ€ ๋ชจ๋“ˆ ์Šคํฌ๋กค ๋ฐ”๊ฐ€ ์ƒ๊ธฐ์ง€ ์•Š๋„๋ก postMessage ์ด๋ฒคํŠธ ์ถ”๊ฐ€

* feat: ๋ฐ˜์‘ํ˜• ํŽ˜์ด์ง€๋ฅผ ์œ„ํ•œ resize event ์ ์šฉ

* fix: ๋Œ“๊ธ€์ด ๋ฐ”๋กœ ์‚ญ์ œ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: ๋Œ“๊ธ€์ด ๋ฐ”๋กœ ์‚ญ์ œ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

Co-authored-by: zereight <[email protected]>

* [FE][์ธํ”„๋ผ] CI ๊ตฌํ˜„ํ•˜๊ธฐ (#195) (#196)

* feat: ๋Œ“๊ธ€ ๋ชจ๋“ˆ CI ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€ ๋ชจ๋“ˆ CI์— ๋นŒ๋“œ ๊ณผ์ • ์ถ”๊ฐ€

* feat: ํ”„๋กœ์ ํŠธ, ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•ด์„œ CI ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด push์ผ ๋•Œ๋„ ๊นƒํ—™ ์•ก์…˜ ์ž‘๋™ํ•˜๋„๋ก ์ˆ˜์ •

* style: deploy ์˜คํƒ€ ์ˆ˜์ •

* [FE][์ธํ”„๋ผ] CD ๊ตฌํ˜„ํ•˜๊ธฐ (#201) (#205)

* feat: ๊นƒํ—ˆ๋ธŒ ์•ก์…˜์„ ํ™œ์šฉํ•˜์—ฌ ํ”„๋ก ํŠธ์—”๋“œ CD ๊ตฌํ˜„

* refactor: main ๋ธŒ๋žœ์น˜๋„ CI ์ˆ˜ํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* [FE][๊ณตํ†ต] react Query ๋ฆฌํŒฉํ† ๋ง (#203)

* refactor: react Query mutation์— await ์ถ”๊ฐ€

* refactor: useUser Query์— retry์™€ refetchOnWindowFocus false ์˜ต์…˜ ์ถ”๊ฐ€

* refactor: ๋น„๋™๊ธฐ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๋กœ์ง ๋ณ€๊ฒฝ

* refactor: webpack dot env ์ œ๊ฑฐ ๋ฐ define plugin ์ถ”๊ฐ€ (#223)

* [FE][์ธํ”„๋ผ] ๋Œ“๊ธ€ ๋ชจ๋“ˆ๊ณผ ํ”„๋กœ์ ํŠธ ๋ชจ๋“ˆ์— env ์ถ”๊ฐ€ํ•˜๊ธฐ (#219) (#224)

* feat: env ์„ค์ • ์ถ”๊ฐ€

* refactor: ํ…Œ์ŠคํŠธ์šฉ ์ฝ”๋“œ ์ œ๊ฑฐ

* feat: env ์„ค์ • ์ถ”๊ฐ€

* [FE][์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ] pathname "index.html"์€ ์ œ๊ฑฐํ•˜์—ฌ url์ „์†กํ•˜๊ธฐ (#221) (#222)

* fix: pathname์—์„œ index.html์„ ์ œ๊ฑฐ

* refactor: DotEnv ํ”Œ๋Ÿฌ๊ทธ์ธ์„ DefinePlugin์œผ๋กœ ๋Œ€์ฒด

- DotEnv๋Š” ์‹ค์ œ .envํŒŒ์ผ์„ ์ฝ์–ด์•ผ ํ•˜์ง€๋งŒ, ๊นƒํ—ˆ๋ธŒ ์•ก์…˜์˜ secret ๋ณ€์ˆ˜๋ฅผ ์ฝ๊ธฐ ์œ„ํ•ด DefinePlugin ์œผ๋กœ ๋Œ€์ฒด

* [FE][์ธํ”„๋ผ] CI/CD ์Šฌ๋ž™ ์•Œ๋ฆผ ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•˜๊ธฐ (#225) (#226)

* feat: CI / CD ์•Œ๋ฆผ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ…Œ์ŠคํŠธ์šฉ ์ฝ”๋“œ ์ œ๊ฑฐ

* feat: push์— ๋Œ€ํ•ด์„œ๋„ CI / CD ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: merge๋œ ๋ธŒ๋žœ์น˜ ์‚ญ์ œ ๊ตฌํ˜„

* chore: ์‹œ๋งจํ‹ฑ ๋ฒ„์ €๋‹ ์ ์šฉ (#229)

* fix: dotenv๊ฐ€ ์ œ๋Œ€๋กœ ์•ˆ๋˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* fix: favicon ์—๋Ÿฌ ํ•ด๊ฒฐ

* fix: ๋กœ๊ทธ์ธ ์œ ์ €๊ฐ€ ๊ถŒํ•œ ์—†๋Š” ์Šคํฌ๋ฆฝํŠธ ๊ฐ€์ด๋“œ ํŽ˜์ด์ง€ ๋ฐฉ๋ฌธ ์‹œ, ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ๋Œ“๊ธ€ ์ž…๋ ฅ Form Validation UI ์ถ”๊ฐ€ (#140) (#234)

* feat: UserAvatarOption์— userNickName ๋ฒ„ํŠผ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ Form Validation UI ์ถ”๊ฐ€

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ๊ณต๋ฐฑ ๋ฌธ์ž ์ž…๋ ฅ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#186) (#240)

* chore: jest ํ™˜๊ฒฝ ์„ค์ •

* feat: ๊ณต๋ฐฑ ์ œ๊ฑฐ ์œ ํ‹ธํ•จ์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ

* fix: ํ”„๋กœ์ ํŠธ ๋ช… ๊ณต๋ฐฑ ์ž…๋ ฅ ์˜ค๋ฅ˜ ์ˆ˜์ •

- autoFocus์ถ”๊ฐ€

* refactor: ol ํƒœ๊ทธ ์™ธ๋ถ€์—์žˆ๋Š” p ํƒœ๊ทธ ์ œ๊ฑฐ

* refactor: ํ•จ์ˆ˜๋ช…๊ณผ ๋‚ด๋ถ€ ๋™์ž‘ ๋ถˆ์ผ์น˜๋œ ๋ถ€๋ถ„ ์ˆ˜์ •

* refactor: ์–ด์ƒ‰ํ•œ ์ฝ”๋“œ ๋ผ์ธ ์ˆ˜์ • ๋ฐ ํ”„๋กœ์ ํŠธ ์ด๋ฆ„ ์ค‘๋ณต์ฒดํฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๋ถˆํ•„์š”ํ•œ ์š”์†Œ ์‚ญ์ œ

- react-query dev tool
- ํ”„๋กœ์ ํŠธ ํ‚ค, ํ˜„์žฌ URL ์•Œ๋ฆผ ์š”์†Œ

* feat: script ์ฝ”๋“œ ์ƒ์„ธ ๊ฐ€์ด๋“œ ์ถ”๊ฐ€ (#243)

Co-authored-by: zereight <[email protected]>

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ๋น„ ๋กœ๊ทธ์ธ ํšŒ์› ๋Œ“๊ธ€ CRUD์— ๋Œ€ํ•ด ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค. (#175) (#244)

* refactor: login test ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง

- cookie ํ…Œ์ŠคํŠธ ์‚ญ์ œ

* test: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* test: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์ƒ์„ฑ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* test: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์ˆ˜์ •๊ธฐ๋Šฅ ํ…Œ์Šคํฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ๋ฉ”์ธ, ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ์Šคํฌํ†ฑ ํ™”๋ฉด ์‚ฌ์ด์ฆˆ์—์„œ ๋ฐฐ๊ฒฝ์ƒ‰ ํฐ์ƒ‰์œผ๋กœ ๋‚˜์˜ค๋Š” ๋ถ€๋ถ„ ์ˆ˜์ • (#160) (#246)

* refactor: login test ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง

- cookie ํ…Œ์ŠคํŠธ ์‚ญ์ œ

* test: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* test: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์ƒ์„ฑ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* test: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์ˆ˜์ •๊ธฐ๋Šฅ ํ…Œ์Šคํฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* fix: ๋ฉ”์ธ, ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ํ…Œ์Šคํฌํ†ฑ ํ™”๋ฉด์—์„œ ๋ฐฐ๊ฒฝ์ƒ‰ ํฐ์ƒ‰์œผ๋กœ ๋‚˜์˜ค๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* fix: ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ font size ๋ฌธ์ œ ํ•ด๊ฒฐ

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ์„ ์ถ”๊ฐ€ํ•œ๋‹ค. (#241) (#248)

* refactor: login test ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง

- cookie ํ…Œ์ŠคํŠธ ์‚ญ์ œ

* test: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* test: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์ƒ์„ฑ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* test: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์ˆ˜์ •๊ธฐ๋Šฅ ํ…Œ์Šคํฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* fix: ๋ฉ”์ธ, ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ํ…Œ์Šคํฌํ†ฑ ํ™”๋ฉด์—์„œ ๋ฐฐ๊ฒฝ์ƒ‰ ํฐ์ƒ‰์œผ๋กœ ๋‚˜์˜ค๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* fix: ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ font size ๋ฌธ์ œ ํ•ด๊ฒฐ

* feat: ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ์ถ”๊ฐ€

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ๋น„๋กœ๊ทธ์ธ ๋Œ“๊ธ€ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ ์ฐฝ ๋…ธ์ถœ ํ›„ ๋กœ๊ทธ์ธ ์‹œ, ๋Œ“๊ธ€ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ ์ฐฝ์ด ์‚ฌ๋ผ์ง€์ง€ ์•Š๋Š”๋‹ค. (#251) (#254)

* fix: ๊ฒŒ์ŠคํŠธ ์ˆ˜์ • ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ ๋„์ค‘ ๋กœ๊ทธ์ธ ์‹œ, ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ์ฐฝ ๋…ธ์ถœ๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ์นด์นด์˜ค๋กœ ๋กœ๊ทธ์ธ ํ…์ŠคํŠธ๋ฅผ icon์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€์ด ์—†์„๋•Œ ๋Œ“๊ธ€ ์ •๋ ฌ, ๋ชฉ๋ก ์˜์—ญ ๋…ธ์ถœ์•ˆ๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€์ด ์—†๋Š” ๊ฒฝ์šฐ, ์ •๋ ฌ ์˜ต์…˜์„ ํ‘œ๊ธฐํ•˜๊ณ  ๋น„์–ด์žˆ๋‹ค๋Š” ๋ฌธ๊ตฌ๋ฅผ ๋…ธ์ถœํ•˜๋„๋ก ๋ณ€๊ฒฝ

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ๊ด€๋ฆฌ์ž ์œ ์ € ๋Œ“๊ธ€ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#177) (#256)

* refactor: ๋Œ“๊ธ€์ด ์—†์„๋•Œ ๋Œ“๊ธ€ ์ •๋ ฌ, ๋ชฉ๋ก ์˜์—ญ ๋…ธ์ถœ์•ˆ๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€์ด ์—†๋Š” ๊ฒฝ์šฐ, ์ •๋ ฌ ์˜ต์…˜์„ ํ‘œ๊ธฐํ•˜๊ณ  ๋น„์–ด์žˆ๋‹ค๋Š” ๋ฌธ๊ตฌ๋ฅผ ๋…ธ์ถœํ•˜๋„๋ก ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€ ๋ชจ๋“ˆ ๊ด€๋ฆฌ์ž ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: Comment ์ƒํƒœ ์ดˆ๊ธฐํ™” ์šฉ๋„์˜ clearํ•จ์ˆ˜ ์ถ”๊ฐ€

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ๋น„๋ฐ€๋ฒˆํ˜ธ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ, ๋น„๋ฐ€๋ฒˆํ˜ธ ์ผ์น˜ ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•˜๋Š” api๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค. (#255) (#259)

* feat: ๋Œ“๊ธ€ ๋ชจ๋“ˆ ๊ด€๋ฆฌ์ž ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๋น„๋กœ๊ทธ์ธ ์œ ์ €์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ ๊ฒ€์ฆ์„ ๋ณ„๋„์˜ api๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค.

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ ๊ฐ€์ด๋“œ UI ๋ณ€๊ฒฝ (#260)

* refactor: ํŽ˜์ด์ง€์— ๋ถˆํ•„์š”ํ•œ ์Šคํฌ๋กค์ด ์ƒ๊ธฐ์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* refactor: ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ์ œ๊ฑฐ

* refactor: ์Šคํฌ๋ฆฝํŠธ ๊ฐ€์ด๋“œ ์œ„์น˜ ๋ณ€๊ฒฝ

* feat: BlogLogoButton ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* refactor: script code ํฐํŠธ ๋ฐ ํ…Œ๋งˆ ๋ณ€๊ฒฝ

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ์ฐฝ์„ ์ˆ˜๋™์œผ๋กœ ๋‹ซ์„ ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ ๋‹ค. (#257) (#263)

* feat: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ ์ทจ์†Œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: guest ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ hook์œผ๋กœ ๋งŒ๋“ค์–ด ํ…Œ์Šคํ„ฐ๋ธ”ํ•˜๊ฒŒ ์ˆ˜์ •

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง

* fix: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* refactor: ์ดˆ๋ก์ƒ‰ ๋ฒ„ํŠผ ์ƒ‰์ƒ ๋ณ€๊ฒฝ

* test: ๊ด€๋ฆฌ์ž ์œ ์ €์˜ ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ๋กœ๊ทธ์ธ ํšŒ์› ๋Œ“๊ธ€ CRUD์— ๋Œ€ํ•ด ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค. (#174) (#268)

* test: ๊ด€๋ฆฌ์ž ์œ ์ €์˜ ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* test: ๋กœ๊ทธ์ธ ์œ ์ €์˜ ๋Œ“๊ธ€ CRUD ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€ UI ๋ณ€๊ฒฝ (#269) (#270)

* chore: babel-plugin-remove-react-jsx-attribute ์ถ”๊ฐ€

* feat: UserOption ๋ฐ UserAvatarOption ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ๋‚ด๋น„๊ฒŒ์ด์…˜ UI ๋ณ€๊ฒฝ

* refactor: myProject template UI ๋ณ€๊ฒฝ

Co-authored-by: zereight <[email protected]>

* refactor: NewProject ํ…œํ”Œ๋ฆฟ UI ๋ณ€๊ฒฝ

* feat: MenuDropDown ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* feat: SideBar ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* refactor: ScriptPublishng ํ…œํ”Œ๋ฆฟ UI ๋ณ€๊ฒฝ

* feat: ์„ ํƒ๋œ ํ˜„์žฌ ๋ฉ”๋‰ด๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ๋‚ด๋น„๊ฒŒ์ด์…˜ UI ์ถ”๊ฐ€

Co-authored-by: zereight <[email protected]>

* chore: yarn test ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€ ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#247) (#271)

* feat: ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€ ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: Nav๊ฐ€ logout ๋ฉ”์„œ๋“œ๋ฅผ prop์œผ๋กœ ๋ฐ›๋„๋ก ์ˆ˜์ •

* chore: yarn test์„ pr checker์— ์ถ”๊ฐ€

Co-authored-by: Kiyung Kim <[email protected]>

* test: newProjectPage ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ (#277)

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] MyProject ํŽ˜์ด์ง€์˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑ (#172) (#279)

* test: myProject ํŽ˜์ด์ง€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* fix: pr checker test working directory ์ˆ˜์ •

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#280) (#282)

* refactor: page์ปดํฌ๋„ŒํŠธ์™€ template ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ†ต์ผ

* refactor: export๋ฅผ inline์œผ๋กœ ์ ์šฉ

* refactor: ํ›… ์—๋Ÿฌํ•ธ๋“ค๋ง ๋กœ์ง ์ˆ˜์ •

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#281) (#283)

* refactor: templates์„ pages๋กœ ๋ณ€๊ฒฝ ๋ฐ export ๋ฐฉ๋ฒ• ๋ณ€๊ฒฝ

* refactor: axios ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๋ฐฉ๋ฒ• ๋ณ€๊ฒฝ

* refactoring: test

* refactor: NavLink ์ ์šฉ (#285)

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ํ”„๋กœ์ ํŠธ ์ƒ์„ธ ํŽ˜์ด์ง€ ์ถ”๊ฐ€ (#286) (#289)

* feat: ํ”„๋กœ์ ํŠธ ์ƒ์„ธํŽ˜์ด์ง€ ๊ตฌ์กฐ ์„ค๊ณ„

* feat: useEditProject ํ›… ์ถ”๊ฐ€

* refactor: ์ˆ˜์ •๋ชจ๋“œ์™€ ๊ธฐ๋ณธ๋ชจ๋“œ์˜ ์Šคํƒ€์ผ์„ ํ†ต์ผ

* refactor: Proejct detail ํŽ˜์ด์ง€ ์ˆ˜์ • ๋ชจ๋“œ ์‚ญ์ œ

* refactor: ๊ณตํ†ต ์Šคํƒ€์ผ ์š”์†Œ ๋ถ„๋ฆฌ

* feat: DeleteButton ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* feat: ํ”„๋กœ์ ํŠธ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: page ๋น„๋™๊ธฐ ์—๋Ÿฌ ํ•ธ๋“ค๋ง

Co-authored-by: yungo1846 <[email protected]>

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ๋‚ด ์ •๋ณด ํŽ˜์ด์ง€ ui ์ถ”๊ฐ€ (#287) (#294)

* feat: userProfile ํŽ˜์ด์ง€ ์ƒ์„ฑ

* feat: ๋‚ด ์ •๋ณด ํŽ˜์ด์ง€ ui ๊ตฌํ˜„

* feat: ์œ ์ € ์ˆ˜์ • ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: useDeleteUser ์ปค์Šคํ…€ ํ›… ์ถ”๊ฐ€

* refactor: ๊ณตํ†ต ์Šคํƒ€์ผ ์š”์†Œ ๋ถ„๋ฆฌ

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] userOption ์ปดํฌ๋„ŒํŠธ ์ธํ„ฐ๋ž™์…˜ ์ถ”๊ฐ€ (#288) (#295)

* refactor: userOption ๋งˆ์šฐ์Šค ํ˜ธ๋ฒ„ ์ธํ„ฐ๋ž™์…˜ ์ถ”๊ฐ€

* feat: userAvatarOption์— arrow ์ถ”๊ฐ€

* feat: ๋‹ค๋ฅธ ์˜์—ญ์„ ๋ˆ„๋ฅด๋ฉด ์˜ต์…˜์ด ๋‹ซํžˆ๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ ํŽ˜์ด์ง€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ (#296)

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ๋‚ด ํ”„๋กœ์ ํŠธ ์—๋Ÿฌ UI ๊ตฌํ˜„ (#297) (#298)

* test: ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ ํŽ˜์ด์ง€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: MyProject ์—๋Ÿฌ UI ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„

* refator: ์ปดํฌ๋„ŒํŠธ ์ด๋ฆ„ ์ˆ˜์ •

* feat: styled nomalizing

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] nav mobile view ui๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค. (#272) (#300)

* feat: ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€ ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: Nav๊ฐ€ logout ๋ฉ”์„œ๋“œ๋ฅผ prop์œผ๋กœ ๋ฐ›๋„๋ก ์ˆ˜์ •

* feat: ํ–„๋ฒ„๊ฑฐ ๋ฒ„ํŠผ ์ถ”๊ฐ€

* feat: mobile Nav ์ปดํฌ๋„ŒํŠธ  ui ๊ตฌํ˜„๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* refactor: MobileNav DesktopNav ๋ถ„๋ฆฌ

* refactor: Nav ๋ฉ”๋‰ด ํŒŒ๋ผ๋ฏธํ„ฐ ๋ฆฌํŒฉํ„ฐ๋ง

* refactor: test ์ฝ”๋“œ ์ˆ˜์ •

* feat: Dimmed ์˜์—ญ ์• ๋‹ˆ๋งค์ด์…˜ ์ถ”๊ฐ€

* refactor: z-index ์ƒ์ˆ˜ํ™”

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ์ข‹์•„์š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#299) (#303)

* refactor: SubmitButton ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* feat: DeleteButton ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* feat: LikeButton ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ Button ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ

* feat: ๋Œ“๊ธ€ ์ข‹์•„์š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: userAvatarOption์˜ ๋ฐ”๊นฅ ์˜์—ญ ํด๋ฆญ ์‹œ Option์ด ๋‹ซํžˆ๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ํ”„๋กœ์ ํŠธ ์ˆ˜์ • ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#302) (#304)

* fix: ํ”„๋กœ์ ํŠธ ์ •๋ณด๊ฐ€ ์ˆ˜์ •์ด ์•ˆ๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: test ์ฝ”๋“œ ๋”๋ฏธ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ์ข‹์•„์š”๋ฅผ ๋ˆ„๋ฅธ ์œ ์ € ๋ชฉ๋ก์„ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#309) (#313)

* fix: guestProfileImageUrl์ด ์ •์ƒ์ ์œผ๋กœ ๋‚˜์˜ค์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ๊ธฐ์กด LikeButton์„ LikingUsersButton์œผ๋กœ ๋ณ€๊ฒฝ

* feat: Modal ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* feat: LikingUsersModal ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* feat: Comment์— LikingUsersModal ์ ์šฉ

* test: ์ข‹์•„์š” ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ (#314)

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ์‚ฌ์ด๋“œ๋ฐ” ๋“œ๋กญ๋‹ค์šด ๋ชจ๋ฐ”์ผ ๋ทฐ ๊ตฌํ˜„ (#310) (#318)

* refactor: userAvatarOption์˜ cursor pointer ์ œ๊ฑฐ

* refactor: ProjectSideBar๋ฅผ SideBarTemplate ์ปดํฌ๋„ŒํŠธ ๋‚ด๋ถ€๋กœ ์ด๋™

* refactor: ์‚ฌ์ด๋“œ๋ฐ” ํ…œํ”Œ๋ฆฟ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ์ ์šฉ

* feat: ์Šคํฌ๋กค์„ ๋”ฐ๋ผ๋‹ค๋‹ˆ๋Š” ์‚ฌ์ด๋“œ๋ฐ” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๋ชจ๋ฐ”์ผ๋ทฐ๋ฅผ ์œ„ํ•œ MainTitle align-item:center ์ถ”๊ฐ€

* feat: ๋ฉ”๋‰ด ๋ฐ์ดํ„ฐ๋ฅผ ์žฌ๊ท€์ ์œผ๋กœ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* refactor: SideBarTemplate์—์„œ Sidebar๋กœ ๋ฉ”๋‰ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋„๋ก ๋ฆฌํŒฉํ„ฐ๋ง

* refactor: project menu ๋ฐ์ดํ„ฐ ์ƒ์ˆ˜ํ™”

* refactor: SideBarTemplate์„ ContainerWithSideBar์œผ๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: GuideStep ์ปดํฌ๋„ŒํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์ด๋“œ๋ฐ” ๋“œ๋กญ๋‹ค์šด ์• ๋‹ˆ๋งค์ด์…˜ ๊ตฌํ˜„

* refactor: ์‚ฌ์ด๋“œ๋ฐ” ๋ฉ”๋‰ด ๋‹ซ๊ธฐ ์• ๋‹ˆ๋งค์ด์…˜ ๊ตฌํ˜„

* refactor: depth์— ๋”ฐ๋ฅธ DropDownMenu z-index ์กฐ์ ˆ

* refactor: css  ํฌ๋กœ์Šค ๋ธŒ๋ผ์šฐ์ง• ์ ์šฉ

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ์œ ์ € ์‚ญ์ œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•œ๋‹ค. (#305) (#321)

* refactor: userAvatarOption์˜ cursor pointer ์ œ๊ฑฐ

* refactor: DeleteSection ์ปดํฌ๋„ŒํŠธ ์ถ”์ถœ

* refactor: ์‚ญ์ œ ๊ตฌ๊ฐ„ ์ปดํฌ๋„ŒํŠธ ์ถ”์ถœ

* fix: UserAvatarOption์˜ z-index ์ˆ˜์ •

* refactor: cb ํ•จ์ˆ˜ ์ด๋ฆ„์„ callback์œผ๋กœ ์ˆ˜์ •

* refactor: ๋ฒค๋”ํ”„๋ฆฌํ”ฝ์Šค ์ œ๊ฑฐ

* refactor: z-index ์ƒ์ˆ˜ํ™”

* fix: globalStyle์—์„œ line-height ์ œ๊ฑฐ

* feat: ํšŒ์›ํƒˆํ‡ด ์™„๋ฃŒ ์–ผ๋Ÿฟ ์ถ”๊ฐ€

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ์œ ์ € ํ”„๋กœํ•„ ์ˆ˜์ • ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•œ๋‹ค. (#307) (#324)

* feat: ์œ ์ € ํ”„๋กœํ•„ ์ˆ˜์ • ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: profileImageBase64 ๋„ค์ด๋ฐ์„ url๋กœ  ์ˆ˜์ •

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ์Šคํƒ€์ผ ๋ฆฌํŒฉํ† ๋ง (#315) (#329)

* fix: ์‚ญ์ œ ์ทจ์†Œ ํ›„ ๋Œ“๊ธ€ ์˜ต์…˜ ๋ฒ„ํŠผ์ด ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: UserOption UI ๋ณ€๊ฒฝ

* refactor: CommentOption UI ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€ ์˜ต์…˜ ์ด์™ธ์˜ ์˜์—ญ์„ ํด๋ฆญ ํ–ˆ์„ ๋•Œ ๋Œ“๊ธ€ ์˜ต์…˜์ด ๋‹ซํžˆ๋„๋ก ํ•˜๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๋Œ“๊ธ€ ์˜ต์…˜์ด ์ข‹์•„์š” ๋ชฉ๋ก๋ณด๋‹ค ์ƒ์œ„์— ํ‘œ์‹œ๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: deleteButton ์ ์šฉ

* refactor: CommentInput์„ textarea์—์„œ div contentEditable๋กœ ๋ณ€๊ฒฝ

* refactor: ์ •๋ ฌ ๋ฒ„ํŠผ UI ๋ณ€๊ฒฝ

* refactor: ์ข‹์•„์š” ๋ชฉ๋ก ์œ„์น˜ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€ ์ˆ˜์ • ์ทจ์†Œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€ ์ˆ˜์ • ์‹œ ์ตœ์†Œ ํ•œ ๊ธ€์ž ์ด์ƒ ์ž…๋ ฅ ๋๋Š”์ง€ ๊ฒ€์ฆํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* refactor: ๋Œ“๊ธ€ ๊ฐœ์ˆ˜ ์ƒ‰์ƒ ๋ณ€๊ฒฝ

* fix: ๋Œ“๊ธ€ ๋“ฑ๋ก ํ›„ ์ž…๋ ฅ ์ฐฝ์ด ๋น„์›Œ์ง€์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* test: UI ๋ฆฌํŒฉํ† ๋ง ๋ฐ˜์˜

* fix: ๋Œ“๊ธ€ ์ˆ˜์ • ์ทจ์†Œ ์‹œ ๊ธฐ์กด ๋Œ“๊ธ€์ด ๋‚จ์•„ ์žˆ์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: zereight <[email protected]>

* feat: useContentEditable hook ์ƒ์„ฑ

Co-authored-by: zereight <[email protected]>

* feat: ๋ถ€๋ชจ ํ”„๋ ˆ์ž„์—์„œ ์Šคํฌ๋กค์ด ์ƒ๊ธฐ์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ (#332)

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ์œ ์ € ์‚ญ์ œ ๊ตฌ์—ญ ์ƒ๋‹จ ๊ตฌ๋ถ„์„  ์ถ”๊ฐ€ ๋ฐ ์Šคํƒ€์ผ ๋ฆฌํŒฉํ„ฐ๋ง (#338) (#339)

* refactor: ์‚ฌ์ด๋“œ๋ฐ” ์Šคํƒ€์ผ ๋ฆฌํŒฉํ„ฐ๋ง

* refactor: userProfile ์‚ญ์ œ UI ์ƒ๋‹จ ๊ตฌ๋ถ„์„  ์ถ”๊ฐ€

* refactor: contentBoxCSS ์œ„์น˜ ๋ฆฌํŒฉํ„ฐ๋ง

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ๋ชจ๋‹ฌ์„ ๋ถ€๋ชจ์˜ ๋ทฐํฌํŠธ ๊ฐ€์šด๋ฐ์— ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#337) (#340)

* feat: ๋ถ€๋ชจ ํ”„๋ ˆ์ž„ ํด๋ฆญ ์‹œ์—๋„ ๋ชจ๋‹ฌ์ด ๋‹ซํžˆ๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#334)

* feat: ๋ชจ๋‹ฌ์„ ๋ถ€๋ชจ์˜ ๋ทฐํฌํŠธ ๊ฐ€์šด๋ฐ์— ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋ชจ๋‹ฌ์„ ๋ถ€๋ชจ์˜ ๋ทฐํฌํŠธ ๊ฐ€์šด๋ฐ์— ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€ [deploy-script]

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] iframe alert ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#152) (#341)

* feat: ๋ถ€๋ชจ ํ”„๋ ˆ์ž„์— alert ๋ฉ”์‹œ์ง€๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ž์‹ ํ”„๋ ˆ์ž„์˜ alert ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์•„ ์ถœ๋ ฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] custom confirm ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#342) (#343)

* feat: confirm modal UI ๊ตฌํ˜„ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* feat: delete confirm modal ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: delete confirm modal ๊ธฐ๋Šฅ ๊ตฌํ˜„ [deploy-script]

* refactor: ํšŒ์› ์ •๋ณด ์ˆ˜์ • ์‹œ, ์„ฑ๊ณต ์–ผ๋Ÿฟ ์ถ”๊ฐ€

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ์ƒˆ ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐ ํŽ˜์ด์ง€ ๋ชจ๋ฐ”์ผ ๋ทฐ ์Šคํƒ€์ผ ์ˆ˜์ • (#356) (#357)

* fix: ์ƒˆ ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€ ๋ชจ๋ฐ”์ผ ๋ทฐ ํšก์Šคํฌ๋กค์ด ์•ˆ๋‚˜ํƒ€๋‚˜๊ฒŒ ์ˆ˜์ •

* fix: ํ–„๋ฒ„๊ฑฐ ๋ฒ„ํŠผ ์œ„์น˜ ์ˆ˜์ •

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ์ƒˆ ํ”„๋กœ์ ํŠธ์—์„œ ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์‹œ, ๋กœ๊ทธ์•„์›ƒ ์ฒ˜๋ฆฌ (#358) (#359)

* fix: ์ƒˆ ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€ ๋ชจ๋ฐ”์ผ ๋ทฐ ํšก์Šคํฌ๋กค์ด ์•ˆ๋‚˜ํƒ€๋‚˜๊ฒŒ ์ˆ˜์ •

* fix: ํ–„๋ฒ„๊ฑฐ ๋ฒ„ํŠผ ์œ„์น˜ ์ˆ˜์ •

* refactor: ๋‚ด ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€์—์„œ ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ๋กœ๊ทธ์•„์›ƒ ์ฒ˜๋ฆฌ

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ๊ณผ๊ฑฐ์ˆœ/์ตœ์‹ ์ˆœ/์ข‹์•„์š”์ˆœ ์ •๋ ฌ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•œ๋‹ค. (#360) (#361)

* fix: ์ƒˆ ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€ ๋ชจ๋ฐ”์ผ ๋ทฐ ํšก์Šคํฌ๋กค์ด ์•ˆ๋‚˜ํƒ€๋‚˜๊ฒŒ ์ˆ˜์ •

* fix: ํ–„๋ฒ„๊ฑฐ ๋ฒ„ํŠผ ์œ„์น˜ ์ˆ˜์ •

* refactor: ๋‚ด ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€์—์„œ ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ๋กœ๊ทธ์•„์›ƒ ์ฒ˜๋ฆฌ

* feat: ๋Œ“๊ธ€ ์‹œ๊ฐ„/์ข‹์•„์š” ์ˆœ ์ •๋ ฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๊ฐ์ฒด์— Object.freeze ์ถ”๊ฐ€

* refactor: ๋Œ“๊ธ€ ์‹œ๊ฐ„/์ข‹์•„์š” ์ˆœ ์ •๋ ฌ ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ„ฐ๋ง

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ๋Œ“๊ธ€ ๋”๋ณด๊ธฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#374)

* feat: ๋Œ“๊ธ€ ๋”๋ณด๊ธฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๋น„๋™๊ธฐ ๋กœ์ง ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* test: ๋ฆฌํŒฉํ„ฐ๋ง ๋ฐ˜์˜

* refactor: ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ UI ๋ณ€๊ฒฝ

* refactor: ๊ด€๋ฆฌ์ž ์ž‘์„ฑ ๋Œ“๊ธ€์ด ์šฐ์ธก ์ •๋ ฌ ๋˜๋„๋ก ๋ณ€๊ฒฝ (#378)

* chore: development ๋ชจ๋“œ S3 ๋ฒ„ํ‚ท ๊ฒฝ๋กœ ์„ค์ •

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] CI/CD development, production ํ™˜๊ฒฝ ๋ถ„๊ธฐ (#394) (#395)

* refactor: Object.freeze๋ฅผ as const ๊ตฌ๋ฌธ์œผ๋กœ ๋ณ€๊ฒฝ

* chore: ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€ dev, prodc ํ™˜๊ฒฝ ๋ถ„๊ธฐ์ฒ˜๋ฆฌ

* chore: deploy script๊ฐ€ ์ €์žฅ๋˜๋Š” S3 ๋ฒ„ํ‚ท ๊ฒฝ๋กœ ์ˆ˜์ •

* refactor: ๋Œ“๊ธ€ ๋ชจ๋“ˆ development, production ํ™˜๊ฒฝ ๋ถ„๊ธฐ์ฒ˜๋ฆฌ (#396)

* [FE][๋ฐฐํฌ ์ฝ”๋“œ] CI/CD development, production ํ™˜๊ฒฝ ๋ถ„๊ธฐ (#400) (#401)

* refactor: Object.freeze๋ฅผ as const ๊ตฌ๋ฌธ์œผ๋กœ ๋ณ€๊ฒฝ

* chore: ๋ฐฐํฌ์ฝ”๋“œ CI/CD dev, prod ํ™˜๊ฒฝ ๋ถ„๊ธฐ

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ํ‘ธํ„ฐ ์ถ”๊ฐ€ (#393) (#403)

* feat: Footer ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* chore: svgr ์„ค์น˜ ๋ฐ ์ ์šฉ

* refactor: invalidInput ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* feat: Footer์— Manage Page ๋งํฌ ์ถ”๊ฐ€

* refactor: ๋ชจ๋ฐ”์ผ ๋งˆ์šฐ์Šค ํ˜ธ๋ฒ„ ์ธํ„ฐ๋ž™์…˜ ์ œ๊ฑฐ

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ๋Œ“๊ธ€ ๊ด€๋ฆฌ ํŽ˜์ด์ง€ UI๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค. (#367) (#404)

* [FE][๋ฐฐํฌ ์ฝ”๋“œ] CI/CD development, production ํ™˜๊ฒฝ ๋ถ„๊ธฐ (#400) (#401)

* refactor: Object.freeze๋ฅผ as const ๊ตฌ๋ฌธ์œผ๋กœ ๋ณ€๊ฒฝ

* chore: ๋ฐฐํฌ์ฝ”๋“œ CI/CD dev, prod ํ™˜๊ฒฝ ๋ถ„๊ธฐ

* refactor: reply module url ์ƒ์ˆ˜ํ™”

* refactor: Calendar UI ๋ฆฌํŒฉํ„ฐ๋ง

* feat: SearchCondition Component ์ถ”๊ฐ€

* refactor: Calendar UI ๋ฆฌํŒฉํ„ฐ๋ง

* refactor: Calender UI ๋ชจ๋ฐ”์ผ ๋ทฐ ์ˆ˜์ •

* fix: ๋‚ ์งœ ํ† ๊ธ€ ์‹œ, ํ…์ŠคํŠธ๊ฐ€ null์ด ๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* feat: Modal UI ๊ตฌํ˜„

* refactor: ํ•„์š”์—†๋Š” z-index ์ œ๊ฑฐ

* feat: ๋Œ“๊ธ€ ๊ฒ€์ƒ‰ ์กฐ๊ฑด UI ์ถ”๊ฐ€

* refactor: useCommentList ์ปค์Šคํ…€ ํ›… ์ž‘์„ฑ

* refactor: useCalendar ์ปค์Šคํ…€ ํ›… ์ž‘์„ฑ

* refactor: useCommentPageIndex ์ปค์Šคํ…€ ํ›… ์ž‘์„ฑ

* refactor: CommentSearchCondition ์ปดํฌ๋„ŒํŠธ ์ถ”์ถœ

* fix: CommentList padding ์ˆ˜์ •

* refactor: Comment ์ปดํฌ๋„ŒํŠธ ๋ถ„๋ฆฌ

* refactor: ์Šคํƒ€์ผ ๋ฆฌํŒฉํ„ฐ๋ง

* refactor: ํ”ผ๋“œ๋ฐฑ ๋ฐ˜์˜

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ๋Œ“๊ธ€ ์ „์ฒด ๊ฐœ์ˆ˜ API ์ ์šฉ (#408) (#410)

* feat: useTotalCommentsCount ํ›… ์ƒ์„ฑ

* refactor: CRUD ์‹œ ์ด ๋Œ“๊ธ€ ๊ฐœ์ˆ˜ refetchํ•˜๋„๋ก ๋ณ€๊ฒฝ

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ๋Œ“๊ธ€ ์ž…๋ ฅ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#187) (#414)

* refactor: ์ข‹์•„์š”, ๋”๋ณด๊ธฐ ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ๊ตฌ์ฒดํ™”

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ๋Œ“๊ธ€ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•œ๋‹ค. (#411) (#420)

* feat: ํŠน์ • ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ๋Œ“๊ธ€์„ ์กฐํšŒํ•˜๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* fix: ๋Œ“๊ธ€ Url ํŽ˜์ด์ง€ ์ด๋™๋˜๋„๋ก ์ˆ˜์ •

* refactor: ๋Œ“๊ธ€ ์ƒ์„ฑ ๋‚ ์งœ ํฌ๋งท ์ˆ˜์ •

* fix:  ๊ด€๋ฆฌ ์ฒซ ํ™”๋ฉด์— ๋Œ“๊ธ€์ด ํ‘œ์‹œ๋˜์ง€ ์•Š๋Š” ์ด์Šˆ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€ ๊ด€๋ฆฌ ํŽ˜์ด์ง€ ๋‚ ์งœ ๋‹จ์œ„ ๊ฒ€์ƒ‰๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๊ด€๋ฆฌ ํŽ˜์ด์ง€ ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: useGetAllCommentsOfProject๋ฅผ useGetCommentsOfProjectPerPage์œผ๋กœ ๋„ค์ด๋ฐ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€ ๊ด€๋ฆฌ ํŽ˜์ด์ง€์˜ ํŽ˜์ด์ง€ ๋„ค์ด์…˜ ๊ตฌํ˜„

* refactor: api ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ useGetCommentCountOfProject ํ›… ์‚ญ์ œ

* refactor: ๋Œ“๊ธ€ ๊ด€๋ฆฌ ํŽ˜์ด์ง€ ์Šคํƒ€์ผ ๋ฆฌํŒฉํ„ฐ๋ง

* fix: ์‚ญ์ œํ›„ ๋Œ“๊ธ€ ๊ฐœ์ˆ˜ ์—…๋ฐ์ดํŠธ ์•ˆ๋˜๋Š” ์ด์Šˆ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€๊ด€๋ฆฌ ํŽ˜์ด์ง€ prefetch ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: pagination ์ŠคํŽ ๋ง ์ˆ˜์ •

* refactor: ๋Œ“๊ธ€ ๊ด€๋ฆฌ ํŽ˜์ด์ง€๋„ค์ด์…˜ ๋ฆฌํŒฉํ„ฐ๋ง

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ๋Œ“๊ธ€ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•œ๋‹ค. (#405) (#436)

* [FE][๋ฐฐํฌ ์ฝ”๋“œ] CI/CD development, production ํ™˜๊ฒฝ ๋ถ„๊ธฐ (#400) (#401)

* refactor: Object.freeze๋ฅผ as const ๊ตฌ๋ฌธ์œผ๋กœ ๋ณ€๊ฒฝ

* chore: ๋ฐฐํฌ์ฝ”๋“œ CI/CD dev, prod ํ™˜๊ฒฝ ๋ถ„๊ธฐ

* refactor: reply module url ์ƒ์ˆ˜ํ™”

* refactor: Calendar UI ๋ฆฌํŒฉํ„ฐ๋ง

* feat: SearchCondition Component ์ถ”๊ฐ€

* refactor: Calendar UI ๋ฆฌํŒฉํ„ฐ๋ง

* refactor: Calender UI ๋ชจ๋ฐ”์ผ ๋ทฐ ์ˆ˜์ •

* fix: ๋‚ ์งœ ํ† ๊ธ€ ์‹œ, ํ…์ŠคํŠธ๊ฐ€ null์ด ๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* feat: Modal UI ๊ตฌํ˜„

* refactor: ํ•„์š”์—†๋Š” z-index ์ œ๊ฑฐ

* feat: ๋Œ“๊ธ€ ๊ฒ€์ƒ‰ ์กฐ๊ฑด UI ์ถ”๊ฐ€

* refactor: useCommentList ์ปค์Šคํ…€ ํ›… ์ž‘์„ฑ

* refactor: useCalendar ์ปค์Šคํ…€ ํ›… ์ž‘์„ฑ

* refactor: useCommentPageIndex ์ปค์Šคํ…€ ํ›… ์ž‘์„ฑ

* refactor: CommentSearchCondition ์ปดํฌ๋„ŒํŠธ ์ถ”์ถœ

* fix: CommentList padding ์ˆ˜์ •

* refactor: Comment ์ปดํฌ๋„ŒํŠธ ๋ถ„๋ฆฌ

* feat: Statistics ํŽ˜์ด์ง€ ์…‹ํŒ…

* feat: chartjs ์ ์šฉ

* feat: DataTable UI ์ถ”๊ฐ€

* refactor: ์ฐจํŠธ hover ํšจ๊ณผ ์ถ”๊ฐ€

* fix: Storybook ์—๋Ÿฌ ํ•ด๊ฒฐ

* feat: ๋Œ“๊ธ€ ํ†ต๊ณ„์— ๋‚ ์งœ ์„ ํƒ UI ์ถ”๊ฐ€

* refactor: ์Šคํƒ€์ผ ๋ฆฌํŒฉํ„ฐ๋ง

* refactor: hook ๋น„๋™๊ธฐ ๋กœ์ง์— ์—๋Ÿฌํ•ธ๋“ค๋ง ์ถ”๊ฐ€

* fix: ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€ ๊ด€๋ฆฌ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์ž„์‹œ๋กœ ์ถ”๊ฐ€

* feat: ์œ ์ € ์ด๋ฆ„ 20์ž ์ œํ•œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๋Œ“๊ธ€ ์กฐํšŒ๋ฅผ ๊ฒ€์ƒ‰์–ด์™€ ๋‚ ์งœ ์กฐ๊ฑด์„ ์ ์šฉํ•˜์—ฌ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* fix: key prop ์ ์šฉ์•ˆ๋œ ๋ถ€๋ถ„ ์ˆ˜์ •

* refactor: ๋ถˆํ•„์š”ํ•œ api ์ œ๊ฑฐ

* chore: ๋ถˆํ•„์š”ํ•œ ์›นํŒฉ ํ”Œ๋Ÿฌ๊ทธ์ธ ์‚ญ์ œ

* refactor: login api ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ ์šฉ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์—๋Ÿฌ ํ•ธ๋“ค๋ง

* feat: ๋Œ“๊ธ€ ํ†ต๊ณ„ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๋‹ฌ๋ ฅ์—์„œ ๊ณผ๊ฑฐ/์˜ค๋Š˜๋งŒ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* refactor: 1๋…„ ์ด๋‚ด์˜ ๋Œ“๊ธ€ ํ†ต๊ณ„๋งŒ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ๊ธฐ๋Šฅ ๊ฐœ์„  (#441) (#447)

* [FE][๋ฐฐํฌ ์ฝ”๋“œ] CI/CD development, production ํ™˜๊ฒฝ ๋ถ„๊ธฐ (#400) (#401)

* refactor: Object.freeze๋ฅผ as const ๊ตฌ๋ฌธ์œผ๋กœ ๋ณ€๊ฒฝ

* chore: ๋ฐฐํฌ์ฝ”๋“œ CI/CD dev, prod ํ™˜๊ฒฝ ๋ถ„๊ธฐ

* refactor: reply module url ์ƒ์ˆ˜ํ™”

* refactor: Calendar UI ๋ฆฌํŒฉํ„ฐ๋ง

* feat: SearchCondition Component ์ถ”๊ฐ€

* refactor: Calendar UI ๋ฆฌํŒฉํ„ฐ๋ง

* refactor: Calender UI ๋ชจ๋ฐ”์ผ ๋ทฐ ์ˆ˜์ •

* fix: ๋‚ ์งœ ํ† ๊ธ€ ์‹œ, ํ…์ŠคํŠธ๊ฐ€ null์ด ๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* feat: Modal UI ๊ตฌํ˜„

* refactor: ํ•„์š”์—†๋Š” z-index ์ œ๊ฑฐ

* feat: ๋Œ“๊ธ€ ๊ฒ€์ƒ‰ ์กฐ๊ฑด UI ์ถ”๊ฐ€

* refactor: useCommentList ์ปค์Šคํ…€ ํ›… ์ž‘์„ฑ

* refactor: useCalendar ์ปค์Šคํ…€ ํ›… ์ž‘์„ฑ

* refactor: useCommentPageIndex ์ปค์Šคํ…€ ํ›… ์ž‘์„ฑ

* refactor: CommentSearchCondition ์ปดํฌ๋„ŒํŠธ ์ถ”์ถœ

* fix: CommentList padding ์ˆ˜์ •

* refactor: Comment ์ปดํฌ๋„ŒํŠธ ๋ถ„๋ฆฌ

* feat: Statistics ํŽ˜์ด์ง€ ์…‹ํŒ…

* feat: chartjs ์ ์šฉ

* feat: DataTable UI ์ถ”๊ฐ€

* refactor: ์ฐจํŠธ hover ํšจ๊ณผ ์ถ”๊ฐ€

* fix: Storybook ์—๋Ÿฌ ํ•ด๊ฒฐ

* feat: ๋Œ“๊ธ€ ํ†ต๊ณ„์— ๋‚ ์งœ ์„ ํƒ UI ์ถ”๊ฐ€

* refactor: ์Šคํƒ€์ผ ๋ฆฌํŒฉํ„ฐ๋ง

* refactor: hook ๋น„๋™๊ธฐ ๋กœ์ง์— ์—๋Ÿฌํ•ธ๋“ค๋ง ์ถ”๊ฐ€

* fix: ํ…Œ์ŠคํŠธ ์˜ค๋ฅ˜ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€ ๊ด€๋ฆฌ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์ž„์‹œ๋กœ ์ถ”๊ฐ€

* feat: ์œ ์ € ์ด๋ฆ„ 20์ž ์ œํ•œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๋Œ“๊ธ€ ์กฐํšŒ๋ฅผ ๊ฒ€์ƒ‰์–ด์™€ ๋‚ ์งœ ์กฐ๊ฑด์„ ์ ์šฉํ•˜์—ฌ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* fix: key prop ์ ์šฉ์•ˆ๋œ ๋ถ€๋ถ„ ์ˆ˜์ •

* refactor: ๋ถˆํ•„์š”ํ•œ api ์ œ๊ฑฐ

* chore: ๋ถˆํ•„์š”ํ•œ ์›นํŒฉ ํ”Œ๋Ÿฌ๊ทธ์ธ ์‚ญ์ œ

* refactor: login api ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ ์šฉ

* refactor: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์—๋Ÿฌ ํ•ธ๋“ค๋ง

* feat: ๋Œ“๊ธ€ ํ†ต๊ณ„ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๋‹ฌ๋ ฅ์—์„œ ๊ณผ๊ฑฐ/์˜ค๋Š˜๋งŒ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* refactor: 1๋…„ ์ด๋‚ด์˜ ๋Œ“๊ธ€ ํ†ต๊ณ„๋งŒ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€ ๊ด€๋ฆฌ ์ž‘์„ฑ์ž ํ‘œ๊ธฐ ui ์ถ”๊ฐ€

* feat: input ๊ธธ์ด validation ์ถ”๊ฐ€

- ์œ ์ € ํ”„๋กœํ•„ ์ •๋ณด
- ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ
- ๋Œ“๊ธ€ ๊ด€๋ฆฌ ๊ฒ€์ƒ‰์–ด

* feat: ๋Œ“๊ธ€ ํ†ต๊ณ„ ๋‚ ์งœ ์ดˆ๊ธฐ๊ฐ’ ๋กœ์ง ๊ตฌํ˜„

* refactor: ํ†ต๊ณ„ ๋ฐ์ดํ„ฐ๊ฐ€ 1๊ฐœ์ผ๋•Œ, ์ฐจํŠธ๋ฅผ ์ค‘์•™์— ํ‘œ๊ธฐํ•˜๋„๋ก ๋ณ€๊ฒฝ

* fix: ๋Œ“๊ธ€ ํ†ต๊ณ„ ์กฐํšŒ๊ฐ€ ์•ˆ๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* feat: ํ†ต๊ณ„ ์‹œ๊ฐ„ ์˜ต์…˜ ๋ฒ„ํŠผ์— ํˆดํŒ ์ถ”๊ฐ€

* refactor: ๋‹ฌ๋ ฅ ๋ชจ๋‹ฌ์ด ๋‚ ์งœ ์ธํ’‹ ์•„๋ž˜์— ๋…ธ์ถœ๋˜๋„๋ก ์ˆ˜์ •

* chore: gitignore ์ˆ˜์ •

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ๋Œ€๋Œ“๊ธ€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#406) (#454)

* refactor: ๋Œ“๊ธ€ ์กฐํšŒ api ๋ช…์„ธ ์ˆ˜์ • ๋ฐ˜์˜

* refactor: commentInput ๋ฐ UserAvatarOption ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€ ๋”๋ณด๊ธฐ ๊ธฐ๋Šฅ ์‚ญ์ œ

* feat: ๋Œ€๋Œ“๊ธ€ UI ๊ตฌํ˜„

* refactor: ์Šคํƒ€์ผ ํฌ๊ธฐ ์ถ•์†Œ

* refactor: ๋กœ๊ทธ์ธ ์š”์ฒญ ๋ฐฉ์‹ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€ ์Šค์ผˆ๋ ˆํ†ค UI ์ ์šฉ

* feat: ๋Œ€๋Œ“๊ธ€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋Œ€๋Œ“๊ธ€, ๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐฝ ์ƒ์„ฑ ์‹œ ํฌ์ปค์Šค ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๋ชจ๋ฐ”์ผ ๋ฐ˜์‘ํ˜• ์Šคํƒ€์ผ๋ง

* test: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ • ์‚ฌํ•ญ ๋ฐ˜์˜

* feat: ๋กœ๊ทธ์ธ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•œ ์ฑ„ ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#455)

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ๊ฐœ๋ฐœ์ค‘์ธ ํŽ˜์ด์ง€์šฉ UI ๊ตฌํ˜„ (#459) (#460)

* feat: ๊ฐœ๋ฐœ์ค‘์ธ ํŽ˜์ด์ง€ UI ๊ตฌํ˜„

* refactor: font weight 800์ธ ๊ฒƒ๋“ค์„ 700์œผ๋กœ ์ˆ˜์ •

* refactor: ์•ˆ ์“ฐ๋Š” fixture User ์‚ญ์ œ

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] QA ํ”ผ๋“œ๋ฐฑ ๋ฐ˜์˜ (#464) (#465)

* feat: ์—๋Ÿฌ ๋ฐ”์šด๋”๋ฆฌ ์ ์šฉ ๋ฐ ์—๋Ÿฌ UI ๊ตฌํ˜„

* refactor: ์œ ํšจํ•œ ์‚ฌ์ด๋“œ๋ฐ” ํด๋ฆญ ์‹œ, ์‚ฌ์ด๋“œ๋ฐ”๊ฐ€ ๋‹ซํžˆ๋„๋ก ์ˆ˜์ •

* fix: ์Šคํฌ๋ฆฐ์˜ ๊ฐ€๋กœ๊ธธ์ด๊ฐ€ ์ข์•„์ง€๋ฉด ์ œ๊ฑฐ๋ฒ„ํŠผ์˜ ํ…์ŠคํŠธ๊ฐ€ ๊ฐœํ–‰๋˜๋Š” ์ด์Šˆ ์ˆ˜์ •

* refactor: ๋Œ“๊ธ€ ๊ด€๋ฆฌ์—์„œ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๋Œ“๊ธ€์—๋Œ€ํ•œ ์˜ˆ์™ธ ์ถ”๊ฐ€

* feat: ์œ ์ € ํ”„๋กœํ•„ ์‚ฌ์ง„ ์šฉ๋Ÿ‰ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์ถ”๊ฐ€

* refactor: ํŒŒ์ผ ์šฉ๋Ÿ‰์„ 1MB์—์„œ 5MB๋กœ ๋ณ€๊ฒฝ

* refactor: DesktopNav์—์„œ ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ฐ€๋Šฅํ•˜๋„๋ก ๋ณ€๊ฒฝ

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] QA ํ”ผ๋“œ๋ฐฑ ๋ฐ˜์˜ (#457) (#466)

* refactor: ๋Œ€๋Œ“๊ธ€ ๋‹ฌ๊ธฐ๋ฅผ ๋‹ต๊ธ€ ๋‹ฌ๊ธฐ๋กœ ๋ณ€๊ฒฝ

* refactor: onShowMoreComment ์‚ญ์ œ

* refactor: ์ž‘์„ฑ์ž๋ฅผ ์šด์˜์ž๋กœ ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ ๊ธธ์ด ์ œํ•œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ์‚ญ์ œ๋œ ๋Œ“๊ธ€ CRUD alert ์ถ”๊ฐ€

* feat: sentry ์ ์šฉ ๋ฐ ์—๋Ÿฌ ๋ฐ”์šด๋”๋ฆฌ ์ƒ์„ฑ

* fix: ์ตœ์ดˆ ๋ Œ๋”๋ง ์‹œ ๋Œ“๊ธ€ ์ž…๋ ฅ ์ฐฝ์ด ํฌ์ปค์Šค ๋˜๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: sentry auth token ์‚ญ์ œ

* feat: sentry env ์ถ”๊ฐ€

* feat: sentry env ์ถ”๊ฐ€

* refactor: types ์„ค์ • ์ˆ˜์ •

* refactor: BE์™€ ์„ค์ • ๋™๊ธฐํ™”

* refactor: ํ†ต๊ณ„ ํŽ˜์ด์ง€ small view ๋Œ€์‘ (#471)

* refactor: ์œ ์ € ํ”„๋กœํ•„ ์ˆ˜์ • ์‹œ, ๋กœ๋”ฉ๋˜๋Š” ๋™์•ˆ ์ˆ˜์ • ๋ฒ„ํŠผ Disabled ๋˜๋„๋ก ๋ณ€๊ฒฝ (#472)

* fix: ํ†ต๊ณ„ ํŽ˜์ด์ง€ ์ฃผ๊ธฐ ๋ณ€๊ฒฝ ์‹œ ๋ฐœ์ƒํ•˜๋Š” ๋ธ”๋งํฌ ํ˜„์ƒ ์ˆ˜์ •

* feat: url๊ณผ project secret key๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ

* refactor: ๋Œ“๊ธ€ ๋ชจ๋“ˆ production api ์ฃผ์†Œ ๋ณ€๊ฒฝ

* chore: fe ์„ฑ๋Šฅ ์ธก์ •์šฉ ์›นํŒฉ ์„ค์ •

* feat: ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€ ์ฝ”๋“œ ์Šคํ”Œ๋ฆฌํŒ…

* refactor: ๊ด€๋ฆฌ ํŽ˜์ด์ง€ ์ฐจํŠธ ๊ฐ€๋กœ์ถ• ์Šคํฌ๋กค ์ œ๊ฑฐ

* test: react syntax highlighter ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor: webpack-bundle-analyzer ์ œ๊ฑฐ

* refactor: react-syntax-highlighter light version์œผ๋กœ ๋ณ€๊ฒฝ

* [FE][๊ณตํ†ต] ์›น ์ ‘๊ทผ์„ฑ ๋ฐ SEO ๊ฐœ์„  ๊ฐ€๋Šฅํ•œ ๋ถ€๋ถ„ ์ฒ˜๋ฆฌ (#473) (#474)

* feat: ๊ด€๋ฆฌ์ž Home ํŽ˜์ด์ง€ ์ ‘๊ทผ์„ฑ, SEO ๊ฐœ์„ 

* feat: ๋Œ“๊ธ€ ๊ด€๋ฆฌ ํŽ˜์ด์ง€ ์‹œ๋งจํ‹ฑ ํƒœ๊ทธ ์ˆ˜์ •

* feat: ์œ ์ € ํ”„๋กœํ”จ ํŽ˜์ด์ง€ ์ด๋ฏธ์ง€ alt์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€ ๋ชจ๋“ˆ index.html์— meta ํƒœ๊ทธ ์ถ”๊ฐ€

* refactor: reply-module์˜ ๊ด€๋ฆฌ์žํŽ˜์ด์ง€ ์ฃผ์†Œ ๊ฐœ๋ฐœ, ๋ฐฐํฌ ๋ชจ๋“œ ๋ถ„๊ธฐ

* refactor: ๋Œ“๊ธ€ ๋ชจ๋“ˆ ๋ฐฐํฌ์šฉ ์—”๋“œํฌ์ธํŠธ ๋„๋ฉ”์ธ ์—ฐ๊ฒฐ

- https://reply-darass.o-r.kr

* refactor: workflows branches์— main ๋ธŒ๋žœ์น˜ ์ถ”๊ฐ€

* feat: ๋กœ๋”ฉ ํŽ˜์ด์ง€ ์ถ”๊ฐ€

* refactor: script ๋ฐฐํฌ ํ™˜๊ฒฝ ์„ ํƒ ๋ฒ„ํŠผ margin ์กฐ์ •

* refactor: main์—์„œ ์‚ฌ์šฉ๋  workflows ์ƒ์„ฑ

* release: v1.0.0 (#479)

* feat: Nav ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* feat: Home ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* feat: Login ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* feat: Login ํŽ˜์ด์ง€ ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ ๋ฐ ์นด์นด์˜ค ์•ก์„ธ์Šค ํ† ํฐ ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* [BE] Oauth ๊ด€๋ จ API ๊ตฌํ˜„ (#12)

* feat: ์œ ์ € ํ…Œ์ด๋ธ” ๋งคํ•‘

* refactor: User ํด๋ž˜์Šค๋ฅผ ์ถ”์ƒํด๋ž˜์Šค๋กœ ๋ณ€๊ฒฝ, ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* feat: Project ์—”ํ‹ฐํ‹ฐ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€ ํ…Œ์ด๋ธ” ๋งคํ•‘

* feat: ๊ฐ ๋„๋ฉ”์ธ์— ํ•ด๋‹นํ•˜๋Š” Repository ์ธํ„ฐํŽ˜์ด์Šค ์ƒ์„ฑ

* feat: ์นด์นด์˜ค ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: jwt ํ† ํฐ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: oauth ๋กœ๊ทธ์ธ ๋กœ์ง ๋ฆฌํŒฉํ† ๋ง

* refactor: ํ† ํฐ ์‹œํฌ๋ฆฟํ‚ค์™€ ๋งŒ๋ฃŒ๊ธฐํ•œ ๊ฐ’์„ ์„ค์ • ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌ

* feat: ์นด์นด์˜ค api ์„œ๋ฒ„ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ ๋ฐ ์ธ์ฆ ๊ด€๋ จ ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง

* feat: ์ƒˆ๋กœ์šด ์‚ฌ์šฉ์ž์ธ ๊ฒฝ์šฐ์—๋งŒ ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ DB์— ์ €์žฅํ•˜๋„๋ก ๊ตฌํ˜„

Co-authored-by: jujubebat <[email protected]>
Co-authored-by: JinYoung Park <[email protected]>
Co-authored-by: jaeseongDev <[email protected]>

* feat: ์Šคํ”„๋ง ์ธํ„ฐ์…‰ํ„ฐ์„ ์ด์šฉํ•˜์—ฌ ํ† ํฐ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๋กœ์ง ๊ตฌํ˜„ (#17)

* feat: cors ๋ฌธ์ œ ํ•ด๊ฒฐ (#20)

* [BE] ๋Œ“๊ธ€ ๊ด€๋ จ API ๊ตฌํ˜„ (#14)

* feat : ๋Œ“๊ธ€ ์ €์žฅ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€ ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: Aaron <[email protected]>

* fix: PATCH, DELETE ๋ฉ”์†Œ๋“œ์— ๋Œ€ํ•ด CORS ์ด์Šˆ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#27)

* feat: ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€ ๋ผ์šฐํŒ… ๊ธฐ๋Šฅ ๊ตฌํ˜„

* [BE] ํ”„๋กœ์ ํŠธ api ๊ตฌํ˜„ (#31)

* feat: ํ”„๋กœ์ ํŠธ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์‚ฌ์šฉ์ž ๋ณ„ ํ”„๋กœ์ ํŠธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํ”„๋กœ์ ํŠธ ์‚ญ์ œ  ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ๋‹จ์ผ ํ”„๋กœ์ ํŠธ ์กฐํšŒ  ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์•„์ด๋”” notfound ์˜ˆ์™ธ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

* feat: ScreenContainer min-height ์„ค์ •

* chore: babel polyfiil ์‚ญ์ œ

* chore: @babel/plugin-transform-runtime ์„ค์น˜

* feat: ๋Œ“๊ธ€ api์— ์–ด๋– ํ•œ ์œ ์ €๊ฐ€ ๋Œ“๊ธ€์„ ๋‹ฌ์•˜๋Š”์ง€ ํŒ๋‹จํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#26)

Co-authored-by: JinYoung Park <[email protected]>

* chore: ๋Œ“๊ธ€ ๋ชจ๋“ˆ ํ™˜๊ฒฝ์„ค์ •
- webpack
- typescript
- react
- storybook
- eslint, prettier

* [BE] RestDocs ์…‹ํŒ… (#32)

* chore: RestDocs ๊ด€๋ จ ์˜์กด์„ฑ ์ถ”๊ฐ€

* test: Acceptance ํ…Œ์ŠคํŠธ ์˜ˆ์‹œ ์ฝ”๋“œ ์ถ”๊ฐ€

* ๋Œ“๊ธ€ ๋ชจ๋“ˆ UI ๊ตฌํ˜„

commit 5e11f0c6576d0046a40da584d22917865def58cc
Author: yungo1846 <[email protected]>
Date:   Fri Jul 9 18:16:20 2021 +0900

    feat: CommentArea ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

commit dc81e5ecdacb9f287764055377704ffb385207d5
Author: zereight <[email protected]>
Date:   Fri Jul 9 17:57:30 2021 +0900

    feat: CommentInput ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

commit 465d069cd41d4a53e059e640a2b859af2d19c547
Author: yungo1846 <[email protected]>
Date:   Fri Jul 9 17:20:10 2021 +0900

    feat: CommentList ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

    Co-authored-by: zereight <[email protected]>

commit 49b23d006e11f4436cc967bf5b02fb003bc04f08
Author: zereight <[email protected]>
Date:   Fri Jul 9 16:27:12 2021 +0900

    feat: CommentOption ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

    Co-authored-by: Kiyung Kim <[email protected]>

commit f235c3e168bf7e5768ce8001d481c8925d99734e
Author: yungo1846 <[email protected]>
Date:   Fri Jul 9 12:08:39 2021 +0900

    feat: Comment ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

commit cd482276720bb7f9949b42b1d7761392b34551e8
Author: yungo1846 <[email protected]>
Date:   Fri Jul 9 12:08:20 2021 +0900

    refactor: Comment ์ปดํฌ๋„ŒํŠธ ์ด๋ฆ„์„ CommentTextBox๋กœ ๋ณ€๊ฒฝ

commit 4cc09bf9485f13c1b73a4511388a95566aee6bac
Author: zereight <[email protected]>
Date:   Fri Jul 9 11:28:33 2021 +0900

    feat: Avatar ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

commit b537a6567ae21cad0d0e4fdba3c79a8da211f5ff
Author: zereight <[email protected]>
Date:   Fri Jul 9 11:26:13 2021 +0900

    feat: Comment ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

commit 1760794f21e835474684b0b4a9cf57d639f3e5e2
Author: yungo1846 <[email protected]>
Date:   Fri Jul 9 10:50:15 2021 +0900

    feat: SubmitButton ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

commit 766ce29962f7aa27f10d705bc2ab7f300f217455
Author: yungo1846 <[email protected]>
Date:   Fri Jul 9 10:39:45 2021 +0900

    feat: GlobalStyles ์ ์šฉ

    Co-authored-by: zereight <[email protected]>

* [BE] ํ™˜๊ฒฝ๋ณ„ profile ์„ค์ • (#39)

* feat: LAZY ์˜ต์…˜ ์ถ”๊ฐ€ (#37)

* feat: ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ํด๋ž˜์Šค ์ •๋ฆฌ (#43)

* chore: ์ž˜๋ชป๋œ include ๊ฒฝ๋กœ ์ œ๊ฑฐ

* refactor: GlobalStyle๊ณผ ์ค‘๋ณต๋œ ์Šคํƒ€์ผ ์ œ๊ฑฐ

* [BE] oauth ํŒŒํŠธ ๋ฆฌํŒฉํ† ๋ง (#38)

* refactor: SocialLoginUser ๊ฐ์ฒด์ƒ์„ฑ ๋กœ์ง์„ UserInfoProvider๋กœ ์ด๋™

* refactor: SocialLoginUser ๊ฐ์ฒด์ƒ์„ฑ ๋กœ์ง์„ UserInfoProvider๋กœ ์ด๋™

* refactor: AuthService์™€ OAtuhService๋ฅผ ํ†ตํ•ฉ ์ง„ํ–‰
- JwtTokenProviderTest, OAuthServiceTest ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€ํ•จ

* refactor: ์˜ˆ์™ธ ๋ฐœ์ƒ ๋กœ์ง ๋ฆฌํŒฉํ„ฐ๋ง

* refactor: null ํ•˜๋“œ์ฝ”๋”ฉ ์ œ๊ฑฐ

* feat: ๊นƒํ—ˆ๋ธŒ ์•ก์…˜์„ ์ด์šฉํ•˜์—ฌ CI ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#46)

* fix: button, input์— ํฐํŠธ ์ถ”๊ฐ€

- Noto sans

* [BE] RestDocs๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์ธ์ˆ˜ํ…Œ์ŠคํŠธ ์ž‘์„ฑ - /api/v1/projects (#33)

* feat: ์ธ์ฆ์— ๊ด€๋ จ๋œ ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: ํ•„์ˆ˜ ๋กœ๊ทธ์ธ argument resolver ์ถ”๊ฐ€

* feat: ํ•„์ˆ˜ ๋กœ๊ทธ์ธ ๊ฒ€์ฆ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: REST DOCS ์ „์ฒด ํ˜•์‹ ์ˆ˜์ •

* [BE] REST DOCS ์„ค์ • ์ˆ˜์ •, ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€ (#62)

* refactor: restdocs ์„ค์ • ์ˆ˜์ •

* feat: spring boot validation ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat: ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ๋ธŒ๋ผ์šฐ์ € ์ฟ ํ‚ค์— read/writeํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#56) (#57)

* feat: ์ฟ ํ‚ค read/write ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ์ฟ ํ‚ค๋ฅผ ๋ชป์ฐพ์€ ๊ฒฝ์šฐ null ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ˆ˜์ •

* feat: getTimeDifference ํ•จ์ˆ˜ ์ถ”๊ฐ€

Co-authored-by: Kiyung Kim <[email protected]>

* chore: ์›นํŒฉ์—์„œ ๋ฐ”๋ฒจ์„ค์ •์„ .babelrc๋กœ ์ถ”์ถœ

* feat: week ๋‹จ์œ„ ์ถ”๊ฐ€

* test: getTimeDifference ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: AuthenticatedRoute๋ฅผ ConditionalRoute๋กœ ๋ณ€๊ฒฝ

* [BE] ์—”ํ‹ฐํ‹ฐ๊ฐ€ DB์— ์ €์žฅ๋ ๋•Œ ์ƒ์„ฑ, ์ˆ˜์ • ์‹œ๊ฐ„์ด ์ž๋™์œผ๋กœ ์ €์žฅ๋˜๊ฒŒ ํ•œ๋‹ค. (#61)

* feat: Entity๋“ค์˜ ์ƒ์„ฑ, ์ˆ˜์ • ์‹œ๊ฐ„ ์ €์žฅ์„ ์œ„ํ•œ BaseTimeEntity ํด๋ž˜์Šค ๊ตฌํ˜„

* style: ์ฝ”๋“œ ํฌ๋ฉ”ํŒ… ์ˆ˜์ •, ๋ถˆํ•„์š”ํ•œ import ๊ตฌ๋ฌธ ์ œ๊ฑฐ

* [BE] Jacoco ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ถ”๊ฐ€ํ•œ๋‹ค. (#66) (#67)

* chore: jacoco ํ”Œ๋Ÿฌ๊ทธ์ธ ์ถ”๊ฐ€

* [BE] ์—”ํ‹ฐํ‹ฐ๊ฐ€ DB์— ์ €์žฅ๋ ๋•Œ ์ƒ์„ฑ, ์ˆ˜์ • ์‹œ๊ฐ„์ด ์ž๋™์œผ๋กœ ์ €์žฅ๋˜๊ฒŒ ํ•œ๋‹ค. (#61)

* feat: Entity๋“ค์˜ ์ƒ์„ฑ, ์ˆ˜์ • ์‹œ๊ฐ„ ์ €์žฅ์„ ์œ„ํ•œ BaseTimeEntity ํด๋ž˜์Šค ๊ตฌํ˜„

* style: ์ฝ”๋“œ ํฌ๋ฉ”ํŒ… ์ˆ˜์ •, ๋ถˆํ•„์š”ํ•œ import ๊ตฌ๋ฌธ ์ œ๊ฑฐ

* chore: jacoco ํ”Œ๋Ÿฌ๊ทธ์ธ ์ถ”๊ฐ€

* [BE] Docker๋ฅผ ํ™œ์šฉํ•œ ์ธํ”„๋ผ ์…‹ํŒ… (Proxy Server, Application Server, DB Server) (#69)

* feat: Docker ๊ด€๋ จ ํŒŒ์ผ ์ถ”๊ฐ€

* refactor: Dockerfile์—์„œ openjdk ๋ฒ„์ „ ๋ช…์‹œ

* feat: application.yml ํŒŒ์ผ๋“ค ์ˆ˜์ • (#75)

* feat: ๋Œ“๊ธ€ ๋ชจ๋“ˆ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

commit 1e8b0811d7755aa2ff6a322a7e94c7a7b6b617ce
Author: yungo1846 <[email protected]>
Date:   Tue Jul 13 21:29:06 2021 +0900

    feat: ๋กœ๊ทธ์ธ ์ƒํƒœ์— ๋”ฐ๋ฅธ UI ์ƒํ˜ธ์ž‘์šฉ ์ถ”๊ฐ€

commit bf1fb4d761726d6782301e5e345ca820ef4e1094
Author: zereight <[email protected]>
Date:   Tue Jul 13 20:23:47 2021 +0900

    refactor: BASE URL ์ˆ˜์ •

    Co-authored-by: Kiyung Kim <[email protected]>

commit 10b436f367d331c7c30ed883bac571b6e0513ca0
Author: zereight <[email protected]>
Date:   Tue Jul 13 17:38:49 2021 +0900

    feat: ์„œ๋ฒ„ ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

commit 19e3e9d410b0d3f545f1aaffea1b0fa7bf1f190f
Author: zereight <[email protected]>
Date:   Tue Jul 13 16:48:18 2021 +0900

    feat: Kakao ์•ก์„ธ์„œํ† ํฐ์œผ๋กœ ์„œ๋ฒ„ ์•ก์„ธ์Šคํ† ํฐ์„ ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

commit fec56d56eb7719617b2ee3cb3b187db77f5c7c3a
Author: zereight <[email protected]>
Date:   Tue Jul 13 14:39:02 2021 +0900

    feat: kakao login ๊ธฐ๋Šฅ ์ถ”๊ฐ€

commit 6ac187b1caa5986b60bd1f3f2dc5c745a916115e
Author: zereight <[email protected]>
Date:   Tue Jul 13 13:39:40 2021 +0900

    feat: CommentPage ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ

commit d319e5d1ac38f7439bf8917a75051bfb19f47ff0
Author: yungo1846 <[email protected]>
Date:   Tue Jul 13 11:50:58 2021 +0900

    feat: media query๋กœ html font-size ์„ค์ •

    Co-authored-by: zereight <[email protected]>

commit a989720dd220e55106c11313784aca83e5773c7e
Author: yungo1846 <[email protected]>
Date:   Mon Jul 12 22:11:45 2021 +0900

    fix: UserAvatarOption์˜ style์ด ์ ์šฉ๋˜์ง€ ์•Š๋˜ ์˜ค๋ฅ˜ ์ˆ˜์ •

commit 96db22a5333c6415da9655c3fb083c18d883faa0
Author: zereight <[email protected]>
Date:   Mon Jul 12 22:00:49 2021 +0900

    feat: UserAvatarOption ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

commit 4c75177a7dfbef8efe5882ddf3632485ec32b8f8
Author: yungo1846 <[email protected]>
Date:   Mon Jul 12 18:27:16 2021 +0900

    feat: UserOption ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* [BE] ๋Œ“๊ธ€ api ๋ฆฌํŒฉํ† ๋ง  (#24)

* test: ๋Œ“๊ธ€ ์ž‘์„ฑ ์„ฑ๊ณต ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ๋Œ“๊ธ€ save ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ† ๋ง

* test: ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํ”„๋กœ์ ํŠธ๋กœ ๋Œ“๊ธ€ ์ƒ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ๋Œ“๊ธ€ ์กฐํšŒ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ ๋ฐ ๋ฆฌํŒฉํ† ๋ง

* refactor: ๋Œ“๊ธ€ ์ˆ˜์ • ํ…Œ์ŠคํŠธ ์ž‘์„ฑ ๋ฐ ๋Œ“๊ธ€ Not found ์˜ˆ์™ธ์ฒ˜๋ฆฌ

* feat: ๋Œ“๊ธ€ ์ˆ˜์ •์‹œ ์œ ์ € ์ •๋ณด ๊ฒ€์ฆ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* feat: ๋Œ“๊ธ€ ์ˆ˜์ •์‹œ ์œ ์ € ์ •๋ณด ๊ฒ€์ฆ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ๋ฉ”์†Œ๋“œ๋ช… ๋ณ€๊ฒฝ ๋ฐ‘ ์ค‘๋ณต ์ œ๊ฑฐ

* refactor: ๋ฉ”์†Œ๋“œ๋ช… ๋ณ€๊ฒฝ ๋ฐ‘ ์ค‘๋ณต ์ œ๊ฑฐ

* refactor: ๋ฐ˜ํ™˜ ๊ฐ’ ๋ช…์นญ ๋ณ€๊ฒฝ ๋ฐ ์‘๋‹ต์— ๋Œ“๊ธ€ ์ƒ์„ฑ ์‹œ๊ฐ„ ์ถ”๊ฐ€

* chore: jacoco ๊ธฐ์ค€ ์ž„์‹œ ์™„ํ™”

* feat: ์„œ๋ธŒ๋ชจ๋“ˆ ์ตœ์‹ ํ™”

* test: ๋กœ๊ทธ์ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

commit da12e555763d615ebcd7d5b8cfc7193ff2e25742
Author: zereight <[email protected]>
Date:   Wed Jul 14 14:45:31 2021 +0900

    test: login ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

    Co-authored-by: Kiyung Kim <[email protected]>

commit d118f698a0b2d01b94f2544f48e42b0dabbe402e
Author: zereight <[email protected]>
Date:   Wed Jul 14 06:55:02 2021 +0900

    test: cookie ์œ ํ‹ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: ์ถ”๊ฐ€์ ์ธ ์Šคํƒ€์ผ๋ง์ด ํ•„์š”ํ•œ ์žฌ์‚ฌ์šฉ ์ปดํฌ๋„ŒํŠธ์— className ์ถ”๊ฐ€ ๋ฐ ๊ธฐ์กด wrapper์ œ๊ฑฐ

* refactor: ์‚ฌ์šฉ์ž ์ธ์ฆ์ด ํ•„์š”ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ request ํ—ค๋”์—์„œ Authorization ์ œ๊ฑฐ

* [BE] ๊นƒํ—ˆ๋ธŒ ์•ก์…˜์„ ์ด์šฉํ•˜์—ฌ CD๋ฅผ ์ ์šฉํ•œ๋‹ค. (#70)

* feat: ๊นƒํ—ˆ๋ธŒ ์•ก์…˜์„ ํ™œ์šฉํ•˜์—ฌ CD ๊ตฌํ˜„

* refactor: clean build ํ•˜๋„๋ก ์ˆ˜์ •

* docs: ๋Œ“๊ธ€ API Rest docs ๋ฐ˜์˜ (#96)

* [BE] ์„œ๋ฒ„์—์„œ ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ, ์Šฌ๋ž™์œผ๋กœ ์•Œ๋žŒ์˜ค๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#81) (#97)

* feat: github action์„ slack๊ณผ ์—ฐ๋™ํ•˜์—ฌ ์•Œ๋ฆผ๋ฐ›๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: ๋ถˆํ•„์š”ํ•œ ๋“ค์—ฌ์“ฐ๊ธฐ ์ œ๊ฑฐ

* [BE] pr์„ ๋ณด๋‚ผ ๋•Œ๋Š” CI๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ , ์„ฑ๊ณต์ ์œผ๋กœ merge๊ฐ€ ๋  ๋•Œ CD๊นŒ์ง€ ์ˆ˜ํ–‰ํ•œ๋‹ค. (#98) (#103)

* feat: pr ์ฒดํฌ์šฉ workflows ๊ตฌํ˜„

* refactor: ๋ธŒ๋žœ์น˜๋ช… ์ˆ˜์ •

* feat: push ์ „์šฉ workflows ๊ตฌํ˜„

* Update pr_checker.yml

* Update pr_checker.yml

* Update pr_checker.yml

* Update push_builder.yml

* [BE] gradle์—์„œ RestDocs๊ฐ€ ํ•œ ๋ฐ•์ž ๋Šฆ๊ฒŒ ์ ์šฉ๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •ํ•˜๊ธฐ (#94) (#105)

* [BE] pr์—์„œ merge๋œ feature ๋ธŒ๋žœ์น˜๋Š” ์ž๋™์œผ๋กœ ์‚ญ์ œํ•œ๋‹ค. (#104) (#107)

* refactor: jobs ์ด๋ฆ„ ๋ณ€๊ฒฝ

* feat: close๋œ pr์— ๋Œ€ํ•ด์„œ merge๋œ ๋ธŒ๋žœ์น˜ ์ž๋™ ์‚ญ์ œํ•˜๋„๋ก ๊ตฌํ˜„

* refactor: main ๋ธŒ๋žœ์น˜์— ๋Œ€ํ•ด์„œ๋„ CI ์ˆ˜ํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* style: workflows๋ช… ์ˆ˜์ • (#108) (#109)

* feat: query string์—์„œ url, accesstoken ์ฝ์–ด์˜ค๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

commit a91a313f44c7cfceb197704fa47a35d541f30b99
Author: zereight <[email protected]>
Date:   Thu Jul 15 09:24:53 2021 +0900

    feat: query string์—์„œ url, accesstoken ์ฝ์–ด์˜ค๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

commit 9f677bdb04a391b235d5ccfab22368758dcc1f27
Author: zereight <[email protected]>
Date:   Wed Jul 14 22:36:51 2021 +0900

    refactor: pageMaxWidth ์ œ๊ฑฐ

* [BE] gradle์—์„œ RestDocs๊ฐ€ ํ•œ ๋ฐ•์ž ๋Šฆ๊ฒŒ ์ ์šฉ๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •ํ•˜๊ธฐ (#94) (#110)

* fix: gralde์—์„œ RestDocs๊ฐ€ ํ•œ ๋ฐ•์ž ๋Šฆ๊ฒŒ ์ ์šฉ๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •ํ•˜๊ธฐ

* fix: REST DOCS๊ฐ€ ํ•œ ๋ฐ•์ž ๋Šฆ๊ฒŒ ๋ฐ˜์˜๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* feat: deploy script ์ถ”๊ฐ€

* [BE] ์œ ์ € ์ •๋ณด ์กฐํšŒ api๋ฅผ ๋งŒ๋“ ๋‹ค. (#86) (#101)

* feat: User ์กฐํšŒ, ์ˆ˜์ •, ์‚ญ์ œ api ๊ตฌํ˜„

* feat: ์œ ์ € ์ธ์ˆ˜ํ…Œ์ŠคํŠธ ๋ฆฌํŒฉํ„ฐ๋ง

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋””์Šคํ”Œ๋ ˆ์ด ๋„ค์ž„ ์ˆ˜์ •

* docs: ์œ ์ € api rest docs ์ถ”๊ฐ€

* refactor: ๋””๋ฏธํ„ฐ์˜ ๋ฒ•์น™ ์ ์šฉ

* refactor: ๋””์Šคํ”Œ๋ ˆ์ด ๋„ค์ž„ ๋” ๋ช…ํ™•ํ•˜๊ฒŒ ์ˆ˜์ •

* feat: ํ”„๋กœ์ ํŠธ ๊ด€๋ จ ํŽ˜์ด์ง€ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

commit afde74517b2e10c99eb19eea602bdf1d22b1c013
Author: zereight <[email protected]>
Date:   Thu Jul 15 15:51:34 2021 +0900

    feat: ScriptPublishing ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

commit d8b034d154f0e28b15e07032b20e873ed3b3e227
Author: zereight <[email protected]>
Date:   Thu Jul 15 15:28:13 2021 +0900

    feat: NewProject ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

commit 48ff7e8971c5242379c9cce9e77b0a80c324a5ad
Author: yungo1846 <[email protected]>
Date:   Thu Jul 15 12:05:24 2021 +0900

    feat: MyProject ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

commit 2257e42b6968a31686e66bd4125f908bc379ca9b
Author: yungo1846 <[email protected]>
Date:   Thu Jul 15 11:31:50 2021 +0900

    feat: SubmitButton ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

commit 32ced1c2e210b099e32b2fc8f173e1a8c9c92696
Author: yungo1846 <[email protected]>
Date:   Thu Jul 15 11:23:31 2021 +0900

    feat: ProjectButton ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* ํ”„๋กœ์ ํŠธ ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ์‹œ ํ”„๋กœ์ ํŠธ ํ‚ค๋ฅผ ๋งŒ๋“ ๋‹ค. (#111) (#116)

* [BE] URL๊ณผ ํ”„๋กœ์ ํŠธ ํ‚ค๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋Œ“๊ธ€์„ ์กฐํšŒํ•œ๋‹ค.(#112) (#118)

* fix: ์‚ญ์ œ๋œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ณต๊ตฌ

* refactor: url๊ณผ ํ”„๋กœ์ ํŠธ ํ‚ค ๊ธฐ์ค€์œผ๋กœ ๋Œ“๊ธ€ ์กฐํšŒ ๊ฐ€๋Šฅํ•˜๋„๋ก ๋ฆฌํŒฉํ„ฐ๋ง

* chore: ๋ถˆํ•„์š”ํ•œ ํŒŒ์ผ ์‚ญ์ œ

* feat: ํŽ˜์ด์ง€ ๋ผ์šฐํŒ… ๋ฐ ๋กœ๊ทธ์ธ ๋กœ์ง ๋ฆฌํŒฉํ„ฐ๋ง

commit b9452d79076449e094d0d8e5687fdb8c3dea453d
Author: zereight <[email protected]>
Date:   Fri Jul 16 01:11:19 2021 +0900

    refactor: ๋กœ๊ทธ์ธ ๋กœ์ง ๋ฆฌํŒฉํ„ฐ๋ง

    - ์ƒˆ๋กœ๊ณ ์นจ ํ•ด๋„ ํŽ˜์ด์ง€ ์œ ์ง€ ๊ธฐ๋Šฅ
    - ์›นํŒฉ ํ•ซ ๋ฆฌ๋กœ๋”ฉ ์„ค์ •
    - react-query dev tools ์„ค์ •

commit 487e207fadbac2c3da267996528ce78cce4d7c89
Author: zereight <[email protected]>
Date:   Thu Jul 15 22:45:55 2021 +0900

    feat: useUser ํ›…์œผ๋กœ User ์ƒํƒœ๊ด€๋ฆฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

    Co-authored-by: Kiyung Kim <[email protected]>

commit 8ad45c23bc4ea5ee083cc379297ca309e86978da
Author: zereight <[email protected]>
Date:   Thu Jul 15 20:04:05 2021 +0900

    refactor: ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ„ฐ๋ง

    - reply-module์— ์žˆ๋Š” cookie/useLogin/user ํƒ€์ž… ๋ณต์‚ฌ

commit 621f2cca758b9fa31a94c0b28830b90a3afbe09c
Author: zereight <[email protected]>
Date:   Thu Jul 15 19:44:39 2021 +0900

    feat: script publishing ํŽ˜์ด์ง€ ์ƒ์„ฑ ๋ฐ ๋ผ์šฐํŒ… ์ ์šฉ

commit bf036b4f65949a8a6825909151ecc757593627eb
Author: zereight <[email protected]>
Date:   Thu Jul 15 18:02:21 2021 +0900

    feat: new project ํŽ˜์ด์ง€ ์ƒ์„ฑ ๋ฐ ๋ผ์šฐํŒ… ์ ์šฉ

commit a631fe8ca3941b7568b28e721abbbbd56d41b839
Author: zereight <[email protected]>
Date:   Thu Jul 15 16:29:03 2021 +0900

    feat: my project ํŽ˜์ด์ง€ ๋ผ์šฐํŒ… ์ ์šฉ

    Co-authored-by: Kiyung Kim <[email protected]>

commit 8739600a1618f0d43348fcd19b42633cd908acff
Author: zereight <[email protected]>
Date:   Thu Jul 15 15:56:01 2021 +0900

    refactor: page์ปดํฌ๋„ŒํŠธ์— Page์ด๋ฆ„ ์ถ”๊ฐ€

* feat: ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ, ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

commit 28664f2b8cde6c6c3023335d5f1368d4196625c4
Author: zereight <[email protected]>
Date:   Fri Jul 16 12:30:47 2021 +0900

    feat: ์Šคํฌ๋ฆฝํŠธ ๋ฐฐํฌ ํŽ˜์ด์ง€ url ํŒŒ์‹ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

    Co-authored-by: Kiyung Kim <[email protected]>

commit 9e56d49b4733433593f9ec5fd5443f653118c1ff
Author: yungo1846 <[email protected]>
Date:   Fri Jul 16 11:52:36 2021 +0900

    feat: useProject hook ๋ถ„๋ฆฌ

commit 4dcf6db907233ce6edc04bb58a50bf70453b1476
Author: yungo1846 <[email protected]>
Date:   Fri Jul 16 10:47:57 2021 +0900

    refactor: ScreenContainer๋ฅผ page์—์„œ templates๋กœ ์œ„์น˜ ๋ณ€๊ฒฝ

commit a5e6f029879dad0630e481f7b91ca6fb827edd0c
Author: zereight <[email protected]>
Date:   Fri Jul 16 10:30:47 2021 +0900

    fix: ์ƒˆ ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€ ์ƒˆ๋กœ๊ณ ์นจ ์•ˆ๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

    Co-authored-by: Kiyung Kim <[email protected]>

* [BE] ํ”„๋กœํ•„ ์ด๋ฏธ์ง€ ์ถ”๊ฐ€ (#120) (#122)

* refactor: script ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง

* refactor: ์นด์นด์˜ค ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ„ฐ๋ง

* fix: ๊นƒํ—ˆ๋ธŒ ์•ก์…˜ ์‹คํŒจ์‹œ ์Šฌ๋ž™์œผ๋กœ ์•Œ๋ฆผ์ด ์˜ค์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#137) (#138)

* [BE] JWT ํ† ํฐ๋ฐœ๊ธ‰ API ์ธ์ˆ˜ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค. (#130) (#134)

* refactor: rest docs ์‘๋‹ต ๋ฐ์ดํ„ฐ (json) ์˜ˆ์˜๊ฒŒ ์ถœ๋ ฅ๋˜๋„๋ก ์ˆ˜์ •

* feat: ๋กœ๊ทธ์ธ ์ธ์ˆ˜ํ…Œ์ŠคํŠธ ์ž‘์„ฑ
- rest doc json ์˜ˆ์˜๊ฒŒ ์ถœ๋ ฅํ•˜๋„๋ก ์ˆ˜์ •

* refactor: ์ค‘๋ณต๋œ ์ฝ”๋“œ ์ œ๊ฑฐ

* [FE] ๋Œ“๊ธ€๋ชจ๋“ˆ ๋กœ๊ทธ์ธ / ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#80) (#131)

* feat: ๋Œ“๊ธ€ ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ํšŒ์› ๋Œ“๊ธ€ ์ƒ์„ฑ ๋ฐ ์กฐํšŒ ๊ธฐ๋Šฅ์ถ”๊ฐ€

* feat: ๋น„๋กœ๊ทธ์ธ ํšŒ์› ๋Œ“๊ธ€ ์ƒ์„ฑ ๋ฐ ์กฐํšŒ ๊ธฐ๋Šฅ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์ˆ˜์ •๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: Kiyung Kim <[email protected]>

* feat: ๋Œ“๊ธ€ ์‚ฌ์šฉ์ž์— ๋”ฐ๋ฅธ ๋Œ“๊ธ€ ์ขŒ์šฐ ์ •๋ ฌ ๋ฐ ์˜ต์…˜ ๋…ธ์ถœ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: zereight <[email protected]>

* feat: ๋กœ๊ทธ์ธ ์œ ์ €์˜ ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

Co-authored-by: zereight <[email protected]>

* feat: ๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์ˆ˜์ • ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: accessToken responseํ˜•ํƒœ ๋ณ€๊ฒฝ

* refactor: ์ผ๊ด€์„ฑ์„ ํ•ด์น˜๋Š” URLSearchParams ์ œ๊ฑฐ

* refactor: ๋Œ“๊ธ€ ์‚ญ์ œ ํ”Œ๋กœ์šฐ์˜ ์ผ๋ถ€ ํ•จ์ˆ˜๋ช… ๋ณ€๊ฒฝ

* fix: deleteMutation์˜ onSuccess ๋กœ์ง ์ˆ˜์ •

Co-authored-by: Kiyung Kim <[email protected]>
Co-authored-by: yungo1846 <[email protected]>
Co-authored-by: zereight <[email protected]>

* refactor: Nav ๋ฐ” Avatar ํ•˜๋“œ์ฝ”๋”ฉ imageURL ์ œ๊ฑฐ

* [BE] ํ”„๋กœ์ ํŠธ ํ‚ค๋ฅผ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ์˜ ์ฃผ์ธ ์•„์ด๋””๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค. (#129) (#161)

* feat: ํ”„๋กœ์ ํŠธ ํ‚ค๋กœ ์œ ์ € id๋ฅผ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ๋Š” api ๊ตฌํ˜„

* refactor: ๋””์Šคํ”Œ๋ ˆ์ด ๋„ค์ž„ ์ˆ˜์ •

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฃผ์„ ์‚ญ์ œ

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ ํ•˜์ด๋ผ์ดํŒ… ์ถ”๊ฐ€ (#159) (#162)

* feat: ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ ํ•˜์ด๋ผ์ดํŒ… ์ˆ˜์ • ๋ฐ ์ฝ˜ํ…์ธ  ๋‚ด์šฉ ์ˆ˜์ •

* feat: ์Šคํฌ๋ฆฝํŠธ ๋ณต์‚ฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* [BE] infrastructure ํŒจํ‚ค์ง€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค. (#165) (#166)

* feat: AuthorizationExtractor ํด๋ž˜์Šค ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค ์ œ๊ฑฐ

* [BE] DB ๋‚ ์งœ ๋ฐ์ดํ„ฐ kst๋กœ ์ถœ๋ ฅ๋˜๋„๋ก ๋ณ€๊ฒฝํ•˜๊ธฐ (#125) (#128)

* refactor: ์—”ํ‹ฐํ‹ฐ ์ €์žฅ์‹œ ์ƒ์„ฑ, ์ˆ˜์ • ์‹œ๊ฐ„ ๊ธฐ์ค€์„ JST๋กœ ๋ณ€๊ฒฝ

* refactor: columnDefinition ์˜ต์…˜์„ ์‚ฌ์šฉํ•ด์„œ time zone์— ๋”ฐ๋ฅธ ์‹œ๊ฐ„์ด ์ž๋™ ์ €์žฅ๋˜๋„๋ก ์ˆ˜์ •

* refactor: ๋ถˆํ•„์š”ํ•œ ๊ด„ํ˜ธ ์‚ญ์ œ

* refactor: ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ์ธ์ฆ ํƒ€์ž… ์ •๋ณด๊ฐ€ ๋‹ด๊ฒจ์žˆ๋Š” ํ—ค๋”๊ฐ€ ์ฃผ์–ด์งˆ ๊ฒฝ์šฐ๋ฅผ ๊ณ ๋ คํ•œ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง

* refactor: ์ผ๋ถ€ API ์ฃผ์†Œ ์ˆ˜์ •

- ์„œ๋ฒ„ ์ฃผ์†Œ๋ฅผ https://darass.o-r.kr ๋กœ ๋ณ€๊ฒฝ
- Content-Security-Policy ํ—ค๋” ์ถ”๊ฐ€
- ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ ์ฃผ์†Œ๋ฅผ
https://darass-script-code.s3.ap-northeast-2.amazonaws.com/embed.js
๋กœ ๋ณ€๊ฒฝ
- ๋Œ“๊ธ€ ๋ชจ๋“ˆ ํŽ˜์ด์ง€์˜ ์ฃผ์†Œ๋ฅผ
https://darass-reply-module.s3.ap-northeast-2.amazonaws.com/index.html
๋กœ ๋ณ€๊ฒฝ

* fix: iframe keydown ์ด๋ฒคํŠธ ๋ฐœ์ƒ์‹œ ๋ฐœ์ƒํ•˜๋Š” DOM EXECPTION ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

Co-authored-by: zereight <[email protected]>

* fix: ์ฟ ํ‚ค ์‚ญ์ œ ๋ฒ„๊ทธ ํ•ด๊ฒฐ

* feat: db ddl-auto ์˜ต์…˜ ์ˆ˜์ • (#178)

* chore: aws s3 cloud front ์ฃผ์†Œ๋กœ ๋„๋ฉ”์ธ ๋ณ€๊ฒฝ

* [BE] ์˜ˆ์™ธ ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค. (#169) (#170)

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์˜ˆ์™ธ ํด๋ž˜์Šค ์ œ๊ฑฐ

* refactor: ControllerAdvice ๋ฆฌํŒฉํ„ฐ๋ง
- DTO ๊ฒ€์ฆ ๊ด€๋ จ๋œ ์˜ˆ์™ธ๋Š” ConstraintViolationException์ด ์•„๋‹ˆ๋ผ MethodArgumentNotValidException์œผ๋กœ ์žก์•„์•ผํ•œ๋‹ค.
- ControllerAdvice ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ(handleConflictException ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•ด์„œ๋Š” ์•„์ง ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ ๋ชปํ•จ)

* refactor: ์—‘์„ธ์Šค ํ† ํฐ์ด ๋นˆ ๋ฌธ์ž์—ด์ผ ๊ฒฝ์šฐ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ• ๋ณ€๊ฒฝ

* [BE] ์„œ๋ฒ„ ์‹œ๊ฐ„์„ ์„œ์šธ๋กœ ์„ค์ •ํ•œ๋‹ค (#180)(#181)

* refactor: ํ˜„์žฌ URL์„ href์—์„œ origin + pathname์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: script ์ฝ”๋“œ์— defer ์ถ”๊ฐ€

* refactor: textarea resize ์†์„ฑ ์ถ”๊ฐ€

* fix: ๋ณธ์ธ ์ž‘์„ฑ ๋Œ“๊ธ€ ์Šคํƒ€์ผ ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ๋Œ“๊ธ€ ์ž‘์„ฑ ์‹œ๊ฐ„ ์œ„์น˜ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ†ต์ผ

* refactor: ๋Œ“๊ธ€์ด ๊ธธ์–ด์งˆ ๋•Œ ์ค„๋ฐ”๊ฟˆ ๋ฐ ๊ฐœํ–‰ ๋ฌธ์ž์™€ ์—ฐ์† ๊ณต๋ฐฑ ๋ฐ˜์˜

* refactor: ๋Œ“๊ธ€ ๋ชจ๋“ˆ ์Šคํฌ๋กค ๋ฐ”๊ฐ€ ์ƒ๊ธฐ์ง€ ์•Š๋„๋ก postMessage ์ด๋ฒคํŠธ ์ถ”๊ฐ€

* [BE] ๋Œ“๊ธ€ ์‚ญ์ œ api๊ฐ€ ์ฟผ๋ฆฌ์ŠคํŠธ๋ง์„ ๋ฐ›์•„์„œ ๋™์ž‘ํ•˜๋„๋ก ํ•œ๋‹ค. (#188) (#189)

* feat: ๋ฐ˜์‘ํ˜• ํŽ˜์ด์ง€๋ฅผ ์œ„ํ•œ resize event ์ ์šฉ

* fix: ๋Œ“๊ธ€์ด ๋ฐ”๋กœ ์‚ญ์ œ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix: develop ๋ธŒ๋žœ์น˜๋Š” merge๋˜์–ด๋„ ์‚ญ์ œํ•˜์ง€ ์•Š๋„๋ก ์ˆ˜์ • (#192) (#193)

* fix: develop ๋ธŒ๋žœ์น˜๋Š” merge๋˜์–ด๋„ ์‚ญ์ œํ•˜์ง€ ์•Š๋„๋ก ์žฌ์ˆ˜์ • (#192) (#194)

* fix: ๋Œ“๊ธ€์ด ๋ฐ”๋กœ ์‚ญ์ œ๋˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

Co-authored-by: zereight <[email protected]>

* [FE][์ธํ”„๋ผ] CI ๊ตฌํ˜„ํ•˜๊ธฐ (#195) (#196)

* feat: ๋Œ“๊ธ€ ๋ชจ๋“ˆ CI ๊ตฌํ˜„

* feat: ๋Œ“๊ธ€ ๋ชจ๋“ˆ CI์— ๋นŒ๋“œ ๊ณผ์ • ์ถ”๊ฐ€

* feat: ํ”„๋กœ์ ํŠธ, ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•ด์„œ CI ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด push์ผ ๋•Œ๋„ ๊นƒํ—™ ์•ก์…˜ ์ž‘๋™ํ•˜๋„๋ก ์ˆ˜์ •

* style: deploy ์˜คํƒ€ ์ˆ˜์ •

* fix: merge๋œ ๋ธŒ๋žœ์น˜ ์ž๋™ ์‚ญ์ œ๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#197) (#198)

* [BE] ๋ฐฑ์—”๋“œ์šฉ workflows์™€ ํ”„๋ก ํŠธ์—”๋“œ์šฉ workflow ๋ถ„๋ฆฌํ•˜๊ธฐ (#199) (#200)

* refactor: pr_checker runs-on ์†์„ฑ ์ˆ˜์ •

* refactor: push_builder runs-on ์†์„ฑ ์ˆ˜์ •

* [FE][์ธํ”„๋ผ] CD ๊ตฌํ˜„ํ•˜๊ธฐ (#201) (#205)

* feat: ๊นƒํ—ˆ๋ธŒ ์•ก์…˜์„ ํ™œ์šฉํ•˜์—ฌ ํ”„๋ก ํŠธ์—”๋“œ CD ๊ตฌํ˜„

* refactor: main ๋ธŒ๋žœ์น˜๋„ CI ์ˆ˜ํ–‰ํ•˜๋„๋ก ์ˆ˜์ •

* [FE][๊ณตํ†ต] react Query ๋ฆฌํŒฉํ† ๋ง (#203)

* refactor: react Query mutation์— await ์ถ”๊ฐ€

* refactor: useUser Query์— retry์™€ refetchOnWindowFocus false ์˜ต์…˜ ์ถ”๊ฐ€

* refactor: ๋น„๋™๊ธฐ ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๋กœ์ง ๋ณ€๊ฒฝ

* refactor: webpack dot env ์ œ๊ฑฐ ๋ฐ define plugin ์ถ”๊ฐ€ (#223)

* [FE][์ธํ”„๋ผ] ๋Œ“๊ธ€ ๋ชจ๋“ˆ๊ณผ ํ”„๋กœ์ ํŠธ ๋ชจ๋“ˆ์— env ์ถ”๊ฐ€ํ•˜๊ธฐ (#219) (#224)

* feat: env ์„ค์ • ์ถ”๊ฐ€

* refactor: ํ…Œ์ŠคํŠธ์šฉ ์ฝ”๋“œ ์ œ๊ฑฐ

* feat: env ์„ค์ • ์ถ”๊ฐ€

* [FE][์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ] pathname "index.html"์€ ์ œ๊ฑฐํ•˜์—ฌ url์ „์†กํ•˜๊ธฐ (#221) (#222)

* fix: pathname์—์„œ index.html์„ ์ œ๊ฑฐ

* refactor: DotEnv ํ”Œ๋Ÿฌ๊ทธ์ธ์„ DefinePlugin์œผ๋กœ ๋Œ€์ฒด

- DotEnv๋Š” ์‹ค์ œ .envํŒŒ์ผ์„ ์ฝ์–ด์•ผ ํ•˜์ง€๋งŒ, ๊นƒํ—ˆ๋ธŒ ์•ก์…˜์˜ secret ๋ณ€์ˆ˜๋ฅผ ์ฝ๊ธฐ ์œ„ํ•ด DefinePlugin ์œผ๋กœ ๋Œ€์ฒด

* [FE][์ธํ”„๋ผ] CI/CD ์Šฌ๋ž™ ์•Œ๋ฆผ ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•˜๊ธฐ (#225) (#226)

* feat: CI / CD ์•Œ๋ฆผ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ํ…Œ์ŠคํŠธ์šฉ ์ฝ”๋“œ ์ œ๊ฑฐ

* feat: push์— ๋Œ€ํ•ด์„œ๋„ CI / CD ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: merge๋œ ๋ธŒ๋žœ์น˜ ์‚ญ์ œ ๊ตฌํ˜„

* chore: ์‹œ๋งจํ‹ฑ ๋ฒ„์ €๋‹ ์ ์šฉ (#229)

* fix: dotenv๊ฐ€ ์ œ๋Œ€๋กœ ์•ˆ๋˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* fix: favicon ์—๋Ÿฌ ํ•ด๊ฒฐ

* fix: ๋กœ๊ทธ์ธ ์œ ์ €๊ฐ€ ๊ถŒํ•œ ์—†๋Š” ์Šคํฌ๋ฆฝํŠธ ๊ฐ€์ด๋“œ ํŽ˜์ด์ง€ ๋ฐฉ๋ฌธ ์‹œ, ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ๊ฐ€ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* [BE] ๊นƒํ—ˆ๋ธŒ ์•ก์…˜ ์„œ๋ฒ„์— timezone ์„ค์ •ํ•˜๊ธฐ (#232) (#233)

* feat: timezone ์„ค์ •

* feat: ๋ฐฐํฌ ์ฝ”๋“œ๋„ timezone ์„ค์ •

* refactor: ๋ธŒ๋žœ์น˜ ์ˆ˜์ •

* [BE] ๋กœ๊น… ๊ธฐ๋Šฅ ๋‹ฌ๊ธฐ (#127)

* chore: git ignore ๋ณ€๊ฒฝ ๋ฐ˜์˜

* feat: ๋กœ๊น… ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๋กœ๊น… ์„ค์ • ๋ณ€๊ฒฝ ๋ฐ ๋ถˆํ•„์š” ์ฝ”๋“œ ์ œ๊ฑฐ

* refactor: ๋กฌ๋ณต ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๊น… ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง

* refactor: ํ™˜๊ฒฝ ๋ณ„๋กœ ๋กœ๊น…์„ ๋‹ค๋ฅด๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* refactor: ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ Http request, response ๋กœ๊น… ์•ˆ์ฐํžˆ๋„๋ก ์ˆ˜์ •

* feat: Docker์—์„œ Log ํŒŒ์ผ์ด ์‚ญ์ œ๋˜์ง€ ์•Š๋„๋ก Volume ์„ค์ • ์ถ”๊ฐ€

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์‚ญ์ œ

* fix: ํด๋ž˜์Šค ์ด๋ฆ„ ๋ณ€๊ฒฝ

Co-authored-by: jaeseongDev <[email protected]>

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ๋Œ“๊ธ€ ์ž…๋ ฅ Form Validation UI ์ถ”๊ฐ€ (#140) (#234)

* feat: UserAvatarOption์— userNickName ๋ฒ„ํŠผ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€ ์ž…๋ ฅ Form Validation UI ์ถ”๊ฐ€

* [BE] ํŠน์ • ์‚ฌ์šฉ์ž์˜ ํ”„๋กœ์ ํŠธ ์ด๋ฆ„์„ ์ค‘๋ณต ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ์ˆ˜์ • (#218) (#235)

* feat: ํ”„๋กœ์ ํŠธ ์ด๋ฆ„ ์ค‘๋ณต ์ฒดํฌ ๋กœ์ง ์ถ”๊ฐ€

* test: ํ”„๋กœ์ ํŠธ ์ด๋ฆ„ ์ค‘๋ณต์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ”„๋กœ์ ํŠธ ์ด๋ฆ„ ์ค‘๋ณต์— ๋Œ€ํ•œ ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: asciidoc ํŒŒ์ผ๋ช… ์ˆ˜์ •

* refactor: ๊ฐ€๋…์„ฑ ์ข‹๊ฒŒ ์ฝ”๋“œ ์ˆ˜์ •

* [BE] ๋น„ํšŒ์› ๋Œ“๊ธ€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋งŒ ์ฒดํฌํ•˜๋Š” API ๋งŒ๋“ค๊ธฐ / ๊ด€๋ฆฌ์ž ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ (#217) (#230)

* feat: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธ api ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ๋น„๋ฐ€๋ฒˆํ˜ธ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ ๋ฐ restdoc ์ž‘์„ฑ

* chore: gitignore ์„ค์ • ์ถ”๊ฐ€

* feat: ๊ด€๋ฆฌ์ž ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* docs: restdoc adoc ์ž‘์„ฑ

* refactor: ๋ฉ”์†Œ๋“œ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

Co-authored-by: JinYoung Park <[email protected]>

* [BE] ์นด์นด์˜ค ํ”„์‚ฌ๋ฅผ ๋ฐ”๊ฟจ์„ ๊ฒฝ์šฐ, ์„œ๋ฒ„์˜ ์นด์นด์˜ค ํ”„๋กœํ•„ ๋ฐ์ดํ„ฐ๊ฐ€ ์—…๋ฐ์ดํŠธ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค. (#202) (#231)

* refactor: ์นด์นด์˜ค์—์„œ ๋ฐ›์•„์˜จ ๋ฐ์ดํ„ฐ๊ธฐ์ค€์œผ๋กœ ์‚ฌ์šฉ์ž ์ •๋ณด ์—…๋ฐ์ดํŠธ ํ•˜๋„๋ก ๋ฆฌํŒฉํ„ฐ๋ง

* feat: jpa ํ…Œ์ŠคํŠธ ๊ฒฉ๋ฆฌ๋ฅผ ์œ„ํ•œ ํด๋ž˜์Šค ๊ตฌํ˜„

* refactor: ๋ณ‘๋ ฌ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„
- junit5 Parallel Execution ์ ์šฉ

* refactor: ๋ชจ๋“  ํ…Œ์ŠคํŠธ๊ฐ€ ๋ณ‘๋ ฌ์ ์œผ๋กœ ์ˆ˜ํ–‰๋˜๋„๋ก ๋ฆฌํŒฉํ„ฐ๋ง

* refactor: ๋ณ‘๋ ฌ ์ˆ˜ํ–‰ ์„ค์ • ์ˆ˜์ •
- ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค๋Š” ๋ณ‘๋ ฌ๋„ ์ˆ˜ํ–‰๋œ๋‹ค.
- ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค ๋‚ด์˜ ๋ฉ”์„œ๋“œ๋“ค์€ ์ˆœ์ฐจ์ ์œผ๋กœ ์ˆ˜ํ–‰๋œ๋‹ค.

* refactor: ์„œ๋ธŒ ๋ชจ๋“ˆ ์ˆ˜์ •

* refactor: optional ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ๋ถˆํ•„์š”ํ•œ ๋กœ์ง์ œ๊ฑฐ
- ๋นˆ์ƒ์„ฑ์‹œ afterPropertiesSet์—์„œ ์ž๋™ ์ดˆ๊ธฐํ™” ๋˜๋ฏ€๋กœ ์ฒดํฌ ์•ˆํ•ด๋„ ๋œ๋‹ค๊ณ  ํŒ๋‹จํ•จ

Co-authored-by: JinYoung Park <[email protected]>

* [BE] ์ฝ”๋”ฉ ์ปจ๋ฐด์…˜์„ ์ •ํ•˜๊ธฐ ์œ„ํ•ด ์ „์ฒด์ ์œผ๋กœ ๋ฆฌํŒฉํ† ๋งํ•œ๋‹ค. (#236) (#238)

* refactor: ์ฝ”๋”ฉ ์ปจ๋ฐด์…˜์„ ๋งž์ถ”๋ฉฐ ์ „์ฒด์ ์œผ๋กœ ๋ฆฌํŒฉํ„ฐ๋ง

* [BE] ํŠน์ • ์‚ฌ์šฉ์ž์˜ ํ”„๋กœ์ ํŠธ ์ด๋ฆ„์„ ์ค‘๋ณต ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ์ˆ˜์ • (#218) (#235)

* feat: ํ”„๋กœ์ ํŠธ ์ด๋ฆ„ ์ค‘๋ณต ์ฒดํฌ ๋กœ์ง ์ถ”๊ฐ€

* test: ํ”„๋กœ์ ํŠธ ์ด๋ฆ„ ์ค‘๋ณต์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ํ”„๋กœ์ ํŠธ ์ด๋ฆ„ ์ค‘๋ณต์— ๋Œ€ํ•œ ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* refactor: asciidoc ํŒŒ์ผ๋ช… ์ˆ˜์ •

* refactor: ๊ฐ€๋…์„ฑ ์ข‹๊ฒŒ ์ฝ”๋“œ ์ˆ˜์ •

* [BE] ๋น„ํšŒ์› ๋Œ“๊ธ€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋งŒ ์ฒดํฌํ•˜๋Š” API ๋งŒ๋“ค๊ธฐ / ๊ด€๋ฆฌ์ž ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ (#217) (#230)

* feat: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธ api ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ๋น„๋ฐ€๋ฒˆํ˜ธ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ ๋ฐ restdoc ์ž‘์„ฑ

* chore: gitignore ์„ค์ • ์ถ”๊ฐ€

* feat: ๊ด€๋ฆฌ์ž ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* docs: restdoc adoc ์ž‘์„ฑ

* refactor: ๋ฉ”์†Œ๋“œ ๋„ค์ด๋ฐ ๋ณ€๊ฒฝ

Co-authored-by: JinYoung Park <[email protected]>

* [BE] ์นด์นด์˜ค ํ”„์‚ฌ๋ฅผ ๋ฐ”๊ฟจ์„ ๊ฒฝ์šฐ, ์„œ๋ฒ„์˜ ์นด์นด์˜ค ํ”„๋กœํ•„ ๋ฐ์ดํ„ฐ๊ฐ€ ์—…๋ฐ์ดํŠธ ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค. (#202) (#231)

* refactor: ์นด์นด์˜ค์—์„œ ๋ฐ›์•„์˜จ ๋ฐ์ดํ„ฐ๊ธฐ์ค€์œผ๋กœ ์‚ฌ์šฉ์ž ์ •๋ณด ์—…๋ฐ์ดํŠธ ํ•˜๋„๋ก ๋ฆฌํŒฉํ„ฐ๋ง

* feat: jpa ํ…Œ์ŠคํŠธ ๊ฒฉ๋ฆฌ๋ฅผ ์œ„ํ•œ ํด๋ž˜์Šค ๊ตฌํ˜„

* refactor: ๋ณ‘๋ ฌ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„
- junit5 Parallel Execution ์ ์šฉ

* refactor: ๋ชจ๋“  ํ…Œ์ŠคํŠธ๊ฐ€ ๋ณ‘๋ ฌ์ ์œผ๋กœ ์ˆ˜ํ–‰๋˜๋„๋ก ๋ฆฌํŒฉํ„ฐ๋ง

* refactor: ๋ณ‘๋ ฌ ์ˆ˜ํ–‰ ์„ค์ • ์ˆ˜์ •
- ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค๋Š” ๋ณ‘๋ ฌ๋„ ์ˆ˜ํ–‰๋œ๋‹ค.
- ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค ๋‚ด์˜ ๋ฉ”์„œ๋“œ๋“ค์€ ์ˆœ์ฐจ์ ์œผ๋กœ ์ˆ˜ํ–‰๋œ๋‹ค.

* refactor: ์„œ๋ธŒ ๋ชจ๋“ˆ ์ˆ˜์ •

* refactor: optional ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •

* refactor: ๋ถˆํ•„์š”ํ•œ ๋กœ์ง์ œ๊ฑฐ
- ๋นˆ์ƒ์„ฑ์‹œ afterPropertiesSet์—์„œ ์ž๋™ ์ดˆ๊ธฐํ™” ๋˜๋ฏ€๋กœ ์ฒดํฌ ์•ˆํ•ด๋„ ๋œ๋‹ค๊ณ  ํŒ๋‹จํ•จ

Co-authored-by: JinYoung Park <[email protected]>

* style: ์ฝ”๋“œ ํฌ๋ฉ”ํŒ… ์ˆ˜์ •

Co-authored-by: jaeseongDev <[email protected]>
Co-authored-by: Sehwan_Jang <[email protected]>
Co-authored-by: JinYoung Park <[email protected]>

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ๊ณต๋ฐฑ ๋ฌธ์ž ์ž…๋ ฅ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (#186) (#240)

* chore: jest ํ™˜๊ฒฝ ์„ค์ •

* feat: ๊ณต๋ฐฑ ์ œ๊ฑฐ ์œ ํ‹ธํ•จ์ˆ˜ ์ถ”๊ฐ€ ๋ฐ ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ

* fix: ํ”„๋กœ์ ํŠธ ๋ช… ๊ณต๋ฐฑ ์ž…๋ ฅ ์˜ค๋ฅ˜ ์ˆ˜์ •

- autoFocus์ถ”๊ฐ€

* refactor: ol ํƒœ๊ทธ ์™ธ๋ถ€์—์žˆ๋Š” p ํƒœ๊ทธ ์ œ๊ฑฐ

* refactor: ํ•จ์ˆ˜๋ช…๊ณผ ๋‚ด๋ถ€ ๋™์ž‘ ๋ถˆ์ผ์น˜๋œ ๋ถ€๋ถ„ ์ˆ˜์ •

* refactor: ์–ด์ƒ‰ํ•œ ์ฝ”๋“œ ๋ผ์ธ ์ˆ˜์ • ๋ฐ ํ”„๋กœ์ ํŠธ ์ด๋ฆ„ ์ค‘๋ณต์ฒดํฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๋ถˆํ•„์š”ํ•œ ์š”์†Œ ์‚ญ์ œ

- react-query dev tool
- ํ”„๋กœ์ ํŠธ ํ‚ค, ํ˜„์žฌ URL ์•Œ๋ฆผ ์š”์†Œ

* feat: script ์ฝ”๋“œ ์ƒ์„ธ ๊ฐ€์ด๋“œ ์ถ”๊ฐ€ (#243)

Co-authored-by: zereight <[email protected]>

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ๋น„ ๋กœ๊ทธ์ธ ํšŒ์› ๋Œ“๊ธ€ CRUD์— ๋Œ€ํ•ด ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค. (#175) (#244)

* refactor: login test ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง

- cookie ํ…Œ์ŠคํŠธ ์‚ญ์ œ

* test: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* test: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์ƒ์„ฑ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* test: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์ˆ˜์ •๊ธฐ๋Šฅ ํ…Œ์Šคํฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ๋ฉ”์ธ, ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ฐ์Šคํฌํ†ฑ ํ™”๋ฉด ์‚ฌ์ด์ฆˆ์—์„œ ๋ฐฐ๊ฒฝ์ƒ‰ ํฐ์ƒ‰์œผ๋กœ ๋‚˜์˜ค๋Š” ๋ถ€๋ถ„ ์ˆ˜์ • (#160) (#246)

* refactor: login test ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง

- cookie ํ…Œ์ŠคํŠธ ์‚ญ์ œ

* test: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* test: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์ƒ์„ฑ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* test: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์ˆ˜์ •๊ธฐ๋Šฅ ํ…Œ์Šคํฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* fix: ๋ฉ”์ธ, ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ํ…Œ์Šคํฌํ†ฑ ํ™”๋ฉด์—์„œ ๋ฐฐ๊ฒฝ์ƒ‰ ํฐ์ƒ‰์œผ๋กœ ๋‚˜์˜ค๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* fix: ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ font size ๋ฌธ์ œ ํ•ด๊ฒฐ

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ์„ ์ถ”๊ฐ€ํ•œ๋‹ค. (#241) (#248)

* refactor: login test ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง

- cookie ํ…Œ์ŠคํŠธ ์‚ญ์ œ

* test: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์กฐํšŒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* test: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์ƒ์„ฑ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* test: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์ˆ˜์ •๊ธฐ๋Šฅ ํ…Œ์Šคํฌ ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* fix: ๋ฉ”์ธ, ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ํ…Œ์Šคํฌํ†ฑ ํ™”๋ฉด์—์„œ ๋ฐฐ๊ฒฝ์ƒ‰ ํฐ์ƒ‰์œผ๋กœ ๋‚˜์˜ค๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* fix: ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ font size ๋ฌธ์ œ ํ•ด๊ฒฐ

* feat: ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ์ถ”๊ฐ€

* [BE] ๋กœ๊น… ์—๋Ÿฌ ์ˆ˜์ • (#252) (#253)

* fix: ์‹œ๊ฐ„๋ณ„๋กœ ํŒŒ์ผ์ด ์ €์žฅ๋˜๋„๋ก ์„ค์ •

* feat: ๋กœ๊น… ์ถœ๋ ฅ ํ˜•ํƒœ ๋ณ€๊ฒฝ

* fix: ๋กœ๊น…์— IP ์ฃผ์†Œ๊ฐ€ ์ถœ๋ ฅ๋˜๋„๋ก ์ˆ˜์ •

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ๋น„๋กœ๊ทธ์ธ ๋Œ“๊ธ€ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ ์ฐฝ ๋…ธ์ถœ ํ›„ ๋กœ๊ทธ์ธ ์‹œ, ๋Œ“๊ธ€ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ ์ฐฝ์ด ์‚ฌ๋ผ์ง€์ง€ ์•Š๋Š”๋‹ค. (#251) (#254)

* fix: ๊ฒŒ์ŠคํŠธ ์ˆ˜์ • ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ ๋„์ค‘ ๋กœ๊ทธ์ธ ์‹œ, ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ์ฐฝ ๋…ธ์ถœ๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ์นด์นด์˜ค๋กœ ๋กœ๊ทธ์ธ ํ…์ŠคํŠธ๋ฅผ icon์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€์ด ์—†์„๋•Œ ๋Œ“๊ธ€ ์ •๋ ฌ, ๋ชฉ๋ก ์˜์—ญ ๋…ธ์ถœ์•ˆ๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€์ด ์—†๋Š” ๊ฒฝ์šฐ, ์ •๋ ฌ ์˜ต์…˜์„ ํ‘œ๊ธฐํ•˜๊ณ  ๋น„์–ด์žˆ๋‹ค๋Š” ๋ฌธ๊ตฌ๋ฅผ ๋…ธ์ถœํ•˜๋„๋ก ๋ณ€๊ฒฝ

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ๊ด€๋ฆฌ์ž ์œ ์ € ๋Œ“๊ธ€ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#177) (#256)

* refactor: ๋Œ“๊ธ€์ด ์—†์„๋•Œ ๋Œ“๊ธ€ ์ •๋ ฌ, ๋ชฉ๋ก ์˜์—ญ ๋…ธ์ถœ์•ˆ๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: ๋Œ“๊ธ€์ด ์—†๋Š” ๊ฒฝ์šฐ, ์ •๋ ฌ ์˜ต์…˜์„ ํ‘œ๊ธฐํ•˜๊ณ  ๋น„์–ด์žˆ๋‹ค๋Š” ๋ฌธ๊ตฌ๋ฅผ ๋…ธ์ถœํ•˜๋„๋ก ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€ ๋ชจ๋“ˆ ๊ด€๋ฆฌ์ž ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: Comment ์ƒํƒœ ์ดˆ๊ธฐํ™” ์šฉ๋„์˜ clearํ•จ์ˆ˜ ์ถ”๊ฐ€

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋Œ“๊ธ€ ๋น„๋ฐ€๋ฒˆํ˜ธ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ, ๋น„๋ฐ€๋ฒˆํ˜ธ ์ผ์น˜ ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•˜๋Š” api๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค. (#255) (#259)

* feat: ๋Œ“๊ธ€ ๋ชจ๋“ˆ ๊ด€๋ฆฌ์ž ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๋น„๋กœ๊ทธ์ธ ์œ ์ €์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ ๊ฒ€์ฆ์„ ๋ณ„๋„์˜ api๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค.

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ ๊ฐ€์ด๋“œ UI ๋ณ€๊ฒฝ (#260)

* refactor: ํŽ˜์ด์ง€์— ๋ถˆํ•„์š”ํ•œ ์Šคํฌ๋กค์ด ์ƒ๊ธฐ์ง€ ์•Š๋„๋ก ์ˆ˜์ •

* refactor: ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ ์ œ๊ฑฐ

* refactor: ์Šคํฌ๋ฆฝํŠธ ๊ฐ€์ด๋“œ ์œ„์น˜ ๋ณ€๊ฒฝ

* feat: BlogLogoButton ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* refactor: script code ํฐํŠธ ๋ฐ ํ…Œ๋งˆ ๋ณ€๊ฒฝ

* [BE] Github, Naver ์†Œ์…œ ๋กœ๊ทธ์ธ ์ถ”๊ฐ€ (#216) (#262)

* feat: OAuthProvider ์ถ”์ƒํ™”

* feat: oAuth ์ถ”์ƒํ™”

* feat: github oauth ๊ตฌํ˜„

* feat: naver oauth ๊ตฌํ˜„

* refactor: ํ”Œ๋žซํผ ํƒ€์ž… ๋ณ€๊ฒฝ

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ์ฐฝ์„ ์ˆ˜๋™์œผ๋กœ ๋‹ซ์„ ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ ๋‹ค. (#257) (#263)

* feat: ๋น„๋กœ๊ทธ์ธ ์œ ์ € ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ ์ทจ์†Œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: guest ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ hook์œผ๋กœ ๋งŒ๋“ค์–ด ํ…Œ์Šคํ„ฐ๋ธ”ํ•˜๊ฒŒ ์ˆ˜์ •

* refactor: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง

* fix: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* refactor: ์ดˆ๋ก์ƒ‰ ๋ฒ„ํŠผ ์ƒ‰์ƒ ๋ณ€๊ฒฝ

* test: ๊ด€๋ฆฌ์ž ์œ ์ €์˜ ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ๋กœ๊ทธ์ธ ํšŒ์› ๋Œ“๊ธ€ CRUD์— ๋Œ€ํ•ด ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค. (#174) (#268)

* test: ๊ด€๋ฆฌ์ž ์œ ์ €์˜ ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* test: ๋กœ๊ทธ์ธ ์œ ์ €์˜ ๋Œ“๊ธ€ CRUD ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€ UI ๋ณ€๊ฒฝ (#269) (#270)

* chore: babel-plugin-remove-react-jsx-attribute ์ถ”๊ฐ€

* feat: UserOption ๋ฐ UserAvatarOption ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ๋‚ด๋น„๊ฒŒ์ด์…˜ UI ๋ณ€๊ฒฝ

* refactor: myProject template UI ๋ณ€๊ฒฝ

Co-authored-by: zereight <[email protected]>

* refactor: NewProject ํ…œํ”Œ๋ฆฟ UI ๋ณ€๊ฒฝ

* feat: MenuDropDown ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* feat: SideBar ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* refactor: ScriptPublishng ํ…œํ”Œ๋ฆฟ UI ๋ณ€๊ฒฝ

* feat: ์„ ํƒ๋œ ํ˜„์žฌ ๋ฉ”๋‰ด๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ๋‚ด๋น„๊ฒŒ์ด์…˜ UI ์ถ”๊ฐ€

Co-authored-by: zereight <[email protected]>

* chore: yarn test ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€ ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#247) (#271)

* feat: ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€ ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: Nav๊ฐ€ logout ๋ฉ”์„œ๋“œ๋ฅผ prop์œผ๋กœ ๋ฐ›๋„๋ก ์ˆ˜์ •

* chore: yarn test์„ pr checker์— ์ถ”๊ฐ€

Co-authored-by: Kiyung Kim <[email protected]>

* test: newProjectPage ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ (#277)

* [BE] ํ”„๋กœ์ ํŠธ ์‹œํฌ๋ฆฟ ํ‚ค ์ƒ์„ฑ ๋ฐฉ์‹์„ ๋ณ€๊ฒฝํ•œ๋‹ค. (#182) (#265)

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ปค์Šคํ…€ ์˜ˆ์™ธ ํด๋ž˜์Šค ์ œ๊ฑฐ

* chore: jacoco ์ปค๋ฒ„๋ฆฌ์ง€ ์ธก์ •์‹œ ๋กฌ๋ณต์ด ์ƒ์„ฑํ•œ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ์™ธํ•˜๋„๋ก ์„ค์ • ํŒŒ์ผ ์ถ”๊ฐ€
- lombok.config ํŒŒ์ผ์˜ ์œ„์น˜๋Š” ํ˜„์žฌ์™€ ๊ฐ™์ด ํ”„๋กœ์ ํŠธ root ํด๋” ๋ฐ”๋กœ ์•„๋ž˜์—ฌ์•ผํ•œ๋‹ค.

* refactor: ํ”„๋กœ์ ํŠธ ํ‚ค ์ƒ์„ฑ ๋ฐฉ์‹ ์ˆ˜์ •
- ํ”„๋กœ์ ํŠธ ํ‚ค ์ƒ์„ฑ ๋ฐฉ์‹์„ ๋ฐ”๊พธ๋ฉด์„œ, RandomSecretKeyFactory ํด๋ž˜์Šค๊ฐ€ ์—†์–ด๋„ ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋˜์—ˆ์Œ ๊ทธ๋ž˜์„œ RandomSecretKeyFactory ํด๋ž˜์Šค๋ฅผ ์ œ๊ฑฐํ•จ

* refactor: ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ปค์Šคํ…€ ์˜ˆ์™ธ ํด๋ž˜์Šค ์ œ๊ฑฐ

* refactor: ํ”„๋กœ์ ํŠธ ์ธ์ˆ˜ํ…Œ์ŠคํŠธ BDD ํ˜•์‹์œผ๋กœ ๋ฆฌํŒฉํ„ฐ๋ง
- ํ”„๋กœ์ ํŠธ ์‚ญ์ œ ์ธ์ˆ˜ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: SocialLoginUser, GuestUserTest ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* feat: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€
- dto ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ ์™„๋ฃŒ
- main ๋ฉ”์„œ๋“œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ ์™„๋ฃŒ

* chore: jacoco ๋นŒ๋“œ ์ œํ•œ ์ฝ”ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ปค๋ฒ„๋ฆฌ์ง€ ์„ค์ •
- ๋ผ์ธ ์ปค๋ฒ„๋ฆฌ์ง€ 90ํ”„๋กœ ์ด์ƒ, ๋ธŒ๋žœ์น˜ ์ปค๋ฒ„๋ฆฌ์ง€ 70ํ”„๋กœ ์ด์ƒ์ด์–ด์•ผ ๋นŒ๋“œ ๊ฐ€๋Šฅํ•˜๊ฒŒ ์„ธํŒ…

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] MyProject ํŽ˜์ด์ง€์˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑ (#172) (#279)

* test: myProject ํŽ˜์ด์ง€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* fix: pr checker test working directory ์ˆ˜์ •

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#280) (#282)

* refactor: page์ปดํฌ๋„ŒํŠธ์™€ template ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ†ต์ผ

* refactor: export๋ฅผ inline์œผ๋กœ ์ ์šฉ

* refactor: ํ›… ์—๋Ÿฌํ•ธ๋“ค๋ง ๋กœ์ง ์ˆ˜์ •

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง (#281) (#283)

* refactor: templates์„ pages๋กœ ๋ณ€๊ฒฝ ๋ฐ export ๋ฐฉ๋ฒ• ๋ณ€๊ฒฝ

* refactor: axios ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๋ฐฉ๋ฒ• ๋ณ€๊ฒฝ

* refactoring: test

* refactor: NavLink ์ ์šฉ (#285)

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ํ”„๋กœ์ ํŠธ ์ƒ์„ธ ํŽ˜์ด์ง€ ์ถ”๊ฐ€ (#286) (#289)

* feat: ํ”„๋กœ์ ํŠธ ์ƒ์„ธํŽ˜์ด์ง€ ๊ตฌ์กฐ ์„ค๊ณ„

* feat: useEditProject ํ›… ์ถ”๊ฐ€

* refactor: ์ˆ˜์ •๋ชจ๋“œ์™€ ๊ธฐ๋ณธ๋ชจ๋“œ์˜ ์Šคํƒ€์ผ์„ ํ†ต์ผ

* refactor: Proejct detail ํŽ˜์ด์ง€ ์ˆ˜์ • ๋ชจ๋“œ ์‚ญ์ œ

* refactor: ๊ณตํ†ต ์Šคํƒ€์ผ ์š”์†Œ ๋ถ„๋ฆฌ

* feat: DeleteButton ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* feat: ํ”„๋กœ์ ํŠธ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: page ๋น„๋™๊ธฐ ์—๋Ÿฌ ํ•ธ๋“ค๋ง

Co-authored-by: yungo1846 <[email protected]>

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ๋‚ด ์ •๋ณด ํŽ˜์ด์ง€ ui ์ถ”๊ฐ€ (#287) (#294)

* feat: userProfile ํŽ˜์ด์ง€ ์ƒ์„ฑ

* feat: ๋‚ด ์ •๋ณด ํŽ˜์ด์ง€ ui ๊ตฌํ˜„

* feat: ์œ ์ € ์ˆ˜์ • ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: useDeleteUser ์ปค์Šคํ…€ ํ›… ์ถ”๊ฐ€

* refactor: ๊ณตํ†ต ์Šคํƒ€์ผ ์š”์†Œ ๋ถ„๋ฆฌ

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] userOption ์ปดํฌ๋„ŒํŠธ ์ธํ„ฐ๋ž™์…˜ ์ถ”๊ฐ€ (#288) (#295)

* refactor: userOption ๋งˆ์šฐ์Šค ํ˜ธ๋ฒ„ ์ธํ„ฐ๋ž™์…˜ ์ถ”๊ฐ€

* feat: userAvatarOption์— arrow ์ถ”๊ฐ€

* feat: ๋‹ค๋ฅธ ์˜์—ญ์„ ๋ˆ„๋ฅด๋ฉด ์˜ต์…˜์ด ๋‹ซํžˆ๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test: ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ ํŽ˜์ด์ง€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ (#296)

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ๋‚ด ํ”„๋กœ์ ํŠธ ์—๋Ÿฌ UI ๊ตฌํ˜„ (#297) (#298)

* test: ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ ํŽ˜์ด์ง€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: MyProject ์—๋Ÿฌ UI ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„

* refator: ์ปดํฌ๋„ŒํŠธ ์ด๋ฆ„ ์ˆ˜์ •

* feat: styled nomalizing

* [BE] ์ข‹์•„์š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#213) (#292)

* feat: ๋Œ“๊ธ€ ์ข‹์•„์š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋Œ“๊ธ€ ์ข‹์•„์š” ๊ธฐ๋Šฅ ์ธ์ˆ˜ํ…Œ์ŠคํŠธ ๋ฐ rest docs ์ž‘์„ฑ

* fix: ์ข‹์•„์š” ์Šค์œ„์นญ ์•ˆ๋˜๋˜ ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor: ์ข‹์•„์š” ์ถ”๊ฐ€ ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง ๋ฐ ๋„๋ฉ”์ธ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* fix: ์ถฉ๋Œ ํ•ด๊ฒฐ

* refactor: ํ”ผ๋“œ๋ฐฑ ๋ฐ˜์˜

* feat: ๋Œ“๊ธ€ ๋ฐ˜ํ™˜ ํƒ€์ž…์— ์ข‹์•„์š” ์ •๋ณด ์ถ”๊ฐ€ ๋ฐ restdoc ๋ฐ˜์˜

* style: ์ปจ๋ฒค์…˜ ์ค€์ˆ˜

* feat: commentlike ๋„๋ฉ”์ธ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* [BE] ํ”„๋กœ์ ํŠธ ์ƒ์„ธ์„ค๋ช… ์ถ”๊ฐ€, ์ˆ˜์ •๊ธฐ๋Šฅ (#275) (#293)

* refactor: ํ”„๋กœ์ ํŠธ ์—”ํ‹ฐํ‹ฐ์— content(ํ”„๋กœ์ ํŠธ ์„ค๋ช…) ํ•„๋“œ ์ถ”๊ฐ€

* feat: ํ”„๋กœ์ ํŠธ ์ด๋ฆ„, ์„ค๋ช…(content) ์ˆ˜์ • api ๊ตฌํ˜„

* feat: ํ”„๋กœ์ ํŠธ ์„ค๋ช… ํ•„๋“œ ๋ณ€์ˆ˜๋ช… ์ˆ˜์ •
- ์ „์ฒด์ ์ธ ์ฝ”๋“œ ํฌ๋ฉ”ํŒ… ์ •๋ ฌ

* fix: ์ถฉ๋Œ ํ•ด๊ฒฐ

* [BE] ํŽ˜์ด์ง€๋„ค์ด์…˜ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#211) (#291)

* feat: ๋Œ“๊ธ€ ์กฐํšŒ ํŽ˜์ด์ง€๋„ค์ด์…˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* style: rest docs ์†Œ์ œ๋ชฉ ์ˆ˜์ •

* refactor: pagination ๊ด€๋ จ ๋กœ์ง์—์„œ ์ง€์—ญ ๋ณ€์ˆ˜ ์ž‘์„ฑ

* refactor: UserResponse.of() ๊ด€๋ จ ๋กœ์ง ์ˆ˜์ •

* style: ๋ฉ”์†Œ๋“œ๋ช… ์บ๋ฉ€ ์ผ€์ด์Šค๋กœ ๋ณ€๊ฒฝ

* refactor: CommentAcceptanceTest DisplayName ์ˆ˜์ •

* style: ์ž๋™ ํฌ๋งคํ„ฐ ์ ์šฉ

* chore: ๋ถˆํ•„์š”ํ•œ ํŒŒ์ผ ์ œ๊ฑฐ

* refactor: ํŠน์ • ํŽ˜์ด์ง€์˜ ๋Œ“๊ธ€ ์กฐํšŒํ•  ๋•Œ ์ข‹์•„์š” ์ •๋ณด ์ถ”๊ฐ€

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] nav mobile view ui๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค. (#272) (#300)

* feat: ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€ ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: Nav๊ฐ€ logout ๋ฉ”์„œ๋“œ๋ฅผ prop์œผ๋กœ ๋ฐ›๋„๋ก ์ˆ˜์ •

* feat: ํ–„๋ฒ„๊ฑฐ ๋ฒ„ํŠผ ์ถ”๊ฐ€

* feat: mobile Nav ์ปดํฌ๋„ŒํŠธ  ui ๊ตฌํ˜„๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* refactor: MobileNav DesktopNav ๋ถ„๋ฆฌ

* refactor: Nav ๋ฉ”๋‰ด ํŒŒ๋ผ๋ฏธํ„ฐ ๋ฆฌํŒฉํ„ฐ๋ง

* refactor: test ์ฝ”๋“œ ์ˆ˜์ •

* feat: Dimmed ์˜์—ญ ์• ๋‹ˆ๋งค์ด์…˜ ์ถ”๊ฐ€

* refactor: z-index ์ƒ์ˆ˜ํ™”

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ์ข‹์•„์š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#299) (#303)

* refactor: SubmitButton ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* feat: DeleteButton ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* feat: LikeButton ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ Button ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ

* feat: ๋Œ“๊ธ€ ์ข‹์•„์š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: userAvatarOption์˜ ๋ฐ”๊นฅ ์˜์—ญ ํด๋ฆญ ์‹œ Option์ด ๋‹ซํžˆ๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* [BE][๋Œ“๊ธ€๋ชจ๋“ˆ] ์ข‹์•„์š” ๊ธฐ๋Šฅ ๋ฐ˜ํ™˜ ํƒ€์ž… ๋ณ€๊ฒฝ (#213) (#306)

* refactor: ๋Œ“๊ธ€ ์กฐํšŒ์‹œ ์ข‹์•„์š” ๊ด€๋ จ ๋ฐ˜ํ™˜ ํƒ€์ž… ๋ณ€๊ฒฝ

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ํ”„๋กœ์ ํŠธ ์ˆ˜์ • ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#302) (#304)

* fix: ํ”„๋กœ์ ํŠธ ์ •๋ณด๊ฐ€ ์ˆ˜์ •์ด ์•ˆ๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* fix: test ์ฝ”๋“œ ๋”๋ฏธ๋ฐ์ดํ„ฐ ์ˆ˜์ •

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ์ข‹์•„์š”๋ฅผ ๋ˆ„๋ฅธ ์œ ์ € ๋ชฉ๋ก์„ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#309) (#313)

* fix: guestProfileImageUrl์ด ์ •์ƒ์ ์œผ๋กœ ๋‚˜์˜ค์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: ๊ธฐ์กด LikeButton์„ LikingUsersButton์œผ๋กœ ๋ณ€๊ฒฝ

* feat: Modal ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* feat: LikingUsersModal ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* feat: Comment์— LikingUsersModal ์ ์šฉ

* test: ์ข‹์•„์š” ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ (#314)

* fix: ์™ธ๋ž˜ํ‚ค ์ œ์•ฝ ์กฐ๊ฑด์œผ๋กœ์ธํ•ด ์œ ์ €๊ฐ€ ์‚ญ์ œ ๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#312)

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ์‚ฌ์ด๋“œ๋ฐ” ๋“œ๋กญ๋‹ค์šด ๋ชจ๋ฐ”์ผ ๋ทฐ ๊ตฌํ˜„ (#310) (#318)

* refactor: userAvatarOption์˜ cursor pointer ์ œ๊ฑฐ

* refactor: ProjectSideBar๋ฅผ SideBarTemplate ์ปดํฌ๋„ŒํŠธ ๋‚ด๋ถ€๋กœ ์ด๋™

* refactor: ์‚ฌ์ด๋“œ๋ฐ” ํ…œํ”Œ๋ฆฟ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ์ ์šฉ

* feat: ์Šคํฌ๋กค์„ ๋”ฐ๋ผ๋‹ค๋‹ˆ๋Š” ์‚ฌ์ด๋“œ๋ฐ” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: ๋ชจ๋ฐ”์ผ๋ทฐ๋ฅผ ์œ„ํ•œ MainTitle align-item:center ์ถ”๊ฐ€

* feat: ๋ฉ”๋‰ด ๋ฐ์ดํ„ฐ๋ฅผ ์žฌ๊ท€์ ์œผ๋กœ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆ˜์ •

* refactor: SideBarTemplate์—์„œ Sidebar๋กœ ๋ฉ”๋‰ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋„๋ก ๋ฆฌํŒฉํ„ฐ๋ง

* refactor: project menu ๋ฐ์ดํ„ฐ ์ƒ์ˆ˜ํ™”

* refactor: SideBarTemplate์„ ContainerWithSideBar์œผ๋กœ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* refactor: GuideStep ์ปดํฌ๋„ŒํŠธ ์ถ”๊ฐ€

* feat: ์‚ฌ์ด๋“œ๋ฐ” ๋“œ๋กญ๋‹ค์šด ์• ๋‹ˆ๋งค์ด์…˜ ๊ตฌํ˜„

* refactor: ์‚ฌ์ด๋“œ๋ฐ” ๋ฉ”๋‰ด ๋‹ซ๊ธฐ ์• ๋‹ˆ๋งค์ด์…˜ ๊ตฌํ˜„

* refactor: depth์— ๋”ฐ๋ฅธ DropDownMenu z-index ์กฐ์ ˆ

* refactor: css  ํฌ๋กœ์Šค ๋ธŒ๋ผ์šฐ์ง• ์ ์šฉ

* [BE] ์œ ์ € ๋‹‰๋„ค์ž„ ์ˆ˜์ •, ํ”„๋กœํ•„ ์‚ฌ์ง„ ๋ณ€๊ฒฝ ๊ธฐ๋Šฅ (#274) (#301)

* feat: ์‚ฌ์šฉ์ž ํ”„๋กœํ•„ ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๋„๋ฉ”์ธ์ชฝ์œผ๋กœ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ด๋™

* test: ๊ธฐ์กด์˜ ํ„ฐ์ง€๋˜ ํ…Œ์ŠคํŠธ๋“ค์„ ์ˆ˜์ •

* test: ๋‹‰๋„ค์ž„, ํ”„๋กœํ•„ ์ด๋ฏธ์ง€ ์ˆ˜์ •ํ•˜๋Š” ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* test: API ๋ฌธ์„œ ์ˆ˜์ •

* feat: ๋กœ๊ทธ์ธ ํ•  ๋•Œ๋งˆ๋‹ค ๋กœ๊ทธ์ธ ์ •๋ณด ์—…๋ฐ์ดํŠธ ๋˜๋Š” ๊ธฐ๋Šฅ ์‚ญ์ œ

* refactor: RequestParam์„ ModelAttribute๋กœ ๊ต์ฒด

* refactor: ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* test: ControllerAdvice์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ์œ ์ € ์‚ญ์ œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•œ๋‹ค. (#305) (#321)

* refactor: userAvatarOption์˜ cursor pointer ์ œ๊ฑฐ

* refactor: DeleteSection ์ปดํฌ๋„ŒํŠธ ์ถ”์ถœ

* refactor: ์‚ญ์ œ ๊ตฌ๊ฐ„ ์ปดํฌ๋„ŒํŠธ ์ถ”์ถœ

* fix: UserAvatarOption์˜ z-index ์ˆ˜์ •

* refactor: cb ํ•จ์ˆ˜ ์ด๋ฆ„์„ callback์œผ๋กœ ์ˆ˜์ •

* refactor: ๋ฒค๋”ํ”„๋ฆฌํ”ฝ์Šค ์ œ๊ฑฐ

* refactor: z-index ์ƒ์ˆ˜ํ™”

* fix: globalStyle์—์„œ line-height ์ œ๊ฑฐ

* feat: ํšŒ์›ํƒˆํ‡ด ์™„๋ฃŒ ์–ผ๋Ÿฟ ์ถ”๊ฐ€

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ์œ ์ € ํ”„๋กœํ•„ ์ˆ˜์ • ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•œ๋‹ค. (#307) (#324)

* feat: ์œ ์ € ํ”„๋กœํ•„ ์ˆ˜์ • ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: profileImageBase64 ๋„ค์ด๋ฐ์„ url๋กœ  ์ˆ˜์ •

* [BE] ๋กœ๊ทธ ์Šคํƒœ์‹œ, ์—˜๋ผ์Šคํ‹ฑ ์„œ์น˜, ํ‚ค๋ฐ”๋‚˜ ์จ์„œ ๋กœ๊ทธ ํŒŒ์ผ ๊ด€๋ฆฌํ•˜๊ธฐ (#208) (#327)

* feat: logstash๋กœ ๋กœ๊ทธ๋ฅผ ์ „์†กํ•˜๋Š” ์ฝ”๋“œ ์ถ”๊ฐ€

* feat: logstash ํฌํŠธ ์ˆ˜์ •

* [BE] ์œ ์ €๊ฐ€ ์‚ญ์ œ๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ (#325) (#326)

* fix: ํ…Œ์ด๋ธ” ๋ ˆ์ฝ”๋“œ ์‚ญ์ œ์‹œ cascade ์˜ต์…˜ ์„ค์ •

* chore: ddl-auto ์„ค์ • ์ˆ˜์ •

* chore: ์„œ๋ธŒ ๋ชจ๋“ˆ ์—…๋ฐ์ดํŠธ

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ์Šคํƒ€์ผ ๋ฆฌํŒฉํ† ๋ง (#315) (#329)

* fix: ์‚ญ์ œ ์ทจ์†Œ ํ›„ ๋Œ“๊ธ€ ์˜ต์…˜ ๋ฒ„ํŠผ์ด ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor: UserOption UI ๋ณ€๊ฒฝ

* refactor: CommentOption UI ๋ณ€๊ฒฝ

* feat: ๋Œ“๊ธ€ ์˜ต์…˜ ์ด์™ธ์˜ ์˜์—ญ์„ ํด๋ฆญ ํ–ˆ์„ ๋•Œ ๋Œ“๊ธ€ ์˜ต์…˜์ด ๋‹ซํžˆ๋„๋ก ํ•˜๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๋Œ“๊ธ€ ์˜ต์…˜์ด ์ข‹์•„์š” ๋ชฉ๋ก๋ณด๋‹ค ์ƒ์œ„์— ํ‘œ์‹œ๋˜๋„๋ก ๋ณ€๊ฒฝ

* refactor: deleteButton ์ ์šฉ

* refactor: CommentInput์„ textarea์—์„œ div contentEditable๋กœ ๋ณ€๊ฒฝ

* refactor: ์ •๋ ฌ ๋ฒ„ํŠผ UI ๋ณ€๊ฒฝ

* refactor: ์ข‹์•„์š” ๋ชฉ๋ก ์œ„์น˜ ์ˆ˜์ •

* feat: ๋Œ“๊ธ€ ์ˆ˜์ • ์ทจ์†Œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋Œ“๊ธ€ ์ˆ˜์ • ์‹œ ์ตœ์†Œ ํ•œ ๊ธ€์ž ์ด์ƒ ์ž…๋ ฅ ๋๋Š”์ง€ ๊ฒ€์ฆํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

* refactor: ๋Œ“๊ธ€ ๊ฐœ์ˆ˜ ์ƒ‰์ƒ ๋ณ€๊ฒฝ

* fix: ๋Œ“๊ธ€ ๋“ฑ๋ก ํ›„ ์ž…๋ ฅ ์ฐฝ์ด ๋น„์›Œ์ง€์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

* test: UI ๋ฆฌํŒฉํ† ๋ง ๋ฐ˜์˜

* fix: ๋Œ“๊ธ€ ์ˆ˜์ • ์ทจ์†Œ ์‹œ ๊ธฐ์กด ๋Œ“๊ธ€์ด ๋‚จ์•„ ์žˆ์ง€ ์•Š๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •

Co-authored-by: zereight <[email protected]>

* feat: useContentEditable hook ์ƒ์„ฑ

Co-authored-by: zereight <[email protected]>

* feat: ๋ถ€๋ชจ ํ”„๋ ˆ์ž„์—์„œ ์Šคํฌ๋กค์ด ์ƒ๊ธฐ์ง€ ์•Š๋„๋ก ๋ณ€๊ฒฝ (#332)

* [BE] ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ์Šฌ๋ž™์œผ๋กœ ์•Œ๋ฆผ ๋ณด๋‚ด๊ธฐ (#322) (#333)

* feat: Slack ์—๋Ÿฌ ์•Œ๋ฆผ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: config ํด๋” ์ˆ˜์ •

* [BE] ์ข‹์•„์š” ๊ธฐ๋Šฅ์ด ๋™์ž‘ํ•˜์ง€ ์•Š์€ ๋ฒ„๊ทธ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค. #335 (#336)

* fix: ์œ ์ € ์ข‹์•„์š” ๋ฒ„๊ทธ ์ˆ˜์ •

* chore: ์„œ๋ธŒ ๋ชจ๋“ˆ ์ˆ˜์ •

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ์œ ์ € ์‚ญ์ œ ๊ตฌ์—ญ ์ƒ๋‹จ ๊ตฌ๋ถ„์„  ์ถ”๊ฐ€ ๋ฐ ์Šคํƒ€์ผ ๋ฆฌํŒฉํ„ฐ๋ง (#338) (#339)

* refactor: ์‚ฌ์ด๋“œ๋ฐ” ์Šคํƒ€์ผ ๋ฆฌํŒฉํ„ฐ๋ง

* refactor: userProfile ์‚ญ์ œ UI ์ƒ๋‹จ ๊ตฌ๋ถ„์„  ์ถ”๊ฐ€

* refactor: contentBoxCSS ์œ„์น˜ ๋ฆฌํŒฉํ„ฐ๋ง

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ๋ชจ๋‹ฌ์„ ๋ถ€๋ชจ์˜ ๋ทฐํฌํŠธ ๊ฐ€์šด๋ฐ์— ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#337) (#340)

* feat: ๋ถ€๋ชจ ํ”„๋ ˆ์ž„ ํด๋ฆญ ์‹œ์—๋„ ๋ชจ๋‹ฌ์ด ๋‹ซํžˆ๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#334)

* feat: ๋ชจ๋‹ฌ์„ ๋ถ€๋ชจ์˜ ๋ทฐํฌํŠธ ๊ฐ€์šด๋ฐ์— ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat: ๋ชจ๋‹ฌ์„ ๋ถ€๋ชจ์˜ ๋ทฐํฌํŠธ ๊ฐ€์šด๋ฐ์— ๋„์šฐ๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€ [deploy-script]

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] iframe alert ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#152) (#341)

* feat: ๋ถ€๋ชจ ํ”„๋ ˆ์ž„์— alert ๋ฉ”์‹œ์ง€๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ž์‹ ํ”„๋ ˆ์ž„์˜ alert ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์•„ ์ถœ๋ ฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] custom confirm ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#342) (#343)

* feat: confirm modal UI ๊ตฌํ˜„ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* feat: delete confirm modal ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: delete confirm modal ๊ธฐ๋Šฅ ๊ตฌํ˜„ [deploy-script]

* refactor: ํšŒ์› ์ •๋ณด ์ˆ˜์ • ์‹œ, ์„ฑ๊ณต ์–ผ๋Ÿฟ ์ถ”๊ฐ€

* [BE] ์ •๋ ฌ ๊ธฐ๋Šฅ (#212) (#320)

* feat: ์ •๋ ฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ •๋ ฌ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* style: adoc ๊ฒฝ๋กœ ์ˆ˜์ • ๋ฐ @DisplayName ์œ„์น˜ ์ˆ˜์ •

* style: ํ…Œ์ŠคํŠธ ๋กœ๊ทธ ๊ธฐ๋Šฅ ํ™œ์„ฑํ™”

* refactor: ์ข‹์•„์š” ๋ˆ„๋ฅธ ์œ ์ € ์ •๋ณด ์ƒ์„ธํ•˜๊ฒŒ rest docs์— ์ถ”๊ฐ€

* chore: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์†Œ๋“œ ์ œ๊ฑฐ

* refactor: @ModelAttribute ์ ์šฉ

* feat: CommentService ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: sortOption์ด ์—†์–ด๋„ ๊ณผ๊ฑฐ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜๋„๋ก ์ˆ˜์ • (#355)

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ์ƒˆ ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐ ํŽ˜์ด์ง€ ๋ชจ๋ฐ”์ผ ๋ทฐ ์Šคํƒ€์ผ ์ˆ˜์ • (#356) (#357)

* fix: ์ƒˆ ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€ ๋ชจ๋ฐ”์ผ ๋ทฐ ํšก์Šคํฌ๋กค์ด ์•ˆ๋‚˜ํƒ€๋‚˜๊ฒŒ ์ˆ˜์ •

* fix: ํ–„๋ฒ„๊ฑฐ ๋ฒ„ํŠผ ์œ„์น˜ ์ˆ˜์ •

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ์ƒˆ ํ”„๋กœ์ ํŠธ์—์„œ ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์‹œ, ๋กœ๊ทธ์•„์›ƒ ์ฒ˜๋ฆฌ (#358) (#359)

* fix: ์ƒˆ ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€ ๋ชจ๋ฐ”์ผ ๋ทฐ ํšก์Šคํฌ๋กค์ด ์•ˆ๋‚˜ํƒ€๋‚˜๊ฒŒ ์ˆ˜์ •

* fix: ํ–„๋ฒ„๊ฑฐ ๋ฒ„ํŠผ ์œ„์น˜ ์ˆ˜์ •

* refactor: ๋‚ด ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€์—์„œ ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ๋กœ๊ทธ์•„์›ƒ ์ฒ˜๋ฆฌ

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ๊ณผ๊ฑฐ์ˆœ/์ตœ์‹ ์ˆœ/์ข‹์•„์š”์ˆœ ์ •๋ ฌ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•œ๋‹ค. (#360) (#361)

* fix: ์ƒˆ ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€ ๋ชจ๋ฐ”์ผ ๋ทฐ ํšก์Šคํฌ๋กค์ด ์•ˆ๋‚˜ํƒ€๋‚˜๊ฒŒ ์ˆ˜์ •

* fix: ํ–„๋ฒ„๊ฑฐ ๋ฒ„ํŠผ ์œ„์น˜ ์ˆ˜์ •

* refactor: ๋‚ด ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€์—์„œ ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ ๋กœ๊ทธ์•„์›ƒ ์ฒ˜๋ฆฌ

* feat: ๋Œ“๊ธ€ ์‹œ๊ฐ„/์ข‹์•„์š” ์ˆœ ์ •๋ ฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๊ฐ์ฒด์— Object.freeze ์ถ”๊ฐ€

* refactor: ๋Œ“๊ธ€ ์‹œ๊ฐ„/์ข‹์•„์š” ์ˆœ ์ •๋ ฌ ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ„ฐ๋ง

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ๋Œ“๊ธ€ ๋”๋ณด๊ธฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#374)

* feat: ๋Œ“๊ธ€ ๋”๋ณด๊ธฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* refactor: ๋น„๋™๊ธฐ ๋กœ์ง ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

* test: ๋ฆฌํŒฉํ„ฐ๋ง ๋ฐ˜์˜

* refactor: ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ UI ๋ณ€๊ฒฝ

* refactor: ๊ด€๋ฆฌ์ž ์ž‘์„ฑ ๋Œ“๊ธ€์ด ์šฐ์ธก ์ •๋ ฌ ๋˜๋„๋ก ๋ณ€๊ฒฝ (#378)

* chore: development ๋ชจ๋“œ S3 ๋ฒ„ํ‚ท ๊ฒฝ๋กœ ์„ค์ •

* [BE] flyway ๋„์ž… (#348) (#373)

* chore: flyway ์„ค์ • ์„ธํŒ…

* refactor: ๋ณ€๊ฒฝ ์Šคํ‚ค๋งˆ ์ปค๋ฐ‹๋˜๋„๋ก ์„ค์ • ๋ณ€๊ฒฝ

* refactor: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ ๋ฐ ์ž์ฝ”์ฝ” ์„ค์ • ๋ณ€๊ฒฝ

* Feature/be/submodule setting (#392)


* refactor: submodule setting

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] CI/CD development, production ํ™˜๊ฒฝ ๋ถ„๊ธฐ (#394) (#395)

* refactor: Object.freeze๋ฅผ as const ๊ตฌ๋ฌธ์œผ๋กœ ๋ณ€๊ฒฝ

* chore: ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€ dev, prodc ํ™˜๊ฒฝ ๋ถ„๊ธฐ์ฒ˜๋ฆฌ

* chore: ๊ฐœ๋ฐœ ์„œ๋ฒ„ ๋ฐฐํฌ์šฉ ๋„์ปค ํŒŒ์ผ ์ถ”๊ฐ€ (#399)

* chore: deploy script๊ฐ€ ์ €์žฅ๋˜๋Š” S3 ๋ฒ„ํ‚ท ๊ฒฝ๋กœ ์ˆ˜์ •

* refactor: ๋Œ“๊ธ€ ๋ชจ๋“ˆ development, production ํ™˜๊ฒฝ ๋ถ„๊ธฐ์ฒ˜๋ฆฌ (#396)

* [FE][๋ฐฐํฌ ์ฝ”๋“œ] CI/CD development, production ํ™˜๊ฒฝ ๋ถ„๊ธฐ (#400) (#401)

* refactor: Object.freeze๋ฅผ as const ๊ตฌ๋ฌธ์œผ๋กœ ๋ณ€๊ฒฝ

* chore: ๋ฐฐํฌ์ฝ”๋“œ CI/CD dev, prod ํ™˜๊ฒฝ ๋ถ„๊ธฐ

* [FE][๋Œ“๊ธ€๋ชจ๋“ˆ] ํ‘ธํ„ฐ ์ถ”๊ฐ€ (#393) (#403)

* feat: Footer ์ปดํฌ๋„ŒํŠธ ์ƒ์„ฑ ๋ฐ ์Šคํ† ๋ฆฌ๋ถ ์ž‘์„ฑ

* chore: svgr ์„ค์น˜ ๋ฐ ์ ์šฉ

* refactor: invalidInput ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

* feat: Footer์— Manage Page ๋งํฌ ์ถ”๊ฐ€

* refactor: ๋ชจ๋ฐ”์ผ ๋งˆ์šฐ์Šค ํ˜ธ๋ฒ„ ์ธํ„ฐ๋ž™์…˜ ์ œ๊ฑฐ

* [BE] ์ด ๋Œ“๊ธ€ ๊ฐœ์ˆ˜๋งŒ ์กฐํšŒํ•˜๋Š” API ๊ตฌํ˜„ (#363) (#407)

* feat: ํŠน์ • URL์— ํ•ด๋‹นํ•˜๋Š” ๋Œ“๊ธ€์˜ ์ „์ฒด ๊ฐœ์ˆ˜๋งŒ ์กฐํšŒํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* chore: ์ž๋™ ํฌ๋งคํ„ฐ ์ ์šฉ

* [FE][๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ๋Œ“๊ธ€ ๊ด€๋ฆฌ ํŽ˜์ด์ง€ UI๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค. (#367) (#404)

* [FE][๋ฐฐํฌ ์ฝ”๋“œ] CI/CD development, production ํ™˜๊ฒฝ ๋ถ„๊ธฐ (#400) (#401)

* refactor: Object.freeze๋ฅผ as const ๊ตฌ๋ฌธ์œผ๋กœ ๋ณ€๊ฒฝ

* chore: ๋ฐฐํฌ์ฝ”๋“œ CI/CD dev, prod ํ™˜๊ฒฝ ๋ถ„๊ธฐ

* refactor: reply module url ์ƒ์ˆ˜ํ™”

* refactor: Calendar UI ๋ฆฌํŒฉํ„ฐ๋ง

* feat: SearchCondition Component ์ถ”๊ฐ€

* refactor: Calendar UI ๋ฆฌํŒฉํ„ฐ๋ง

* refactor: Calender UI ๋ชจ๋ฐ”์ผ ๋ทฐ ์ˆ˜์ •

* fix: ๋‚ ์งœ ํ† ๊ธ€ ์‹œ, ํ…์ŠคํŠธ๊ฐ€ null์ด ๋˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* feat: Modal UI ๊ตฌํ˜„

* refactor: ํ•„์š”์—†๋Š” z-index ์ œ๊ฑฐ

* feat: ๋Œ“๊ธ€ ๊ฒ€์ƒ‰ ์กฐ๊ฑด UI ์ถ”๊ฐ€

* refactor: useCommentList ์ปค์Šคํ…€ ํ›… ์ž‘์„ฑ

* refactor: useCalโ€ฆ
  • Loading branch information
10 people authored Aug 16, 2021
1 parent 791193c commit 4b9cd61
Show file tree
Hide file tree
Showing 340 changed files with 54,129 additions and 0 deletions.
13 changes: 13 additions & 0 deletions .github/workflows/BE_pr_checker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,19 @@ jobs:
runs-on: [ self-hosted, backend ]

steps:
# Just add this =>
- name: Inject slug/short variables
uses: rlespinasse/[email protected]

# And you get this =>
- name: Print slug/short variables
run: |
echo "Slug variables"
echo " - ${{ env.GITHUB_REF_SLUG }}"
echo " - ${{ env.GITHUB_HEAD_REF_SLUG }}"
echo " - ${{ env.GITHUB_BASE_REF_SLUG }}"
echo " - ${{ env.GITHUB_REPOSITORY_SLUG }}"
- name: Checkout code
uses: actions/checkout@v2
with:
Expand Down
78 changes: 78 additions & 0 deletions .github/workflows/pr_checker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# This workflow will do a clean install of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions

name: Darass PR Checker [FE]

on:
pull_request:
types: [ opened, edited ]
branches: [ develop/fe ]

jobs:
build:

runs-on: [self-hosted, front]

steps:
- name: Checkout source code
uses: actions/checkout@v2

- name: Setup node
uses: actions/setup-node@v1
with:
node-version: '14'

- run: npm install

- name: Setup yarn
run: npm install -g yarn

- name: Install Dependencies - comment
run: yarn install
working-directory: ./frontend/reply-module

- name: Test - comment
run: yarn test
working-directory: ./frontend/reply-module

- name: Build - comment
run: yarn build
working-directory: ./frontend/reply-module
env:
KAKAO_REST_API_KEY: ${{ secrets.KAKAO_REST_API_KEY }}
KAKAO_JAVASCRIPT_API_KEY: ${{ secrets.KAKAO_JAVASCRIPT_API_KEY }}
SENTRY_REPLY_MODULE_DSN: ${{ secrets.SENTRY_REPLY_MODULE_DSN }}

- name: Install Dependencies - project
run: yarn install
working-directory: ./frontend/manage

- name: Test - project
run: yarn test
working-directory: ./frontend/manage

- name: Build - project
run: yarn build
working-directory: ./frontend/manage
env:
KAKAO_REST_API_KEY: ${{ secrets.KAKAO_REST_API_KEY }}
KAKAO_JAVASCRIPT_API_KEY: ${{ secrets.KAKAO_JAVASCRIPT_API_KEY }}
SENTRY_MANAGE_PAGE_DSN: ${{ secrets.SENTRY_MANAGE_PAGE_DSN }}

- name: Install Dependencies - deploy script
run: yarn install
working-directory: ./frontend/deploy-script

- name: Build - deploy script
run: yarn build
working-directory: ./frontend/deploy-script

- name: build result to slack
uses: 8398a7/action-slack@v3
with:
status: ${{ job.status }}
fields: repo, message, commit, author, action, eventName, ref, workflow, job, took
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_FRONT }}
if: always()
92 changes: 92 additions & 0 deletions .github/workflows/push_builder.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
# This workflow will do a clean install of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions

name: Darass Push Builder [FE]

on:
push:
branches: [ develop/fe ]

jobs:
deploy:

runs-on: [ self-hosted, front ]

steps:
- name: Checkout source code
uses: actions/checkout@v2

- name: Setup node
uses: actions/setup-node@v1
with:
node-version: '14'

- run: npm install

- name: Setup yarn
run: npm install -g yarn

- name: Install Dependencies - comment
run: yarn install
working-directory: ./frontend/reply-module

- name: Test - comment
run: yarn test
working-directory: ./frontend/reply-module

- name: Build - comment
run: yarn build
working-directory: ./frontend/reply-module
env:
KAKAO_REST_API_KEY: ${{ secrets.KAKAO_REST_API_KEY }}
KAKAO_JAVASCRIPT_API_KEY: ${{ secrets.KAKAO_JAVASCRIPT_API_KEY}}
SENTRY_REPLY_MODULE_DSN: ${{ secrets.SENTRY_REPLY_MODULE_DSN }}

- name: Install Dependencies - project
run: yarn install
working-directory: ./frontend/manage

- name: Test - project
run: yarn test
working-directory: ./frontend/manage

- name: Build - project
run: yarn build
working-directory: ./frontend/manage
env:
KAKAO_REST_API_KEY: ${{ secrets.KAKAO_REST_API_KEY }}
KAKAO_JAVASCRIPT_API_KEY: ${{ secrets.KAKAO_JAVASCRIPT_API_KEY}}
SENTRY_MANAGE_PAGE_DSN: ${{ secrets.SENTRY_MANAGE_PAGE_DSN }}

- name: Install Dependencies - deploy script
run: yarn install
working-directory: ./frontend/deploy-script

- name: Build - deploy script
run: yarn build
working-directory: ./frontend/deploy-script

- name: Install Aws Cli
uses: unfor19/install-aws-cli-action@v1

- name: S3 Deploy - comment
run: aws s3 sync ./dist s3://darass-reply-module/development/
working-directory: ./frontend/reply-module

- name: S3 Deploy - project
run: aws s3 sync ./dist s3://darass-manage-page/development/
working-directory: ./frontend/manage

- name: S3 Deploy - deploy script
run: aws s3 sync ./dist s3://darass-reply-module/development/
working-directory: ./frontend/deploy-script

- name: build result to slack
uses: 8398a7/action-slack@v3
with:
status: ${{ job.status }}
fields: repo, message, commit, author, action, eventName, ref, workflow, job, took
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_FRONT }}
if: always()
3 changes: 3 additions & 0 deletions frontend/deploy-script/.babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"presets": ["@babel/preset-env"]
}
15 changes: 15 additions & 0 deletions frontend/deploy-script/.eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"env": {
"browser": true,
"es2021": true
},
"extends": ["eslint:recommended", "prettier"],

"parserOptions": {
"ecmaVersion": 12,
"sourceType": "module"
},
"plugins": ["prettier"],
"rules": {},
"ignorePatterns": ["webpack.config.js", ".eslintrc"]
}
3 changes: 3 additions & 0 deletions frontend/deploy-script/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
node_modules
dist
.vscode
18 changes: 18 additions & 0 deletions frontend/deploy-script/.prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"arrowParens": "avoid",
"bracketSpacing": true,
"htmlWhitespaceSensitivity": "css",
"insertPragma": false,
"jsxBracketSameLine": false,
"jsxSingleQuote": false,
"printWidth": 120,
"proseWrap": "preserve",
"quoteProps": "as-needed",
"requirePragma": false,
"semi": true,
"singleQuote": false,
"tabWidth": 2,
"trailingComma": "none",
"useTabs": false,
"vueIndentScriptAndStyle": false
}
31 changes: 31 additions & 0 deletions frontend/deploy-script/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>์ด์˜จ์ด ๋ธ”๋กœ๊ทธ..</title>
</head>

<body>
<div style="width: 100%; height: 100px; background-color: silver">์•ˆ๋…• ๋‚˜๋Š” ๋Œ€์ถฉ ์–ด๋–ค์–ด๋–ค ์ปจํ…์ธ ์•ผ</div>

<!-- ๋‹ค๋ผ์“ฐ ์„ค์น˜ ์ฝ”๋“œ -->
<div id="darass" data-project-key="WwDKMLgujn8vQ6Q">
<script type="text/javascript" defer>
(function () {
// DON'T EDIT BELOW THIS LINE
var $document = document;

var $script = $document.createElement("script");
$script.src = "./src/index.js";
$script.defer = true;

$document.head.appendChild($script);
})();
</script>
<noscript>๋‹ค๋ผ์“ฐ ๋Œ“๊ธ€ ์ž‘์„ฑ์„ ์œ„ํ•ด JavaScript๋ฅผ ํ™œ์„ฑํ™” ํ•ด์ฃผ์„ธ์š”</noscript>
</div>
<!-- ๋‹ค๋ผ์“ฐ ์„ค์น˜ ์ฝ”๋“œ ๋ -->
</body>
</html>
26 changes: 26 additions & 0 deletions frontend/deploy-script/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"name": "deploy-script",
"version": "^0.1.0",
"description": "script for deploy",
"main": "index.js",
"author": "๊ณค์ด, ๋„๋น„",
"license": "MIT",
"devDependencies": {
"@babel/cli": "^7.14.5",
"@babel/core": "^7.14.6",
"@babel/preset-env": "^7.14.7",
"babel-loader": "^8.2.2",
"clean-webpack-plugin": "^4.0.0-alpha.0",
"cross-env": "^7.0.3",
"eslint": "^7.30.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^3.4.0",
"prettier": "^2.3.2",
"webpack": "^5.44.0",
"webpack-cli": "^4.7.2"
},
"scripts": {
"build": "cross-env BUILD_MODE=development webpack",
"build:production": "cross-env BUILD_MODE=production webpack"
}
}
35 changes: 35 additions & 0 deletions frontend/deploy-script/src/common.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import { POST_MESSAGE_TYPE } from "./constants.js";

export const postMessageToIframe = ({ $iframe, message }) => {
$iframe.contentWindow.postMessage(message, "*");
};

export const postParentClickEventToIframe = $iframe => {
postMessageToIframe({ $iframe, message: { type: POST_MESSAGE_TYPE.CLICK } });
};

export const hideElement = element => {
if (!element instanceof HTMLElement) return;

element.style.display = "none";
};

export const showElement = element => {
if (!element instanceof HTMLElement) return;

element.style.display = "";
};

export const disableScroll = () => {
document.body.style.overflow = "hidden";
};

export const enableScroll = () => {
document.body.style.overflow = "revert";
};

export const resizeElementHeight = ({ element, height }) => {
if (!element instanceof HTMLElement) return;

element.style.setProperty("height", `${height}px`, "important");
};
15 changes: 15 additions & 0 deletions frontend/deploy-script/src/constants.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
const DEVELOP_END_POINT = "https://dorvcm7xtbd6v.cloudfront.net";
const PRODUCTION_END_POINT = "https://reply-darass.o-r.kr";

export const END_POINT = process.env.BUILD_MODE === "development" ? DEVELOP_END_POINT : PRODUCTION_END_POINT;

export const POST_MESSAGE_TYPE = {
CLICK: "click",
SCROLL_HEIGHT: "scrollHeight",
OPEN_LIKING_USERS_MODAL: "openLikingUsersModal",
CLOSE_MODAL: "closeModal",
ALERT: "alert",
OPEN_CONFIRM: "confirm",
CLOSE_CONFIRM: "closeConfirm",
CONFIRM_OK: "confirmOK"
};
7 changes: 7 additions & 0 deletions frontend/deploy-script/src/createIframe.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
export const createIframe = ({ src, style }) => {
const $iframe = document.createElement("iframe");
$iframe.setAttribute("src", src);
$iframe.setAttribute("style", style);

return $iframe;
};
18 changes: 18 additions & 0 deletions frontend/deploy-script/src/getURL.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import { END_POINT } from "./constants.js";

export const getReplyModuleURL = () => {
const $darass = document.querySelector("#darass");
const replyModuleURL = END_POINT + "?";
const currentURL = window.location.href;
const projectKey = $darass.dataset.projectKey;

const urlParams = new URLSearchParams(replyModuleURL);
urlParams.set("url", currentURL);
urlParams.set("projectKey", projectKey);

return decodeURIComponent(urlParams.toString());
};

export const getModalURL = () => {
return `${END_POINT}/modal.html`;
};
Loading

0 comments on commit 4b9cd61

Please sign in to comment.