Skip to content

Commit

Permalink
[v1.0.0] pick-git ๋ฐฐํฌ (#215)
Browse files Browse the repository at this point in the history
* ํ”„๋ก ํŠธ์—”๋“œ ๊ธฐ๋ณธ ํ™˜๊ฒฝ ์„ค์ • (#3)

* chore: ๊ธฐ๋ณธ ํ™˜๊ฒฝ์„ค์ • (#2)

* chore: ํ•„์ˆ˜ ์˜์กด์„ฑ ์„ค์น˜ (#2)

* Chip ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#18)

* feat: ์ „์—ญ ์Šคํƒ€์ผ๋ง ์ ์šฉ(#2)

Co-authored-by: SONG WON LEE <[email protected]>

* chore: ์Šคํ† ๋ฆฌ๋ถ ๊ธฐ๋ณธ์„ค์ •

Co-authored-by: SONG WON LEE <[email protected]>

* chore: svg inline loader ์„ค์น˜ ๋ฐ ์ ์šฉ

Co-authored-by: SONG WON LEE <[email protected]>

* feat: Chip ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„

Co-authored-by: SONG WON LEE <[email protected]>

Co-authored-by: SONG WON LEE <[email protected]>

* feat: Avatar ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#13) (#20)

* CountIndicator ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#19)

* feat: CountIndicator ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (# 15)

* feat: CountIndicator ์ปดํฌ๋„ŒํŠธ์— theme ์ ์šฉ (#15)

* chore: styled-components ์˜ theme ๊ฐ์ฒด์— ํƒ€์ž…์„ ๋ถ€์—ฌ (#22) (#23)

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

* chore: css normalize ์ ์šฉ (#21) (#24)

* type declare error ํ•ด๊ฒฐ (#25)

* chore: svg-inline-loader๋ฅผ svgr๊ณผ url-loader๋กœ ๋Œ€์ฒด

* fix: ์˜คํƒ€์ˆ˜์ •

* fix: type declare์˜ค๋ฅ˜ ์ˆ˜์ •

- styled components type declare
- svg module declare

* ์Šคํ† ๋ฆฌ๋ถ webpack ์— svgr ์ ์šฉ (#27)

* chore: svg ํŒŒ์ผ ์ถ”๊ฐ€ ๋ฐ svg ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ•˜๋‚˜์˜ ํŒŒ์ผ์—์„œ import ํ•ด์˜ฌ ์ˆ˜ ์žˆ๋„๋ก ์„ค์ • (#29)

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

* chore: ๋ฐฑ์—”๋“œ ๊ธฐ๋ณธ ํ™˜๊ฒฝ ์„ค์ • (#30)

* chore: ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ถ„๋ฆฌ ๋ฐ ์Šค์ผˆ๋ ˆํ†ค ์ฝ”๋“œ ์ž‘์„ฑ (#33)

* feat: CricleIcon ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#12) (#31)

* [#6] NavigationHeader ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#42)

* fix: a ํƒœ๊ทธ์— ์ „์—ญ์œผ๋กœ ๋ถ€์—ฌ๋œ hover ํ…์ŠคํŠธ color ์ œ๊ฑฐ

* chore: ์ด๋ฏธ์ง€ ํŒŒ์ผ ๋ชจ๋“ˆ์— ๋Œ€ํ•œ typing ์ ์šฉ

* feat: NavigationHeader ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„

* feat: NavigationHeader ์ปดํฌ๋„ŒํŠธ์˜ a ํƒœ๊ทธ๋ฅผ react-router-dom ์˜ Link ์ปดํฌ๋„ŒํŠธ๋กœ ๊ต์ฒด

- Link ์ปดํฌ๋„ŒํŠธ์— ๊ฒฝ๋กœ prop ํ• ๋‹น

* [#17] TextEditor ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#43)

* feat: svg ํŒŒ์ผ์„ react component๋กœ ๋ถˆ๋Ÿฌ์™€ ์ ์šฉ

* feat: TextEditor ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#17)

* chore: s3proxy ๊ธฐ๋ณธ ํ™˜๊ฒฝ ์„ค์ • (#56)

* [#7] StepHeader ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#47)

* feat: StepHeader ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ - close #7

* feat: padding, width ๊ฐ’ px -> rem ์œผ๋กœ ์ „ํ™˜

* [#44] API Layer ์ถ”์ƒํ™” ๋ฐ profile request ๊ตฌํ˜„ (#59)

* chore: axios ์„ค์น˜

Co-authored-by: SONG WON LEE <[email protected]>

* chore: ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ฐ ํŒŒ์ผ ์ด๋ฆ„ ๋ณ€๊ฒฝ

Co-authored-by: SONG WON LEE <[email protected]>

* feat: useLocalStorage hook ๊ตฌํ˜„

Co-authored-by: LEE SONG WON <[email protected]>

* feat: Profile reqest ๋ฐ query ๊ตฌํ˜„

Co-authored-by: LEE SONG WON <[email protected]>

* fix: ์ž˜๋ชป์‚ฌ์šฉํ•œ ๋ฉ”์„œ๋“œ ์ˆ˜์ •

* feat: json-server๋ฅผ ํ†ตํ•ด resource mocking

Co-authored-by: SONG WON LEE <[email protected]>
Co-authored-by: LEE SONG WON <[email protected]>

* [#8] SearchHeader ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#60)

* chore: StepHeader ์ปดํฌ๋„ŒํŠธ ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* feat: SearchHeader ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„

* feat: Tabs ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#14) (#64)

* feat: ContributionGraph ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#67)

* feat: Input ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#65)

* feat: ImageUploader ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#66)

* feat: Button ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#41) (#72)

* [#71] ์ดˆ๊ธฐ ํŒจํ‚ค์ง€ ๋ฐ ์„ธํŒ…์„ ์„ค์ • (#74)

* chore: ์ดˆ๊ธฐ ์„ค์ • ๋ฐ ์—”ํ‹ฐํ‹ฐ ๋งตํ•‘ ๋ณด์™„ (#71)

* chore: Authentication ํŒจํ‚ค์ง€ ์Šค์ผˆ๋ ˆํ†ค ์ฝ”๋“œ ์ž‘์„ฑ (#71)

* [#46] Github OAuth 2.0์„ ์‚ฌ์šฉํ•œ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#75)

* feat: pick-git ๋„๋ฉ”์ธ์ด ๋“ฑ๋ก๋œ Github Login URL์„ ๋ฐ›์•„์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํŒจํ‚ค์ง€ import๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* feat: ์‚ฌ์šฉ์ž๊ฐ€ Github ๋กœ๊ทธ์ธ ํ›„ Github Authorization Server๋กœ๋ถ€ํ„ฐ AccessToken ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: application.yml์—์„œ Github๊ด€๋ จ ๊ตฌ์กฐ ์ˆ˜์ •

* feat: ๋กœ๊ทธ์ธ์‹œ Github Profile ์ตœ์‹ ํ™” ๋ฐ ํ† ํฐ ์ƒ์„ฑํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ๋กœ๊ทธ์ธ ๊ด€๋ จ ํ‘œํ˜„ ๊ณ„์ธต ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* feat: DB๋กœ ๋ถ€ํ„ฐ User ์ •๋ณด๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด User ๋„๋ฉ”์ธ ๊ตฌํ˜„

* feat: ํšŒ์›๊ฐ€์ž…(์ฒซ ๋กœ๊ทธ์ธ)๊ณผ ๋กœ๊ทธ์ธ(๋‘๋ฒˆ์งธ ๋กœ๊ทธ์ธ๋ถ€ํ„ฐ)์‹œ DB์— ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„

- ํšŒ์›๊ฐ€์ž…(์ฒซ ๋กœ๊ทธ์ธ์‹œ) Github Profile์„ ๊ฐ€์ ธ์™€์„œ DB์— ์ €์žฅํ•œ๋‹ค.
- ๋กœ๊ทธ์ธ(๋‘๋ฒˆ์งธ ๋กœ๊ทธ์ธ๋ถ€ํ„ฐ) Github Profile๊ณผ ๊ด€๋ จ๋œ ์ •๋ณด๋งŒ ์ˆ˜์ •ํ•œ๋‹ค.

* feat: ํšŒ์› ์ธ์ฆ์„ ์œ„ํ•œ ์ธํ„ฐ์…‰ํ„ฐ์™€ HandlerMethodArgumentResolver ๊ตฌํ˜„

* refactor: OAuth ์•ก์„ธ์Šค ํ† ํฐ DB์— ์ ‘๊ทผํ•˜๋Š” DAO ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ถ„๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

* refactor: OAuth๋กœ๋ถ€ํ„ฐ Profile๊ฐ€์ ธ์˜ค๋Š” ์ฝ”๋“œ ๋ถ„๋ฆฌ

* test: OAuthService ์Šฌ๋ผ์ด์Šค ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* chore: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์ • ์ˆ˜์ •

* refactor: rebase๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•œ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐ ๋ฆฌํŒฉํ† ๋ง

* feat: Comment ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#63) (#73)

* [#4] ImageSlider ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#77)

* feat: goBack, goForward svg๊ฐ€ currnetColor์„ ๋ฐ›๋„๋ก ์ˆ˜์ •

* feat: useTrottle ๊ตฌํ˜„

* feat: ImageComponent ๊ตฌํ˜„ (#4)

* fix: ์ƒ‰์ƒ์ฝ”๋“œ ์˜คํƒ€ ์ˆ˜์ •

* [#5] PostItem ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#81)

* feat: PostItem ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„

- svg ์•„์ด์ฝ˜ 4๊ฐœ ์ถ”๊ฐ€

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

* refactor: Comment ์ปดํฌ๋„ŒํŠธ props ์ˆ˜์ •

- name -> authorName
- like -> ์‚ญ์ œ(authorName์„ ํ™œ์šฉํ•˜์—ฌ ์ง์ ‘ link ์ƒ์„ฑ)

* fix: TextEditor ์ปดํฌ๋„ŒํŠธ fontSize prop ์ด ์ ์šฉ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* refactor: Input ์ปดํฌ๋„ŒํŠธ Ref ์‚ฌ์šฉ ๊ตฌ๋ฌธ ๋‹จ์ˆœํ™”

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

* [#76] ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ† ๋ง ๋ฐ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€ (#80)

* refactor: OAuthController ๋ชฉํ‚น ์• ๋…ธํ…Œ์ด์…˜(WebMvcTest) ๋งค๊ฐœ๋ณ€์ˆ˜ ์ˆ˜์ •

* refactor: Mock์„ ์‚ฌ์šฉํ•œ OAuthService ๋ฆฌํŒฉํ† ๋ง ๋ฐ  UserService(JPA)์‚ฌ์šฉํ•œ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* fix: OAuth ๊ด€๋ จ URL์•ž์— /api ์—†๋˜ ๋ฌธ์ œ ์ˆ˜์ •

* refactor: ๋กœ๊ทธ์ธ ๊ด€๋ จ ์š”์ฒญ ๋ฐ˜ํ™˜๊ฐ’์œผ๋กœ jsonํ˜•์‹์ด ๋ฐ˜ํ™˜๋˜๋„๋ก ๋ฆฌํŒฉํ† ๋ง

* test: ์ธ์ฆ ์ธํ„ฐ์…‰ํ„ฐ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ์ธ์ฆ ํ•ธ๋“ค๋Ÿฌ ๋ฉ”์„œ๋“œ ์•„๊ทœ๋จผํŠธ ๋ฆฌ์กธ๋ฒ„ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: JWT ํ† ํฐ์„ ํ†ตํ•ด AppUser ๋ฐ˜ํ™˜ํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ๋กœ๊ทธ์ธ URL ์š”์ฒญ ๋ฐ ๋กœ๊ทธ์ธ ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: ๋กœ๊ทธ์ธ URL ์š”์ฒญ ๋ฐ ๋กœ๊ทธ์ธ ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* fix: OAuthService ํ†ตํ•ฉํ…Œ์ŠคํŠธ์‹œ ๊ฐ™์€ AccessTokenDB๋ฅผ Bean์œผ๋กœ ๊ณต์œ ํ•ด์„œ ๊ฐ™์€ ํ† ํฐ์ด ๋ฐœํ–‰๋˜๋Š” ํ…Œ์ŠคํŠธ ๋ฌธ์ œ ํ•ด๊ฒฐ

* refactor: ์ธ์ˆ˜ํ…Œ์ŠคํŠธ์‹œ ๋กœ๊ทธ์ธํ•˜๋ฉด ํ† ํฐ์„ ์ฃผ๋Š” ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* refactor: ๊ฒŒ์‹œ๋ฌผ๊ณผ ํ”„๋กœํ•„ ์กฐํšŒ์‹œ ๋กœ๊ทธ์ธ ์ƒํƒœ๊ฐ€ ์•„๋‹ˆ์—ฌ๋„ ์ธํ„ฐ์…‰ํ„ฐ ํ†ต๊ณผํ•˜๋„๋ก ๋ฆฌํŒฉํ† ๋ง

* [#40] ๊ฒŒ์‹œ๋ฌผ ์ž‘์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#68)

* feat: ๊ฒŒ์‹œ๋ฌผ ์ž‘์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* fix: rebase conflict ํ•ด๊ฒฐ

* refactor: @authenticated AppUser ๋ฐ”์ธ๋”ฉ ์ถ”๊ฐ€

* test: ์Šฌ๋ผ์ด์Šค ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: URI.create() ๋ฉ”์†Œ๋“œ ์ถ”์ถœ

* refactor: ๋ฉ”์†Œ๋“œ๋ช… ๋ณ€๊ฒฝ

* feat: Bean Validation ์˜ˆ์™ธ ํ•ธ๋“ค๋ง

* test: ๋ฉ”์†Œ๋“œ๋ช… ๋ณ€๊ฒฝ

* test: ์Šฌ๋ผ์ด์Šค ํ…Œ์ŠคํŠธ ๋ณด์™„

* test: ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

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

* test: ์Šฌ๋ผ์ด์Šค ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* style: ํ•„๋“œ ์„ ์–ธ ์ˆœ์„œ ๋ณ€๊ฒฝ

* test: ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test: Data JPA ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* [#51 #53] ํŒŒ์ผ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#69)

* feat: S3-EC2 ํŒŒ์ผ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํŒŒ์ผ ์—…๋กœ๋“œ API ๊ตฌํ˜„

* feat: ํŒŒ์ผ ํ™•์žฅ์ž ํ™•์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#54)

* test: ์ธ์ˆ˜ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: ํ…Œ์ŠคํŠธ ์ด๋ฆ„ ์žฌ์ž‘์„ฑ

* [#35 #36] ์„ ํƒํ•œ Github ๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ ์‚ฌ์šฉ ์–ธ์–ด ํƒœ๊ทธ ์ถ”์ถœ ๋ฐ ํƒœ๊ทธ ์ €์žฅ/์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#52)

* chore: ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ RestAssured ์˜์กด์„ฑ ์ถ”๊ฐ€ ๋ฐ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ ๊ตฌ์„ฑ (#35)

* feat: GIthub ํŠน์ • Repository์—์„œ Language Tags ์ถ”์ถœ (#35)

* feat: Github Tag ์ถ”์ถœ ์„œ๋น„์Šค ๊ตฌํ˜„ (#35)

* feat: Github Tag ์ถ”์ถœ ํ‘œํ˜„ ๊ณ„์ธต ๊ตฌํ˜„ (#35)

* refactor: ํƒœ๊ทธ ์ถ”์ถœ ๊ธฐ๋Šฅ ์ค‘ Github API ํ˜ธ์ถœ ๋ถ€๋ถ„ ์ธํ„ฐํŽ˜์ด์Šค ๋ถ„๋ฆฌ (#35)

* refactor: stub token์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: controlleradvice tag ํŒจํ‚ค์ง€ ๋ฒ”์œ„ ์ง€์ •

* refactor: GithubTagExtractor ๊ตฌํ˜„์ฒด ObjectMapper ์ฃผ์ž… (#35)

* refactor: TagExtractor ํ”ผ๋“œ๋ฐฑ ๋ฐ˜์˜ ๋ฐ ์ปจํŠธ๋กค๋Ÿฌ ์Šฌ๋ผ์ด์‹ฑ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€ (#35)

* refactor: ํƒœ๊ทธ ์ถ”์ถœ์— ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ํฌํ•จ (#35)

* feat: Post ์ €์žฅ์‹œ ๋“ฑ๋ก๋œ Tag๋„ ํ•จ๊ป˜ ์ €์žฅ (#36)

* feat: ์ด๋ฆ„์— ํ•ด๋‹นํ•˜๋Š” Tag๊ฐ€ ์—†์„๋•Œ๋งŒ Tag ์ƒ์„ฑํ•˜๋Š” ์„œ๋น„์Šค ๊ตฌํ˜„ (#36)

* refactor: ํ˜„์žฌ ๊ธ€์— ์กด์žฌํ•˜๋Š” Tag์™€ ์ค‘๋ณต๋˜๋Š” ์ด๋ฆ„์˜ ํƒœ๊ทธ ์ถ”๊ฐ€์‹œ ์˜ˆ์™ธ ๋ฐœ์ƒ (#35)

* refactor: Post์— Tag ์ •์ƒ ๋“ฑ๋กํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€ (#36)

* refactor: ํƒœ๊ทธ unique ์ œ์•ฝ ์ถ”๊ฐ€ ๋ฐ @transactional ์ ์šฉ (#36)

* refactor: ํƒœ๊ทธ ๋„๋ฉ”์ธ ์ƒ์„ฑ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์ถ”๊ฐ€ (#36)

* refactor: ํƒœ๊ทธ ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ (#36)

* chore: secret ์‚ญ์ œ

* refactor: Rebase ์ดํ›„ ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ์— ๋กœ๊ทธ์ธ ์š”์ฒญ ๋ชจ๋“ˆ ์ถ”๊ฐ€ (#35)

* refactor: ์ž˜๋ชป๋œ ํ† ํฐ์œผ๋กœ ์š”์ฒญ์‹œ ์˜ˆ์™ธ ํ™•์ธ ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€ (#35)

* fix: rebase ์ดํ›„ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ๋ณด์™„

* refactor: ํƒœ๊ทธ ์ถ”๊ฐ€ ์‹คํŒจ ์—๋Ÿฌ ๋ฐ ํ”Œ๋žซํผ ์—๋Ÿฌ๋ฅผ ์ปค์Šคํ…€ ์˜ˆ์™ธ๋กœ ๋ณ€ํ™˜ ๋ฐ TagController ๋ฐ˜ํ™˜ํƒ€์ž… ๋ณ€๊ฒฝ (#35)

* [#55 #57] ์œ ์ € ํ”„๋กœํ•„ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ ํŒ”๋กœ์šฐ ํŒ”๋กœ์ž‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#61)

* feat: ์œ ์ € ํ”„๋กœํ•„ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#55)

* feat: ์œ ์ € ํ”„๋กœํ•„ ์ •๋ณด์— github url ์ถ”๊ฐ€ ๋ฐ ๋ˆ„๋ฝ ํŒŒ์ผ ์ถ”๊ฐ€ (#55)

* feat: ์œ ์ € ํŒ”๋กœ์šฐ ํŒ”๋กœ์ž‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#57)

* test: ์œ ์ € ํ”„๋กœํ•„ ๋ฐ ํŒ”๋กœ์šฐ/ํŒ”๋กœ์ž‰ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„ (#55 #57)

* test: ์œ ์ € ํ”„๋กœํ•„ ๋ฐ ํŒ”๋กœ์šฐ/ํŒ”๋กœ์ž‰ ํ…Œ์ŠคํŠธ ๊ตฌํ˜„(#55 #57)

* refactor: ์œ ์ € ํ”„๋กœํ•„ ๋ฐ ํŒ”๋กœ์šฐ/ํŒ”๋กœ์ž‰ ํ”ผ๋“œ๋ฐฑ ๋ฐ˜์˜ (#55 #57)

* test: verify() ์ถ”๊ฐ€ (#55 #57)

* [#88] LoginPage ๊ตฌํ˜„ (#98)

* fix: ์˜คํƒ€ ์ˆ˜์ •

* chore: storybook ์„ค์ •์— full screen ์˜ต์…˜ ์ถ”๊ฐ€

* feat: ์›นํฐํŠธ ์ถ”๊ฐ€

* feat: GithubIconLarge svg ์ถ”๊ฐ€

* fix: button attribute type ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* feat: github login mock api ์ถ”๊ฐ€

* feat: user context ๊ตฌํ˜„

* fix: ProfileQuery accessToken type error ํ•ด๊ฒฐ

* feat: github login link ์กฐํšŒ api ๊ตฌํ˜„

* feat: github login ํŽ˜์ด์ง€ ๊ตฌํ˜„(#88)

* fix: UserContextProvider Props ํƒ€์ดํ•‘ ๊ฐ„์†Œํ™”

* feat: Provider ๋ถ„๋ฆฌ ๋ฐ UserContextProvider ์ถ”๊ฐ€

* feat: access token ์กฐํšŒ api ๊ตฌํ˜„(#88)

* feat: github OAuth ๋กœ๊ทธ์ธ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ํŽ˜์ด์ง€ ๊ตฌํ˜„

* [#104] merge์‹œ ๋ˆ„๋ฝ๋œ ์ฝ”๋“œ ์ถ”๊ฐ€ (#105)

* fix: ๋ˆ„๋ฝ๋œ interface ์ •์˜ ์ถ”๊ฐ€

* fix: ๋ˆ„๋ฝ๋œ prop ์ถ”๊ฐ€(commentId)

* fix: ๋ˆ„๋ฝ๋œ url constants ์ถ”๊ฐ€

* feat: ํŒŒ์ผ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#100)

* [#108] ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ „๋žต ๊ตฌํ˜„ (#112)

* feat: ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ „๋žต ๊ตฌํ˜„

* refactor: GlobalExceptionHandler์—์„œ ์ตœ์ƒ์œ„ ์นดํ…Œ๊ณ ๋ฆฌ์ธ ApplicationException๋งŒ ๋ฐ›๋„๋ก ์ˆ˜์ •

* refactor: RestControllerAdvice๋กœ ์ˆ˜์ •

* refactor: ์˜ˆ์™ธ ๋กœ๊น…์šฉ ์˜ˆ์™ธ message ์ƒ์„ฑ์ž ํŒŒ๋ผ๋ฏธํ„ฐ ์ถ”๊ฐ€

* feat: Button ์ปดํฌ๋„ŒํŠธ kind type ์ถ”๊ฐ€(#107) (#111)

- SquaredBlock, RoundedInline์ถ”๊ฐ€

* [#102] ๊ฒŒ์‹œ๋ฌผ์— Github Repository ์ฃผ์†Œ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๊ตฌํ˜„  (#109)

* feat: post ์—…๋กœ๋“œ ์‹œ github repository ์ฃผ์†Œ ํ•จ๊ป˜ ์ €์žฅ (#102)

* fix: ๋ถˆํ•„์š”ํ•œ ํŒŒ์ผ ์‚ญ์ œ (#102)

* refactor: ํ”ผ๋“œ๋ฐฑ ๋ฐ˜์˜ (#102)

* [#34] ๋Œ“๊ธ€ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#84)

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

* feat: Post ์˜์†์‹œ Comment ํ•จ๊ป˜ ์˜์†ํ™”ํ•˜๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (#34)

* feat: User๊ฐ€ ํŠน์ • Post์— Comment ์ถ”๊ฐ€ํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#34)

* feat: ๋“ฑ๋ก๋œ ๊ฒŒ์‹œ๋ฌผ์— Comment ์ถ”๊ฐ€ํ•˜๋Š” ์„œ๋น„์Šค ๊ตฌํ˜„ (#34)

* test: Service ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€ (#34)

* feat: ๋Œ“๊ธ€ ์ถ”๊ฐ€ API ๋‹จ์œ„ ๋ฐ ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€ (#34)

* refactor: CommentFormat ์˜ˆ์™ธ ์ƒํƒœ์ฝ”๋“œ ๋ณ€๊ฒฝ ๋ฐ ์—๋Ÿฌ ์ฝ”๋“œ ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ (#34)

* refactor: ControllerAdvice ์ด๋ฆ„์„ ํŠน์ • ์ปจํŠธ๋กค๋Ÿฌ๋กœ ๋ช…์‹œ (#34)

* refactor: ์ฝ”๋“œ ๋ณ‘ํ•ฉ์œผ๋กœ ์ธํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ฐ ์„ค์ • ์ˆ˜์ • (#34)

* refactor: rebase ๋ณ‘ํ•ฉ ํ•ด๊ฒฐ (#34)

* [#37] Github Repositories ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#58)

* feat: Github Repositories ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* test: ์Šฌ๋ผ์ด์Šค ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* refactor: get -> show ๋ฉ”์†Œ๋“œ๋ช… ์ˆ˜์ •

* refactor: ํด๋ž˜์Šค๋ช… ์ˆ˜์ •

* refactor: Repository -> Repositories ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ

* fix: rebase conflict ํ•ด๊ฒฐ

* refactor: application -> domain <- infrastructure ๋ฐฉํ–ฅ์œผ๋กœ ์˜์กด์„ฑ ํ๋ฅด๋„๋ก ์ˆ˜์ •

* test: given-when-then ๊ตฌ๋ฌธ ์ˆ˜์ •

* refactor: HttpEntity -> RequestEntity ๋ณ€๊ฒฝ

* test: given-when-then ๊ตฌ๋ฌธ ์ˆ˜์ •

* refactor: Github Repositories ์กฐํšŒ ๊ธฐ๋Šฅ ์ˆ˜์ •

* test: ์ปจํŠธ๋กค๋Ÿฌ ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* test: ์Šฌ๋ผ์ด์Šค ํ…Œ์ŠคํŠธ ์ˆ˜์ •

* test: ์Šฌ๋ผ์ด์Šค ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

* test: rebase conflict ํ•ด๊ฒฐ

* feat: ํ”„๋กœํ•„ ์กฐํšŒ์‹œ ํŒ”๋กœ์šฐ ์—ฌ๋ถ€ ํŒ๋‹จ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#113) (#117)

* [#95] ํ™ˆ ํ”ผ๋“œ ๊ฒŒ์‹œ๊ธ€ ์กฐํšŒ (#114)

* feat: ํŽ˜์ด์ง•์„ ํ†ตํ•ด ๊ฒŒ์‹œ๋ฌผ์„ ์กฐํšŒํ•˜๊ณ  DTO๋กœ ๋ณ€ํ™˜ (#95)

* refactor: rebase ๋ณ‘ํ•ฉ์œผ๋กœ ์ธํ•œ ์ถฉ๋Œ ํ•ด๊ฒฐ (#95)

* feat: ๊ฒŒ์‹œ๋ฌผ ์กฐํšŒ ํŽ˜์ด์ง• ๊ธฐ๋Šฅ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€ (#95)

* refactor: ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€ ๋ฐ ํƒœ๊ทธ DTO ์ •๋ฆฌ (#95)

* refactor: Post ์กฐํšŒ RestAssured ๋ฉ”์„œ๋“œ ์ค‘๋ณต ๋ฆฌํŒฉํ† ๋ง (#95)

* refactor: ๋ณ‘ํ•ฉ์œผ๋กœ ์ธํ•œ ์ถฉ๋Œ ํ•ด๊ฒฐ (#95)

* refactor: batch size๋ฅผ ํ†ตํ•œ ํŽ˜์ด์ง• ์ฟผ๋ฆฌ ์„ฑ๋Šฅ ๊ฐœ์„  (#95)

* refactor: ํŽ˜์ด์ง• fetch join ์ถ”๊ฐ€ (#95)

* [#119] ์„œ๋ธŒ๋ชจ๋“ˆ ์ ์šฉ (#120)

* chore: ์„œ๋ธŒ๋ชจ๋“ˆ ์ถ”๊ฐ€ (#119)

* chore: ์„œ๋ธŒ๋ชจ๋“ˆ ์ ์šฉ (#119)

* chore: ์„œ๋ธŒ๋ชจ๋“ˆ ์ˆ˜์ • (#119)

* [#87] HomeFeedPage ํŽ˜์ด์ง€ ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#121)

* refactor: Provider ์™€ Global Style ์ ์šฉ์„ App.tsx -> Index.tsx ์—์„œ ์ˆ˜ํ–‰

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

* feat: Profile ํŽ˜์ด์ง€ query ์ดˆ๊ธฐํ™”

* refactor: CommentData ํƒ€์ž… ๋ณ€๊ฒฝ & Comment ์ปดํฌ๋„ŒํŠธ Props ์˜ CommentData ํƒ€์ž… ์˜์กด์„ฑ ์ œ๊ฑฐ

* fix: PostItem ์ปดํฌ๋„ŒํŠธ์— ๋Œ“๊ธ€ ๋‹ฌ๊ธฐ ๋ฒ„ํŠผ ์ถ”๊ฐ€ & Tag ๋“ค์„ ๋‚˜ํƒ€๋‚ด๋Š” Chip ๋“ค ์ถ”๊ฐ€

- send.svg ์ถ”๊ฐ€
- PostItem ์Šคํƒ€์ผ๋ง ๋ณ€๊ฒฝ

* chore: webpack ์ด๋ฏธ์ง€ ํŒŒ์ผ ๋กœ๋” ๋ฃฐ ์ถ”๊ฐ€

* feat: TextEditor ์ปดํฌ๋„ŒํŠธ ๋ฐฐ๊ฒฝ์ƒ‰ prop ์ œ๊ฑฐ

- ๊ธฐ๋ณธ border-radius ์ œ๊ฑฐ

* feat: Button kind ๋ณ„ padding ๋ณ€ํ™” ์ ์šฉ

* feat: ์ƒ์†์šฉ Styled Component ์ œ์ž‘

* feat: Header ์ปดํฌ๋„ŒํŠธ๋“ค์— ๋ชจ๋“ˆ Styled Component ์ƒ์† ์ ์šฉ

* chore: .vscode ๋ฅผ gitignore ๋ชฉ๋ก์— ์ถ”๊ฐ€

* feat: PostItem ์ปดํฌ๋„ŒํŠธ ๋งˆํฌ์—… ๊ตฌ์กฐ ์ˆ˜์ •

- ํ•„์š”ํ•˜์ง€ ์•Š์€ prop ํ• ๋‹น ์‚ญ์ œ

* feat: Header ์ปดํฌ๋„ŒํŠธ์— ์ผ๊ด„์ ์œผ๋กœ ์ ์šฉํ•  ๋†’์ด๊ฐ’ ์ƒ์ˆ˜ํ™”

* feat: PostItem ์Šคํƒ€์ผ ์†์„ฑ ์ˆ˜์ •

* feat: Feed ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„

* feat: HomeFeedPage ํŽ˜์ด์ง€ ๊ตฌํ˜„

* feat: FAILURE_MESSAGE & LIMIT ์ƒ์ˆ˜ ์ถ”๊ฐ€

- LIMIT ๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ œํ•œํ•˜๋Š” ๋ฐ์ดํ„ฐ ํ˜•์‹์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ƒ์ˆ˜๋“ค์„ ๋‹ด์€ ๊ฐ์ฒด
- FAILURE_MESSAGE ๋Š” ์š”์ฒญ ํ˜น์€ ๋™์ž‘์ด ์‹คํŒจํ–ˆ์„ ๋•Œ ์‚ฌ์šฉ์ž ํ”ผ๋“œ๋ฐฑ์— ํ™œ์šฉ๋  ๋ฉ”์„ธ์ง€๋“ค์„ ๋‹ด์€ ๊ฐ์ฒด

* feat: HomeFeedPage ๋ผ์šฐํŒ… ์ ์šฉ

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

* [#118] ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ „๋žต์„ ์ ์šฉ ๋ฐ Entity์— id ๋™๋“ฑ์„ฑ ์ถ”๊ฐ€  (#122)

* refactor: Authentication ์ปค์Šคํ…€ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๊ตฌํ˜„

* refactor: User, Tag ์ปค์Šคํ…€ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๊ตฌํ˜„

* refactor: Post, Comment ์ปค์Šคํ…€ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๊ตฌํ˜„

* refactor: ์—”ํ‹ฐํ‹ฐ id ๋™๋“ฑ์„ฑ ์ •์˜

* refactor: ํ”Œ๋žซํผ ์ด๋‹ˆ์…œ V๋กœ ์ˆ˜์ •

* fix: DataJpaTest์— Date ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์„ค์ • ์ถ”๊ฐ€ (#123)

* [#89] Profile Page ๊ตฌํ˜„ (#126)

* refactor: Provider ์™€ Global Style ์ ์šฉ์„ App.tsx -> Index.tsx ์—์„œ ์ˆ˜ํ–‰

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

* feat: Profile ํŽ˜์ด์ง€ query ์ดˆ๊ธฐํ™”

* feat: Avatar ์ปดํฌ๋„ŒํŠธ name์˜ fontWeight์„ bold๋กœ ๋ณ€๊ฒฝ

* feat: storybook dummy token ์ถ”๊ฐ€

* feat: mock data ๋ฐ routes ์ถ”๊ฐ€

* chore: svg ์•„์ด์ฝ˜ ์ถ”๊ฐ€

* fix: Profile interface ์ˆ˜์ •

* Revert "feat: mock data ๋ฐ routes ์ถ”๊ฐ€"

This reverts commit ea74c1bfda40c4bacf71283d193fad62927859d7.

* feat: ProfileHeader ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#89)

* feat: Profile ์ปดํฌ๋„ŒํŠธ์˜ api๋กœ์ง ๋ฐ query ๊ตฌํ˜„

* feat: Profile ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„(#89)

* chore: assets/images์˜ ํŒŒ์ผ์„ .png, .jpg ๋กœ ํ†ต์ผ

* chore: ์ด๋ฏธ์ง€ ํ™•์žฅ์ž์— ๋Œ€ํ•ด url loader์ถ”๊ฐ€

* feat: profile ๊ด€๋ จ mock api ์ถ”๊ฐ€

* feat: default Profile ์ด๋ฏธ์ง€๋ฅผ svg์—์„œ png ํŒŒ์ผ๋กœ ๋ณ€๊ฒฝ

* refactor: profile page url์„ ํ•˜๋‚˜๋กœ ํ†ต์ผ

* feat: main ํƒœ๊ทธ ์ถ”๊ฐ€

* feat: Profile์ปดํฌ๋„ŒํŠธ story ์ถ”๊ฐ€

* refactor: Profile url์— userType param ์ถ”๊ฐ€

* refactor: isMyProfile ์†์„ฑ์„ Profile์ปดํฌ๋„ŒํŠธ์˜ ์ƒ์œ„๋กœ ์ด๋™

* feat: Tabs ์ปดํฌ๋„ŒํŠธ์— ํ•ด๋‹น ํƒญ์— ๋Œ€ํ•œ ์ปจํ…์ธ  ์ถ”๊ฐ€

* feat: LoggedInWrapper util๋กœ ๋ถ„๋ฆฌ

* feat: ProfileFeed ์ปดํฌ๋„ŒํŠธ ๋ ˆ์ด์•„์›ƒ ๊ตฌํ˜„

* feat: mock data ์ถ”๊ฐ€

* feat: svg icon ์ถ”๊ฐ€

* refactor: ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ ์ œ๊ฑฐ ๋ฐ ๋ˆ„๋ฝ ์ฝ”๋“œ ๋ณด์ถฉ

- ๋ถˆํ•„์š”ํ•œ ์˜์กด์„ฑ ์ œ๊ฑฐ
- ๋ˆ„๋ฝ๋œ key prop ์ถ”๊ฐ€
- tab ์Šคํƒ€์ผ ๋ณ€๊ฒฝ
- ์ค‘๋ณต๋œ ์ฝ”๋“œ ์ œ๊ฑฐ

* feat: ํ”„๋กœํ•„ ํ”ผ๋“œ์— ๋น„๋™๊ธฐ ๋กœ์ง ์ถ”๊ฐ€

* feat: GithubStatistics ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„

* feat: Profile Page ๊ตฌํ˜„(#89)

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

* feat: ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋ ˆ์ด์•„์›ƒ ์ˆ˜์ • ๋ฐ ํ™ˆ ๋ฒ„ํŠผ ์ถ”๊ฐ€

* feat: ๋ ˆ์ด์•„์›ƒ ์ˆ˜์ •

* fix: ๋ˆ„๋ฝ๋œ accessToken ์ถ”๊ฐ€

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

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

- main widht๋ฅผ ๋ชจ๋ฐ”์ผ ์‚ฌ์ด์ฆˆ๋กœ ๊ณ ์ •
- black button ํŒจ๋”ฉ ์กฐ์ •

* feat: ๋ฐ๋ชจ๋ฅผ ์œ„ํ•ด ํ•ญ์ƒ ๋กœ๊ทธ์ธ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋„๋ก ์ˆ˜์ •

* feat: ๋ฐ˜์‘ํ˜• ๋ ˆ์ด์•„์›ƒ ์ ์šฉ

* refactor: optionalํ•œ ์—˜๋ฆฌ๋จผํŠธ๋ฅผ JSX๋กœ ์ฒ˜๋ฆฌ

* refactor: error์— ๋”ฐ๋ฅธ ui ๋ถ„๊ธฐ๋ฅผ ์„ ์–ธ์ ์œผ๋กœ ๋ช…์‹œ

Co-authored-by: SONG WON LEE <[email protected]>
Co-authored-by: Tanney102 <[email protected]>

* feat: ์  ํ‚จ์Šค ์„ค์ • ํŒŒ์ผ ์ƒ์„ฑ (#133)

* refactor: ๋น„๋กœ๊ทธ์ธ ์œ ์ €๋กœ๋„ ํ™ˆ ํ”ผ๋“œ ์กฐํšŒ๋ฅผ ํ•˜๋„๋ก ์ˆ˜์ • (#134) (#135)

* fix: ํŒŒ๋ผ๋ฏธํ„ฐ ์—†์ด routeํ•˜๋„๋ก url ๋ฐ ๊ด€๋ จ ์ฝ”๋“œ ์ˆ˜์ • (#131)

* fix: s3storage bean ํƒ์ƒ‰์„ ํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#136)

* [hotfix] CORS ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#138)

* fix: CORS ๋ฒ„๊ทธ ํ•ด๊ฒฐ

* chore: security ์ˆ˜์ •

* [#137] ๋‚ด ํ”„๋กœํ•„ ๊ณ„์ •์˜ ๊ฒŒ์‹œ๋ฌผ์„ ์กฐํšŒํ•œ๋‹ค. (#139)

* feat: ๋‚ด ํ”„๋กœํ•„ ๊ณ„์ •์˜ ๊ฒŒ์‹œ๋ฌผ์„ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#137)

* refactor: Jenkins ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ sleep์„ 3์—์„œ 10์œผ๋กœ ๋ณ€๊ฒฝ

* [chore] api mocking ๊ด€๋ จ ์ฝ”๋“œ ์ˆ˜์ • (#140)

* feat: ๋ฌดํ•œ์Šคํฌ๋กค ๊ตฌํ˜„ ์ „์ž„์„ ๊ฐ์•ˆํ•˜์—ฌ posts ์กฐํšŒ์‹œ page, limit mock

* feat: login mock ์ œ๊ฑฐ

* chore: ๋ฐฐํฌ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ api proxy์—ฌ๋ถ€ ๋ถ„๊ธฐ

* chore: ์šด์˜ ํ™˜๊ฒฝ ์„ค์ • ์„œ๋ธŒ ๋ชจ๋“ˆ์„ ์ถ”๊ฐ€ (#143) (#144)

* [#141] ๋‹ค๋ฅธ ์œ ์ €์˜ ํ”„๋กœํ•„ ๊ณ„์ •์˜ ๊ฒŒ์‹œ๋ฌผ ์กฐํšŒ  (#142)

* feat: ๋‹ค๋ฅธ ์œ ์ €์˜ ํ”„๋กœํ•„ ํ”ผ๋“œ๋ฅผ ์กฐํšŒํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#141)

* refactor: Pageable ์‚ฌ์šฉํ•˜๋„๋ก ์ˆ˜์ • (#141)

* fix: PostRepository์— @param ์ถ”๊ฐ€ (#145)

* [#146] ๋กœ๊ทธ์ธ ๋ฐ˜ํ™˜ ๊ฐ’์— ์œ ์ € ๋„ค์ž„ ์ถ”๊ฐ€ ๋ฐ ์ธํ„ฐ์…‰ํ„ฐ ๋งค์น˜ ๊ธฐ๋Šฅ ๋ฆฌํŒฉํ† ๋ง (#147)

* refactor: PathPattern ์ธํ„ฐ์…‰ํ„ฐ URL๊ณผ Method๋ฅผ ํ†ตํ•ด ๋งค์น˜๋˜๋„๋ก ๋ฆฌํŒฉํ† ๋ง

* refactor: ๋กœ๊ทธ์ธํ›„ ๋ฐ˜ํ™˜ํ•  ๋•Œ ํ† ํฐ๊ณผ ํ•จ๊ป˜ ์œ ์ € ๋„ค์ž„๋„ ๋ณด๋‚ด๋„๋ก ์ˆ˜์ •

* fix: ์‘๋‹ต ํŒŒ์‹ฑ ์—๋Ÿฌ ์ˆ˜์ • (#148)

* [#129] follow ์ถ”๊ฐ€, ์ทจ์†Œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#149)

* fix: ํฐํŠธ import ์œ„์น˜ ๋ณ€๊ฒฝ

* feat: follow ์ถ”๊ฐ€, ์ทจ์†Œ ๊ธฐ๋Šฅ ๊ตฌํ˜„(#129)

* feat: ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ง„์ž…์‹œ ๋กœ๊ทธ์ธ ์ƒํƒœ ํ™•์ธ

* refactor: submodule์˜ remote branch ๊ธฐ์ค€์„ main์œผ๋กœ ๋ณ€๊ฒฝ (#155)

master -> main

* refactor: ์  ํ‚จ์Šจ ๋นŒ๋“œ ์œ ๋ฐœ ๋ฐฉ์‹ ๋ณ€๊ฒฝ์— ๋”ฐ๋ฅธ ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ • (#157)

* [#152] ์‘๋‹ต ํŒŒ์‹ฑ ์—๋Ÿฌ ์ˆ˜์ • (#153)

* fix: ์‘๋‹ต ํŒŒ์‹ฑ ์—๋Ÿฌ ์ˆ˜์ •

* refactor: build.gradle ํ˜•์‹ ํ†ต์ผ

* fix: ๋น„์ •์ƒ ํŒŒ์ผ ์ด๋ฆ„๋ฐ ํ™•์žฅ์ž ๋„์ถœ ๋ฒ„๊ทธ ํ•ด๊ฒฐ (#160)

* [#163] ๋นŒ๋“œ ์—๋Ÿฌ๋ฅผ ํ™•์ธํ•˜๋‹ค. (#164)

* fix: ๋น„์ •์ƒ ํŒŒ์ผ ์ด๋ฆ„๋ฐ ํ™•์žฅ์ž ๋„์ถœ ๋ฒ„๊ทธ ํ•ด๊ฒฐ

* fix: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ชจ๋“ˆ import๋กœ ์ธํ•œ ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* fix: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ชจ๋“ˆ import๋กœ ์ธํ•œ ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ • (#165)

* [#106] request DTO ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์ถ”๊ฐ€ (#151)

* refactor: Client - Controller DTO๋ช… ๋ณ€๊ฒฝ (#106)

* style: ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐœํ–‰ ์ˆ˜์ • (#106)

* style: ๋ฉ”์†Œ๋“œ ๊ฐœํ–‰ ์ˆ˜์ • (#106)

* test: ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ (#106)

* test: ๋ถˆํ•„์š”ํ•œ ์ฃผ์„ ์‚ญ์ œ (#106)

* feat: ์„œ๋ธŒ๋ชจ๋“ˆ ์ถ”๊ฐ€ (#143)

* refactor: ๊ธฐ๋ณธ ์ƒ์„ฑ์ž ์ ‘๊ทผ ์ œ์–ด์ž ๋ณ€๊ฒฝ (#106)

* refactor: application-prod.yml ์‚ญ์ œ (#106)

* refactor: ์ ์šฉ๋˜์ง€ ์•Š๋Š” Bean Validation ์‚ญ์ œ (#106)

* refactor: request DTO์— Bean Validation ์ถ”๊ฐ€ (#106)

* refactor: application-prod.yml ์‚ญ์ œ (#106)

* refactor: ์„œ๋ธŒ๋ชจ๋“ˆ ์ˆ˜์ •

* refactor: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ • (#106)

* refactor: DTO ๋„ค์ด๋ฐ ์ˆ˜์ • (#106)

* [#169] ํŒŒ์ผ ์ฃผ์†Œ๊ฐ€ ์ œ๋Œ€๋กœ ๋ฐ˜ํ™˜๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#170)

* fix: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ชจ๋“ˆ import๋กœ ์ธํ•œ ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* fix: ํŒŒ์ผ ๊ฒฝ๋กœ๊ฐ€ ์ œ๋Œ€๋กœ ๋ฐ˜ํ™˜๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor:์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” import ์ œ๊ฑฐ

* [fix] ํ”„๋ก ํŠธ์—”๋“œ ์ด์Šˆ ์ˆ˜์ • (#171)

* fix: ์ƒˆ๋กœ๊ณ ์นจ์‹œ ๋กœ๊ทธ์ธ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋„๋ก ์ˆ˜์ •

* fix: ์˜คํƒ€์ˆ˜์ •

* fix: query์— ์ž๊ธฐ ์ด๋ฆ„์œผ๋กœ profileํŽ˜์ด์ง€ ๋“ค์–ด์˜ฌ ๊ฒฝ์šฐ redirect

* feat: ํ”„๋กœํ•„ ํŽ˜์ด์ง€ ๋นˆ ๊ฒŒ์‹œ๋ฌผ ํ‘œ์‹œ ์ถ”๊ฐ€

* [fix] ํ”„๋ก ํŠธ์—”๋“œ ๋ฒ„๊ทธ ์ˆ˜์ • (#172)

* refactor: ๋ถˆํ•„์š”ํ•œ ์˜์กด์„ฑ ์ œ๊ฑฐ

* fix: url ์˜คํƒ€ ์ˆ˜์ •

* fix: ๊ฒŒ์‹œ๋ฌผ ํƒœ๊ทธ ๋ฌธ์ž์—ด ํŒŒ์‹ฑ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* [#173] Feature/loader and infinite scroll container (#175)

* feat: Loader ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„

* feat: InfiniteScrollContainer ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„

* [#90] AddPostPage ํŽ˜์ด์ง€ ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#176)

* feat: AddPostPage ๊ตฌ์„ฑ ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„

- PostAddStepHeader ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„
- PostContentUploader ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„
- RepositorySelector ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„
- TagInputForm ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„
- githube ์•„์ด์ฝ˜ ์ถ”๊ฐ€

* feat: separatorColor theme ์ƒ‰์ƒ ์ถ”๊ฐ€

* feat: AddPostPage ๊ตฌํ˜„

- ImageUploader ์ปดํฌ๋„ŒํŠธ prop ๋ช… ๋ณ€๊ฒฝ
- ๊ฒŒ์‹œ๋ฌผ ์—…๋กœ๋“œ์— ์‚ฌ์šฉ๋˜๋Š” ๊ฐ์ฒด๋“ค์˜ ํƒ€์ž… ์ถ”๊ฐ€
- ๊ฒŒ์‹œ๋ฌผ ์—…๋กœ๋“œ์— ์‚ฌ์šฉ๋˜๋Š” API_URL, GITHUB_URL, STEPS ์ƒ์ˆ˜ ์ถ”๊ฐ€
- PostAddDataContext & PostAddStepContext ์ถ”๊ฐ€

* fix: Noto Sans ์›นํฐํŠธ๊ฐ€ ๋กœ๋“œ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* feat: requestAddPost ์š”์ฒญ ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: Input ์ปดํฌ๋„ŒํŠธ์— name prop ์ถ”๊ฐ€

* feat: LIMIT ์ƒ์ˆ˜ ๊ฐ์ฒด์— FEED_COUNT_PER_FETCH ์†์„ฑ ์ถ”๊ฐ€

* feat: requestGetHomeFeedPosts ์š”์ฒญ ํ•จ์ˆ˜์— ๊ธฐ๋ณธ pageIndex ์ œ๊ณต

* feat: PostAddDataContextProvider ์ ์šฉ ์ง€์  ๋ณ€๊ฒฝ App -> AddPostPage ์ปดํฌ๋„ŒํŠธ ๋ฐ”๋กœ ์œ„

* feat: ํƒœ๊ทธ ์ถ”๊ฐ€ ํ›„ ํƒœ๊ทธ ์ž…๋ ฅ Input ๋‚ด์šฉ์ด ๋น„์›Œ์ง€๋„๋ก ์„ค์ •

* [#161] ํšŒ์›/๋น„ํšŒ์› ๋ชจ๋‘ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” API ํ† ํฐ ๊ฒ€์ฆ ๋กœ์ง ์ˆ˜์ • (#167)

* refactor: ํ‘œํ˜„ ๊ณ„์ธต๊ณผ ์‘์šฉ ๊ณ„์ธต์˜ ๋ฐ˜ํ™˜ํ•˜๋Š” DTO ๋„ค์ด๋ฐ ํ†ต์ผ

* refactor: ํšŒ์›/๋น„ํšŒ์› ๋ชจ๋‘ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” API ํ† ํฐ ๊ฒ€์ฆ ๋กœ์ง์„ ์ˆ˜์ •ํ•œ๋‹ค.

- ๊ธฐ์กด ๋กœ์ง: ํšŒ์›/๋น„ํšŒ์› ๋ชจ๋‘ ์ฒ˜๋ฆฌํ•˜๋Š” API (ex. /api/posts)์—์„œ ํ† ํฐ์ด ์ž˜๋ชป๋œ ๊ฒฝ์šฐ GuestUser๋กœ ์ฒ˜๋ฆฌ.
- ์ˆ˜์ • ๋กœ์ง: ํšŒ์›/๋น„ํšŒ์› ๋ชจ๋‘ ์ฒ˜๋ฆฌํ•˜๋Š” API (ex. /api/posts)์—์„œ ํ† ํฐ์ด ์ž˜๋ชป๋œ ๊ฒฝ์šฐ 401 ์˜ˆ์™ธ ๋ฐœ์ƒ.

* chore: ์„ค์ • ์ˆ˜์ •

* refactor: ์ƒ์ˆ˜ํ™”

* refactor: ํฌ๋งทํŒ… ์ˆ˜์ •

* [#128] Infinite Scroll ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#178)

* feat: Infinite Scroll ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํŽ˜์ด์ง€ ์ปดํฌ๋„ŒํŠธ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ fetch ๋ฐ›๋„๋ก ์ˆ˜์ •

* feat: TagFeedPage & UserFeed ํŽ˜์ด์ง€ ์ถ”๊ฐ€

- ๊ธฐ๋Šฅ ๊ตฌํ˜„ X
- PAGE_URL ์ƒ์ˆ˜ ์ถ”๊ฐ€

* feat: ๊ธฐ์กด์˜ ํ‰๋ฌธ์œผ๋กœ ์ œ๊ณต๋˜๋˜ userName ์„ ๋กœ๊ทธ์ธ ๋œ ์œ ์ € ์ด๋ฆ„์ด ์ œ๊ณต๋˜๋„๋ก ๋ณ€๊ฒฝ

* [#177] ๊ฒŒ์‹œ๋ฌผ ์‹œ๊ฐ„ ํ˜•์‹ ์ถ”๊ฐ€ (#180)

* feat: ๊ฒŒ์‹œ๋ฌผ ์‹œ๊ฐ„ ์ •๋ณด ์ˆ˜์ •

* fix: ์‹œ๊ฐ„ ํ˜•์‹ ์ˆ˜์ •

* [#181] ์š”์ฒญ์— userName ์ด ๋™์ ์œผ๋กœ ๋“ค์–ด๊ฐ€์ง€ ์•Š๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ (#182)

* feat: Infinite Scroll ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํŽ˜์ด์ง€ ์ปดํฌ๋„ŒํŠธ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ fetch ๋ฐ›๋„๋ก ์ˆ˜์ •

* feat: TagFeedPage & UserFeed ํŽ˜์ด์ง€ ์ถ”๊ฐ€

- ๊ธฐ๋Šฅ ๊ตฌํ˜„ X
- PAGE_URL ์ƒ์ˆ˜ ์ถ”๊ฐ€

* feat: ๊ธฐ์กด์˜ ํ‰๋ฌธ์œผ๋กœ ์ œ๊ณต๋˜๋˜ userName ์„ ๋กœ๊ทธ์ธ ๋œ ์œ ์ € ์ด๋ฆ„์ด ์ œ๊ณต๋˜๋„๋ก ๋ณ€๊ฒฝ

* fix: ์š”์ฒญ์— userName ์ด ๋™์ ์œผ๋กœ ๋“ค์–ด๊ฐ€์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

- ํ•„์š”์—†๋Š” console.log ์ œ๊ฑฐ

* fix: userName ๊ณผ repositoryName ์ด ์—†์„ ๋•Œ ๋ฐ์ดํ„ฐ๊ฐ€ fetch ๋˜๋Š” ๋ฒ„๊ทธ๋ฅผ ํ•ด๊ฒฐ (#186)

- userName ์ด ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋“ค์–ด๊ฐ€์ง€ ์•Š์€ ๋ฌธ์ œ ํ•ด๊ฒฐ

* refactor: ํ™ˆํ”ผ๋“œ๋ฅผ ์ตœ์‹  ์ˆœ์œผ๋กœ ์กฐํšŒํ•˜๋„๋ก ์ˆ˜์ • (#189) (#191)

* [#162] ํƒœ๊ทธ ์ถ”์ถœ API ๋ช…์„ธ ๋ณ€๊ฒฝ (#166)

* refactor: ํƒœ๊ทธ ์ถ”์ถœ api์—์„œ name ์ œ์™ธ (#162)

* [#106] request DTO ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์ถ”๊ฐ€ (#151)

* refactor: Client - Controller DTO๋ช… ๋ณ€๊ฒฝ (#106)

* style: ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐœํ–‰ ์ˆ˜์ • (#106)

* style: ๋ฉ”์†Œ๋“œ ๊ฐœํ–‰ ์ˆ˜์ • (#106)

* test: ํด๋ž˜์Šค๋ช… ๋ณ€๊ฒฝ ๋ฐ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ (#106)

* test: ๋ถˆํ•„์š”ํ•œ ์ฃผ์„ ์‚ญ์ œ (#106)

* feat: ์„œ๋ธŒ๋ชจ๋“ˆ ์ถ”๊ฐ€ (#143)

* refactor: ๊ธฐ๋ณธ ์ƒ์„ฑ์ž ์ ‘๊ทผ ์ œ์–ด์ž ๋ณ€๊ฒฝ (#106)

* refactor: application-prod.yml ์‚ญ์ œ (#106)

* refactor: ์ ์šฉ๋˜์ง€ ์•Š๋Š” Bean Validation ์‚ญ์ œ (#106)

* refactor: request DTO์— Bean Validation ์ถ”๊ฐ€ (#106)

* refactor: application-prod.yml ์‚ญ์ œ (#106)

* refactor: ์„œ๋ธŒ๋ชจ๋“ˆ ์ˆ˜์ •

* refactor: ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ ์ˆ˜์ • (#106)

* refactor: DTO ๋„ค์ด๋ฐ ์ˆ˜์ • (#106)

* [#169] ํŒŒ์ผ ์ฃผ์†Œ๊ฐ€ ์ œ๋Œ€๋กœ ๋ฐ˜ํ™˜๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ • (#170)

* fix: ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ชจ๋“ˆ import๋กœ ์ธํ•œ ๋นŒ๋“œ ์—๋Ÿฌ ์ˆ˜์ •

* fix: ํŒŒ์ผ ๊ฒฝ๋กœ๊ฐ€ ์ œ๋Œ€๋กœ ๋ฐ˜ํ™˜๋˜์ง€ ์•Š๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •

* refactor:์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” import ์ œ๊ฑฐ

* [fix] ํ”„๋ก ํŠธ์—”๋“œ ์ด์Šˆ ์ˆ˜์ • (#171)

* fix: ์ƒˆ๋กœ๊ณ ์นจ์‹œ ๋กœ๊ทธ์ธ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋„๋ก ์ˆ˜์ •

* fix: ์˜คํƒ€์ˆ˜์ •

* fix: query์— ์ž๊ธฐ ์ด๋ฆ„์œผ๋กœ profileํŽ˜์ด์ง€ ๋“ค์–ด์˜ฌ ๊ฒฝ์šฐ redirect

* feat: ํ”„๋กœํ•„ ํŽ˜์ด์ง€ ๋นˆ ๊ฒŒ์‹œ๋ฌผ ํ‘œ์‹œ ์ถ”๊ฐ€

* [fix] ํ”„๋ก ํŠธ์—”๋“œ ๋ฒ„๊ทธ ์ˆ˜์ • (#172)

* refactor: ๋ถˆํ•„์š”ํ•œ ์˜์กด์„ฑ ์ œ๊ฑฐ

* fix: url ์˜คํƒ€ ์ˆ˜์ •

* fix: ๊ฒŒ์‹œ๋ฌผ ํƒœ๊ทธ ๋ฌธ์ž์—ด ํŒŒ์‹ฑ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* [#173] Feature/loader and infinite scroll container (#175)

* feat: Loader ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„

* feat: InfiniteScrollContainer ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„

* [#90] AddPostPage ํŽ˜์ด์ง€ ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„ (#176)

* feat: AddPostPage ๊ตฌ์„ฑ ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„

- PostAddStepHeader ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„
- PostContentUploader ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„
- RepositorySelector ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„
- TagInputForm ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„
- githube ์•„์ด์ฝ˜ ์ถ”๊ฐ€

* feat: separatorColor theme ์ƒ‰์ƒ ์ถ”๊ฐ€

* feat: AddPostPage ๊ตฌํ˜„

- ImageUploader ์ปดํฌ๋„ŒํŠธ prop ๋ช… ๋ณ€๊ฒฝ
- ๊ฒŒ์‹œ๋ฌผ ์—…๋กœ๋“œ์— ์‚ฌ์šฉ๋˜๋Š” ๊ฐ์ฒด๋“ค์˜ ํƒ€์ž… ์ถ”๊ฐ€
- ๊ฒŒ์‹œ๋ฌผ ์—…๋กœ๋“œ์— ์‚ฌ์šฉ๋˜๋Š” API_URL, GITHUB_URL, STEPS ์ƒ์ˆ˜ ์ถ”๊ฐ€
- PostAddDataContext & PostAddStepContext ์ถ”๊ฐ€

* fix: Noto Sans ์›นํฐํŠธ๊ฐ€ ๋กœ๋“œ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

* feat: requestAddPost ์š”์ฒญ ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: Input ์ปดํฌ๋„ŒํŠธ์— name prop ์ถ”๊ฐ€

* feat: LIMIT ์ƒ์ˆ˜ ๊ฐ์ฒด์— FEED_COUNT_PER_FETCH ์†์„ฑ ์ถ”๊ฐ€

* feat: requestGetHomeFeedPosts ์š”์ฒญ ํ•จ์ˆ˜์— ๊ธฐ๋ณธ pageIndex ์ œ๊ณต

* feat: PostAddDataContextProvider ์ ์šฉ ์ง€์  ๋ณ€๊ฒฝ App -> AddPostPage ์ปดํฌ๋„ŒํŠธ ๋ฐ”๋กœ ์œ„

* feat: ํƒœ๊ทธ ์ถ”๊ฐ€ ํ›„ ํƒœ๊ทธ ์ž…๋ ฅ Input ๋‚ด์šฉ์ด ๋น„์›Œ์ง€๋„๋ก ์„ค์ •

* [#161] ํšŒ์›/๋น„ํšŒ์› ๋ชจ๋‘ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” API ํ† ํฐ ๊ฒ€์ฆ ๋กœ์ง ์ˆ˜์ • (#167)

* refactor: ํ‘œํ˜„ ๊ณ„์ธต๊ณผ ์‘์šฉ ๊ณ„์ธต์˜ ๋ฐ˜ํ™˜ํ•˜๋Š” DTO ๋„ค์ด๋ฐ ํ†ต์ผ

* refactor: ํšŒ์›/๋น„ํšŒ์› ๋ชจ๋‘ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” API ํ† ํฐ ๊ฒ€์ฆ ๋กœ์ง์„ ์ˆ˜์ •ํ•œ๋‹ค.

- ๊ธฐ์กด ๋กœ์ง: ํšŒ์›/๋น„ํšŒ์› ๋ชจ๋‘ ์ฒ˜๋ฆฌํ•˜๋Š” API (ex. /api/posts)์—์„œ ํ† ํฐ์ด ์ž˜๋ชป๋œ ๊ฒฝ์šฐ GuestUser๋กœ ์ฒ˜๋ฆฌ.
- ์ˆ˜์ • ๋กœ์ง: ํšŒ์›/๋น„ํšŒ์› ๋ชจ๋‘ ์ฒ˜๋ฆฌํ•˜๋Š” API (ex. /api/posts)์—์„œ ํ† ํฐ์ด ์ž˜๋ชป๋œ ๊ฒฝ์šฐ 401 ์˜ˆ์™ธ ๋ฐœ์ƒ.

* chore: ์„ค์ • ์ˆ˜์ •

* refactor: ์ƒ์ˆ˜ํ™”

* refactor: ํฌ๋งทํŒ… ์ˆ˜์ •

* [#128] Infinite Scroll ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#178)

* feat: Infinite Scroll ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํŽ˜์ด์ง€ ์ปดํฌ๋„ŒํŠธ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ fetch ๋ฐ›๋„๋ก ์ˆ˜์ •

* feat: TagFeedPage & UserFeed ํŽ˜์ด์ง€ ์ถ”๊ฐ€

- ๊ธฐ๋Šฅ ๊ตฌํ˜„ X
- PAGE_URL ์ƒ์ˆ˜ ์ถ”๊ฐ€

* feat: ๊ธฐ์กด์˜ ํ‰๋ฌธ์œผ๋กœ ์ œ๊ณต๋˜๋˜ userName ์„ ๋กœ๊ทธ์ธ ๋œ ์œ ์ € ์ด๋ฆ„์ด ์ œ๊ณต๋˜๋„๋ก ๋ณ€๊ฒฝ

* [#177] ๊ฒŒ์‹œ๋ฌผ ์‹œ๊ฐ„ ํ˜•์‹ ์ถ”๊ฐ€ (#180)

* feat: ๊ฒŒ์‹œ๋ฌผ ์‹œ๊ฐ„ ์ •๋ณด ์ˆ˜์ •

* fix: ์‹œ๊ฐ„ ํ˜•์‹ ์ˆ˜์ •

* [#181] ์š”์ฒญ์— userName ์ด ๋™์ ์œผ๋กœ ๋“ค์–ด๊ฐ€์ง€ ์•Š๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ (#182)

* feat: Infinite Scroll ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํŽ˜์ด์ง€ ์ปดํฌ๋„ŒํŠธ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ fetch ๋ฐ›๋„๋ก ์ˆ˜์ •

* feat: TagFeedPage & UserFeed ํŽ˜์ด์ง€ ์ถ”๊ฐ€

- ๊ธฐ๋Šฅ ๊ตฌํ˜„ X
- PAGE_URL ์ƒ์ˆ˜ ์ถ”๊ฐ€

* feat: ๊ธฐ์กด์˜ ํ‰๋ฌธ์œผ๋กœ ์ œ๊ณต๋˜๋˜ userName ์„ ๋กœ๊ทธ์ธ ๋œ ์œ ์ € ์ด๋ฆ„์ด ์ œ๊ณต๋˜๋„๋ก ๋ณ€๊ฒฝ

* fix: ์š”์ฒญ์— userName ์ด ๋™์ ์œผ๋กœ ๋“ค์–ด๊ฐ€์ง€ ์•Š๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

- ํ•„์š”์—†๋Š” console.log ์ œ๊ฑฐ

* fix: userName ๊ณผ repositoryName ์ด ์—†์„ ๋•Œ ๋ฐ์ดํ„ฐ๊ฐ€ fetch ๋˜๋Š” ๋ฒ„๊ทธ๋ฅผ ํ•ด๊ฒฐ (#186)

- userName ์ด ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋“ค์–ด๊ฐ€์ง€ ์•Š์€ ๋ฌธ์ œ ํ•ด๊ฒฐ

* refactor: ํ™ˆํ”ผ๋“œ๋ฅผ ์ตœ์‹  ์ˆœ์œผ๋กœ ์กฐํšŒํ•˜๋„๋ก ์ˆ˜์ • (#189) (#191)

* refactor: ํƒœ๊ทธ ์ถ”์ถœ api์—์„œ name ์ œ์™ธ (#162)

Co-authored-by: DAEUN LEE <[email protected]>
Co-authored-by: Minsung Son <[email protected]>
Co-authored-by: Tanney102 <[email protected]>
Co-authored-by: SONG WON LEE <[email protected]>
Co-authored-by: binghe819 <[email protected]>

* [#192] ํ”„๋กœํ•„ ํŽ˜์ด์ง€ 401์—๋Ÿฌ ๋ฏธ์ฒ˜๋ฆฌ ์ด์Šˆ ํ•ด๊ฒฐ (#196)

* refactor: ๋ณ€์ˆ˜ ์ด๋ฆ„ ์ˆ˜์ •, userName์„ username์œผ๋กœ ํ†ต์ผ

* refactor: localStorage๊ด€๋ จ ๋กœ์ง ๋ณ€๊ฒฝ

* fix: ์œ ํšจํ•˜์ง€ ์•Š์€ ํ† ํฐ์— ๋Œ€ํ•ด ํ”„๋กœํ•„ ์ •๋ณด ๋ฆฌํŒจ์น˜

* refactor: storage ๋ชจ๋“ˆ์ด ๊ฐ ํ•จ์ˆ˜๋ฅผ export ํ•˜๋„๋ก ๋ณ€๊ฒฝ

* fix: ์œ ํšจํ•˜์ง€ ์•Š์€ ํ† ํฐ์— ๋Œ€ํ•ด ํ”„๋กœํ•„ ํ”ผ๋“œ ๋ฆฌํŒจ์น˜

* fix: github tas api url ๋ณ€๊ฒฝ ๋ฐ˜์˜

* refactor: ํƒ€์ž…๊ฐ€๋“œ ์ถ”๊ฐ€

* [#179] Github Repositories ์กฐํšŒ ๊ธฐ๋Šฅ ์ˆ˜์ • (#195)

* refactor: ์„œ๋ธŒ๋ชจ๋“ˆ ์ˆ˜์ •

* refactor: Github Repository URL๋„ ํ•จ๊ป˜ ์‘๋‹ต (#179)

* refactor: htmlUrl -> url ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ (#179)

* [#197] ๋ ˆ์ด์•„์›ƒ ๋ฐ UI๋ฅผ ๊ฐœ์„  (#198)

* feat: ๋” ์ด์ƒ ๋ถˆ๋Ÿฌ์˜ฌ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์œผ๋ฉด Loader ๊ฐ€ ์‚ฌ๋ผ์ง€๋„๋ก Infinite Scroll ๊ธฐ๋Šฅ ์ˆ˜์ •

- Feed ๋ฐ์ดํ„ฐ๋ฅผ Page ์—์„œ ๋„˜๊ฒจ์ฃผ๋„๋ก ์žฌ์„ค์ •
- ์„ธ๋ถ€ ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋˜์ง€ ์•Š์€ TagFeedPage, UserFeedPage ํŽ˜์ด์ง€ ์ปดํฌ๋„ŒํŠธ ์ถ”๊ฐ€(HomeFeedPage ์™€ ํ˜„์žฌ๋Š” ๊ธฐ๋Šฅ ๋™์ผ)
- ๋ฐ์ดํ„ฐ ๋กœ๋”ฉ ์‹œ ํ™”๋ฉด์— ๋‚˜ํƒ€๋‚ผ PageLoading ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„

* feat: ๋ชจ๋“  ul ํƒœ๊ทธ์˜ margin์„ 0์œผ๋กœ ํ•˜๋Š” ์ „์—ญ ์Šคํƒ€์ผ๋ง ์ ์šฉ

* feat: ๋ฐ์ดํ„ฐ ๋กœ๋”ฉ ์‹œ PageLoading ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๋‚˜ํƒ€๋‚˜๋„๋ก ์„ค์ •

- Profile, RepositorySelector, TagInputForm ์ปดํฌ๋„ŒํŠธ์— ์ ์šฉ

* feat: PostItem ์ปดํฌ๋„ŒํŠธ padding ๊ฐ’ ์ˆ˜์ •

* feat: ๋ชจ๋ฐ”์ผ ๋ฐ˜์‘ํ˜• break point ์žฌ์„ค์ • &  ๊ฐ ํŽ˜์ด์ง€ ์ปดํฌ๋„ŒํŠธ์˜ Container ์— Page ์Šคํƒ€์ผ๋“œ ์ปดํฌ๋„ŒํŠธ ํ™•์žฅ ์ ์šฉ

* feat: RepositorySelector ์ปดํฌ๋„ŒํŠธ์˜ RepositoryList ์— ๊ณ ์ • ๋†’์ด ๊ฐ’ ์ ์šฉ

- ๋‚ด์šฉ๋ฌผ์ด ๋†’์ด๊ฐ’์„ ์ดˆ๊ณผํ•  ์‹œ ์Šคํฌ๋กค์ด ๋‚˜ํƒ€๋‚˜๋„๋ก ์„ค์ •

* feat: ๋กœ๊ทธ์•„์›ƒ ๋ฒ„ํŠผ ์ถ”๊ฐ€ (#203)

* [#194] REST Docs ์ ์šฉ (#201)

* feat: ๋ฌธ์„œํ™” ์ฝ”๋“œ ์ž‘์„ฑ

* feature: ๋ฌธ์„œํ™” ๋กœ์ง ๋ฐ ๊ธฐ๋ฐ˜ ํŒŒ์ผ ๊ตฌ์„ฑ

* [#207] ๋ฐฐํฌ ์ž๋™ํ™” ๋ฒ„๊ทธ ์ˆ˜์ • (#208)

* refactor: ๋นŒ๋“œ์™€ ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋‚˜์˜ stage๋กœ ํ•ฉ์นจ.

* refactor: ๊ธฐ์กด process ์ œ๊ฑฐ ์‹œ SIGKILL๋กœ ๋ณ€๊ฒฝ

* fix: ๋ˆ„๋ฝ๋œ ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€.

* [#91] Snackbar ๊ตฌํ˜„ (#209)

* fix: ์ปดํฌ๋„ŒํŠธ ์ด๋ฆ„๊ณผ ์ค‘๋ณต๋˜๋Š” interface ์ด๋ฆ„ ๋ณ€๊ฒฝ

* feat: ์Šค๋‚ต๋ฐ” ๊ตฌํ˜„

* chore: ๋ฐฐํฌ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ api url ๋ถ„๊ธฐ (#211)

* chore: ํ”„๋ก ํŠธ์—”๋“œ ๋นŒ๋“œ ์ปค๋งจ๋“œ ์ˆ˜์ • (#214)

Co-authored-by: Tanney102 <[email protected]>
Co-authored-by: SONG WON LEE <[email protected]>
Co-authored-by: SONG WON LEE <[email protected]>
Co-authored-by: LEESONGWON <[email protected]>
Co-authored-by: Minsung Son <[email protected]>
Co-authored-by: Jinhong <[email protected]>
Co-authored-by: binghe819 <[email protected]>
Co-authored-by: Tanney102 <[email protected]>
Co-authored-by: YunTroubleshooter <[email protected]>
  • Loading branch information
10 people committed Jul 20, 2021
1 parent 853f7f4 commit 275853d
Show file tree
Hide file tree
Showing 422 changed files with 31,572 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[submodule "backend/pick-git/security"]
path = backend/pick-git/security
url = https://github.com/2021-pick-git/security.git
branch = main
8 changes: 8 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions .idea/2021-pick-git.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/inspectionProfiles/Project_Default.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

124 changes: 124 additions & 0 deletions .idea/uiDesigner.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

41 changes: 41 additions & 0 deletions backend/pick-git/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
HELP.md
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/

### VS Code ###
.vscode/

### Submodule ###
src/main/resources/application-security.yml
src/main/resources/application-prod.yml
71 changes: 71 additions & 0 deletions backend/pick-git/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
plugins {
id "org.asciidoctor.convert" version "1.5.9.2"
id 'org.springframework.boot' version '2.5.2'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
}

group = 'com.woowacourse'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

repositories {
mavenCentral()
}

dependencies {
implementation 'io.jsonwebtoken:jjwt:0.9.1'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.apache.httpcomponents:httpclient:4.5'

compileOnly 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.12.4'

runtimeOnly 'com.h2database:h2'
runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'

asciidoctor 'org.springframework.restdocs:spring-restdocs-asciidoctor:1.2.6.RELEASE'

testImplementation('org.springframework.restdocs:spring-restdocs-mockmvc')
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation group: 'io.rest-assured', name: 'rest-assured', version: '4.4.0'
}

processResources.dependsOn('copySecurity')
processResources.dependsOn('copyProd')

task copySecurity(type: Copy) {
from './security/application-security.yml'
into './src/main/resources'
}

task copyProd(type: Copy) {
from './security/application-prod.yml'
into './src/main/resources'
}

//restDocs setting
ext {
snippetsDir = file('build/generated-snippets')
}

asciidoctor {
inputs.dir snippetsDir
dependsOn test
}

task copyDocuments(type: Copy) {
dependsOn asciidoctor

from file("build/asciidoc/html5/index.html")
into file("src/main/resources/static/docs")
}

bootJar {
dependsOn copyDocuments
}

test {
useJUnitPlatform()
}
Binary file not shown.
5 changes: 5 additions & 0 deletions backend/pick-git/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading

0 comments on commit 275853d

Please sign in to comment.