Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Feat/4_ci_setting (#6) * Feat/4 add project setting (#5) * feat: multimodule ๊ตฌ์กฐ ๋ณ๊ฒฝ web, api ๋ชจ๋ ํตํฉํด api ๋ชจ๋ ํ๋๋ก ๊ตฌ์ฑ (api ์๋ฒ) ์ ์ฒด api, domain, infra๋ก ๋ชจ๋ ๊ตฌ์ฑ * feat: ํ๋ฌ๊ทธ์ธ ์ถ๊ฐ ๋ฐ ์์ all open ํ๋ฌ๊ทธ์ธ ์ถ๊ฐ ํ๋ฌ๊ทธ์ธ ๋ชจ๋์ ๋ง์ถฐ ์์น ์กฐ์ * feat: code owners ์ค์ ์ถ๊ฐ * ci default ์ ์ฉ - ci default ์ ์ฉ * feat: ci ์คํฌ๋ฆฝํธ ์ด๋ฆ ๋ณ๊ฒฝ - ci ์คํฌ๋ฆฝํธ ์ด๋ฆ ๋ณ๊ฒฝ --------- Co-authored-by: ์ด์ฑ๋ฆฐ (Bryn) <67696767+cofls6581@users.noreply.github.com> * chore: gradle.yml ์ ๊ฑฐ - ์ค๋ณต์ผ๋ก ๋ค์ด๊ฐ ์คํฌ๋ฆฝํธ ํ์ผ ์ ๊ฑฐ * Feat/8 kotest mockk ์ถ๊ฐ (#9) * style: ์ค์ ์ ์ธ๋ฐฉ์ ๋ณ๊ฒฝ - tasks ๋ก ๋ฌถ์ด์ ๋ณ๊ฒฝ - include ํ๋์ ๊ดํธ์ ์ค์ * feat: kotest, mockk ์ถ๊ฐ - kotest, mockk ์ถ๊ฐ * Feate/10 swagger setting (#11) * style: ์ค์ ์ ์ธ๋ฐฉ์ ๋ณ๊ฒฝ - tasks ๋ก ๋ฌถ์ด์ ๋ณ๊ฒฝ - include ํ๋์ ๊ดํธ์ ์ค์ * feat: kotest, mockk ์ถ๊ฐ - kotest, mockk ์ถ๊ฐ * feat: swagger ์ถ๊ฐ - swagger ์ถ๊ฐ * Feat/12 querydsl (#13) * ci: ci ์คํฌ๋ฆฝํธ ํ์ผ๋ช ์์ - ci ์คํฌ๋ฆฝํธ ํ์ผ๋ช ์์ - build -> ๋ช ์์ ์ผ๋ก ์คํฌ๋ฆฝํธ ๋ณ๊ฒฝ (develop ์๋ง ๋ฐ์๋์ด main ๋ง์ถฐ๋์) * feat: querydsl ์ฐ๋ - querydsl ์ฐ๋ (ํ๋ฌ๊ทธ์ธ ์ถ๊ฐ, config ํ์ผ ์ถ๊ฐ ๋ฑ) * feat: querydsl ์ด๋ ธํ ์ด์ ๋ณ๊ฒฝ - component-> repository --------- Co-authored-by: taesan <pawer02023@gmail.com> * refactor: ktlint plugin ์ ์ฉ (#15) * refactor: ktlint plugin ์ ์ฉ - ktlint ์ ์ฉ๋์ง ์์ plugins์ ์ถ๊ฐ ํจ * refactor: ๊ธฐ์กด ์ฝ๋ ktlintFormat ์ผ๊ด ์ ์ฉ - ๊ธฐ์กด ์ฝ๋ ktlintFormat ์ผ๊ด ์ ์ฉ * feat: cd ์ธํ (#17) - ๊นํ์ก์ ์ฆ+๋์ปค ์ฌ์ฉ * Refactor/18 change package name (#19) * refactor: ์๋น์ค๋ช ์ผ๋ก ํจํค์ง๋ช ๋ณ๊ฒฝ - muckpot์ผ๋ก ๋ณ๊ฒฝ * refactor: cicd ์คํฌ๋ฆฝํธ ๋ฐ๋ ํจํค์ง๋ช ์ ์ฉ - muckpot์ผ๋ก ๋ฃจํธ ํจํค์ง๋ช ๋ณ๊ฒฝ ๋ฐ์ * feat : BaseTimeEntity ์์ฑ (#21) * feat: .env ์ค์ (#24) * feat: .env ์ค์ - .env ์ค์ ํ ๊ธฐ์กด ๋ฏผ๊ฐ์ ๋ณด ๊ฐ ๋งคํ - .envํ์ผ .gitignore์ ์ถ๊ฐ - dev ํ๋กํ cicd ์คํฌ๋ฆฝํธ์ .env ๋๊ธฐํ ๋ก์ง ์ถ๊ฐ * feat: dev ํ๋กํ ์ค์ * bug: dev port ํ๊ฒฝ๋ณ์ ๋ณ๊ฒฝ * Feat/22 create entity (#26) * feat: .env ์ค์ - .env ์ค์ ํ ๊ธฐ์กด ๋ฏผ๊ฐ์ ๋ณด ๊ฐ ๋งคํ - .envํ์ผ .gitignore์ ์ถ๊ฐ - dev ํ๋กํ cicd ์คํฌ๋ฆฝํธ์ .env ๋๊ธฐํ ๋ก์ง ์ถ๊ฐ * fix: yml ํ์ผ ์์ - api๋ชจ๋ profile ํ์ ์์ด์ ์ ๊ฑฐ (active ์ค์ ๋ง ํ๋ฉด ๋จ) - domain๋ชจ๋ application.yml ํ์ ์์ด์ ์ ๊ฑฐ - ๋ก์ปฌ h2 ์ค์ mysql๋ก ๋ณ๊ฒฝ ํจ * feat: noArg, ํ ์คํธ ์ปจํ ์ด๋ ์ถ๊ฐ - Entity ์ ์์ noArg ํ์ํ์ฌ ํ๋ฌ๊ทธ์ธ ์ถ๊ฐ - ํ ์คํธ ์ปจํ ์ดํฐ ๊ตฌ์ถ * feat: Entity ์ถ๊ฐ ๋ฐ ๊ธฐ๋ณธ ํ ์คํธ - Entity ์ถ๊ฐ ๋ฐ ๊ธฐ๋ณธ ํ ์คํธ * refactor: mariadb ๋ณ๊ฒฝ - mariadb ๋ณ๊ฒฝ * test: @SpringBootTest ์ ๊ฑฐ - ๋ชจ๋์ด ๋ณ๊ฒฝ๋๋ฉด์ ์๋ฏธ์์ด ์ ๊ฑฐ * fix: ignore ์ mariadb volume ์ถ๊ฐ - ignore ์ mariadb volume ์ถ๊ฐ * refactor: ์ด๋ ธํ ์ด์ ์ค๋ณต Retention ์ ์ธ ์ ๊ฑฐ - @DataJpaTest์ ํฌํจ๋์ด ์ ๊ฑฐ * docs: db ์๋น์ค ์ด๋ฆ๋ณ๊ฒฝ - db ์๋น์ค ์ด๋ฆ๋ณ๊ฒฝ * feat: image_url, state ํ๋ ์ถ๊ฐ - user.image_url ์ถ๊ฐ - ๋ชจ๋ Entity ์ state ์ถ๊ฐ - soft delete ์ํจ * refactor: OSIV false ์ค์ - ์คํ์ ๊ฒฝ๊ณ ๋ ์ false ์ค์ * refactor: dev db rds ๋ณ๊ฒฝ - dev db rds ๋ณ๊ฒฝ - env file์ RDS ๊ด๋ จ ๋ณ์ ์ถ๊ฐ --------- Co-authored-by: bryn <cofls6581@naver.com> * feat: ๊ณตํต ์๋ต ํฌ๋งท, ExceptionHandler ์ฒ๋ฆฌ (#28) - ๊ณตํต ์๋ต ํฌ๋งท ์ถ๊ฐ - ExceptionHandler ์ฒ๋ฆฌ * Feat/27 test fix (#29) * chore: DB ์ ์ฅ ํ ์คํธ ๊ฐ๋ฅํ๋๋ก ์์ - DB ์ ์ฅ ํ ์คํธ ๊ฐ๋ฅํ๋๋ก ์์ * chore: request ๋ฐ๋๋ก ์์ - request ๋ฐ๋๋ก ์์ * feat : 30 elasticache ์ฐ๋ (#31) * feat: elasticache ์ฐ๋ - elasticache ์ฐ๋ - redis test code ์์ฑ - local, dev redis ์ค์ ๋ถ๋ฆฌ * refactor: ํ์์๋ ์ฝ๋ ์ ๊ฑฐ * refactor: redisConfig ์ฝ๋ ๋ฆฌํฉํ ๋ง * fix: ํ๋กํ ๋ชป์ก๋ ์๋ฌ ์์ * feat: logback ์ค์ ์ถ๊ฐ (#33) * feat: logback ์ค์ ์ถ๊ฐ - logback ์ค์ ์ถ๊ฐ - logback ํ ์คํธ๋ฅผ ์ํ ๋ก๊น ์ถ๊ฐ * chore: dev append ์ถ๊ฐ - dev ์ค์ ์ logํ์ผ appender ์ถ๊ฐ * fix: ์ด์ ๋ฒ์ ์ผ๋ก ์๋ชป์ฌ๋ ค์ ์ต์ ํ - ์ด์ ๋ฒ์ ์ผ๋ก ์๋ชป์ฌ๋ ค์ ์ต์ ํ * feat: 32 ๋ฐฑ๋ก๊ทธ ํ์ผ volume mount ์ค์ (#34) * fix: ec2 ์๋ฒ์ ๋ก๊ทธํ์ผ ์์ฑ๋์ง ์์ ์ต์ ์ถ๊ฐ - ๊ธฐ์กด์ ๋ก๊ทธํ์ผ์ด ๋์ปค ์ปจํ ์ด๋ ๋ด๋ถ์ ์์ฑ๋์ด -v ์ต์ ์ถ๊ฐ * chore: ๊ฐํ ํ์นธ ์ญ์ - ๊ฐํ ํ์นธ ์ญ์ * feat: 35 login ๊ธฐ๋ฅ ๊ตฌํ (#38) * feat: Security ์ถ๊ฐ ๋ฐ ์ค์ - Security ์ถ๊ฐ ๋ฐ ์ค์ * feat: Jwt ๋ฐ๊ธ ๋ฐ ๊ฒ์ฆ ๊ตฌํ - Jwt ๋ฐ๊ธ ๋ฐ ๊ฒ์ฆ ๊ตฌํ * fix: ์๋ธ์นดํ ๊ณ ๋ฆฌ, ์ด๋ฏธ์งurl nullable ๋ณ๊ฒฝ - ์๋ธ์นดํ ๊ณ ๋ฆฌ, ์ด๋ฏธ์งurl nullable ๋ณ๊ฒฝ * feat: ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ - ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํ * feat: secret key ํ๊ฒฝ๋ณ์ ๋ก ๊ด๋ฆฌ - secret key ํ๊ฒฝ๋ณ์ ๋ก ๊ด๋ฆฌ * feat: ์ธ๊ฐ ์ฒ๋ฆฌ๋ฅผ ์ํ Security ๊ฐ์ฒด ์ ์ - ์ธ๊ฐ ์ฒ๋ฆฌ๋ฅผ ์ํ Security ๊ฐ์ฒด ์ ์ * feat: ์ธ์ฆ ๋ฐ ์ธ๊ฐ ์คํจ์ ์์ธ ์ฒ๋ฆฌ - ์ธ์ฆ ๋ฐ ์ธ๊ฐ ์คํจ์ ์์ธ ์ฒ๋ฆฌ - ์ธ์ฆ๋์ง ์์ ๊ฒฝ์ฐ์๋ ์ฒดํฌ๊ฐ ํ์ํ์ฌ EntryPoint ๊ตฌํ - AccessDeniedHandler ๋ ์ธ์ฆ์ด ์๋์์ผ๋ฉด ํ์ง์์. * feat: refresh ํ ํฐ redis ์ ์ฅ ๊ตฌํ - key: email, value: refresh ํ ํฐ * feat: ๊ณตํต ControllerAdvice ์ถ๊ฐ - ๊ณตํต ControllerAdvice ์ถ๊ฐ * chore: ์ฑ๊ณต message ์ ์ธ - ์ฑ๊ณต message ์ ์ธ * chore: swagger ์ํ ์ถ๊ฐ - swagger ์ํ ์ถ๊ฐ * feat: ํ ์คํธ ํ๊ฒฝ ๊ตฌ์ฑ ์ถ๊ฐ - QueryDSL ํ ์คํธ ์ํ TestConfiguration ์ถ๊ฐ - ํตํฉ ํ ์คํธ ์ํด api ๋ชจ๋์์ local ์ํ๋๋๋ก ์ค์ * ci: ci/cd ์คํฌ๋ฆฝํธ์ docker-compose ์คํ๋ก์ง ์ถ๊ฐ - ci/cd ์คํฌ๋ฆฝํธ์ docker-compose ์คํ๋ก์ง ์ถ๊ฐ * fix: docker-compose ์์ ํ๊ฒฝ๋ณ์ ์ ๊ฑฐ - docker-compose ์์ ํ๊ฒฝ๋ณ์ ์ ๊ฑฐ * feat: permitAll ์ต์ ์ถ๊ฐ - ํ ์คํธ ํ๊ฒฝ์์ ์ธ์ฆ์ฒ๋ฆฌ ์ ์ธ์ํฌ ์ ์๋ ์ต์ - ๋ฐฐํฌ ์ false ์ ์ง๋์ด์ผ ํจ * chore: ๋๋ฒ๊น ๋ ๋ฒจ ์กฐ์ - ์ต์ด ๋ก๊ทธ์ธ ํ ๋ Exception ๋ฉ์์ง ์ถ๋ ฅ๋์ด info ๋ณ๊ฒฝ - ์์ธ ํ์ธ์ debug ๋ ๋ฒจ๋ก ์ถ๊ฐ * fix: ๋น๋ก๊ทธ์ธ ์ ์ ๊ฐ๋ฅ api ์ถ๊ฐ (#39) - ํ์๊ฐ์ , ์ด๋ฉ์ผ ์ธ์ฆ, ์ด๋ฉ์ผ ์ ์ก * feat: 37 ํ์๊ฐ์ ์ด๋ฉ์ผ ์ธ์ฆ ๊ตฌํ (#40) * feat: ์ด๋ฉ์ผ ์ธ์ฆ ์์ฒญ API ์ด์ - google smtp ์ฐ๋ - ์ธ์ฆ ๋ฒํธ ๋์ ์์ฑ - redis ์๋ฒ์ ์ธ์ฆ ๋ฒํธ ์ ์ฅ - JavaMailSender๋ฅผ ํตํ ์ด๋ฉ์ผ ์ ์ก * feat: ๋ฐ์ ์ ์ด๋ฉ์ผ ๋ณ๊ฒฝ * feat: ์์กดํ ์ ํจ ์ธ์ฆ ์์ฒญ ์ฒ๋ฆฌ ์ถ๊ฐ - ๊ธฐ์กด ์ธ์ฆ ์ฝ๋ redis์์ ์ญ์ ํ ์ ์ธ์ฆ์ฝ๋ ๋ฐ๊ธ * feat: MethodArgumentNotValidException ์๋ฌ ํธ๋ค๋ง * style: ์ปจ๋ฒค์ ํต์ผ - ํจํค์ง ๊ตฌ์กฐ ๋ง์ถ๊ธฐ - ์ค์จ๊ฒ ์๋ต ์์ ์ถ๊ฐ - ์ค๋ณต๋ ์๋ฌ ์ฒ๋ฆฌ ํ๋๋ก ํตํฉ * feat: ์ด๋ฉ์ผ ์ธ์ฆ ๊ฒ์ฆ API - ์ด๋ฉ์ผ ์ธ์ฆ ๊ฒ์ฆ API ๊ฐ๋ฐ - ์ค์จ๊ฑฐ ์๋ต ์์ ์ถ๊ฐ - ์ด๋ฉ์ผ ์ธ์ฆ ์์ฒญ API ์๋ต๊ฐ ์ถ๊ฐ * refactor: 204 http code ๋ฐ๋ ์ ๊ฑฐ * refactor: 204 request nullable ์ฒ๋ฆฌ ๋ณ๊ฒฝ * fix: test property ์๋ฌ ํด๊ฒฐ * fix: ๋น๊ต ์ฐ์ฐ ๋ฐ ์๋ํด๋ผ์ฐ๋ ๋ณด์ ์๋ฌ ์์ * style: ์ฃผ์ ์ ๋ฆฌ * refactor: ์ฝ๋ ๊ฐ์ - ๋งค์ง ๋๋ฒ ์์ ์ฒ๋ฆฌ - apply ์ ์ฉ - it ํค์๋ ์ฌ์ฉ * fix: apply ํจ์ ๋กค๋ฐฑ * refactor: apply ํจ์ ์ ์ฉ * feat: 41 ๋จนํ ๋ฑ๋ก api ๊ตฌํ (#42) * feat: ๋จนํ ๊ธ ์์ฑ api ๊ตฌํ ๋ฐ ํ ์คํธ - ๋จนํ ๊ธ ์์ฑ api ๊ตฌํ ๋ฐ ํ ์คํธ * feat: board entity ๋ณ๊ฒฝ - nullable ๋ช ์ - locationType ์ ๊ฑฐ (ํ์ฌ์์, ์๋น์์) - maxApply ์ด๊ธฐ๊ฐ 2 ์ ์ฉ - ์์ ๋ณ๋ ํ์ผ๋ก ๋ถ๋ฆฌ * chore: RegexPattern ์์๋ก ๋ถ๋ฆฌ - ๊ธฐ์กด ์ด๋์์ ์์๋ก ๋ถ๋ฆฌ * feat: ๋ก๊ทธ์ธ ์ ๋ณด ์ ๊ทผ ์ํ util ์ถ๊ฐ - ๋ก๊ทธ์ธ ์ ๋ณด ์ ๊ทผ ์ํ util ์ถ๊ฐ * fix: ์์ ์ฌ์ฉ๋๋๊ณณ ๋ณ๊ฒฝ - ์์ ์ฌ์ฉ๋๋๊ณณ ๋ณ๊ฒฝ ๋ฐ ํ ์คํธ ๊ฐ๋จํ ์์ * feat: ์์ฒญ null ๋๋ ํฌ๋งท์ด ์ด์ํ ๊ฒฝ์ฐ ๊ณตํต ์ฒ๋ฆฌ - ๊ฐ์ด ์๋ ๊ฒฝ์ฐ: ๊ฐ์ด ํ์ํฉ๋๋ค. - ํฌ๋งท์ด ์ด์ํ ๊ฒฝ์ฐ: ์ ํจํ์ง ์์ ํฌ๋งท์ ๋๋ค. * chore: ์๋ต ํ์ ๋ช ์ ๋ฐ ktlintFormat ์ ์ฉ - ์๋ต ํ์ ๋ช ์ ๋ฐ ktlintFormat ์ ์ฉ * fix: ์๋ํ๋ธ ์คํจ ์ฒ๋ฆฌ - cause: "PASSWORD" detected here, make sure this is not a hard-coded credential. * fix: ์๋ํ๋ธ ์คํจ ์ฒ๋ฆฌ 2 - cause: "PASSWORD" detected here, make sure this is not a hard-coded credential. * fix: ์ค์จ๊ฑฐ ์ด๋ฆ ๋ณ๊ฒฝ - ๋จนํ ์์ฑ -> ๋จนํ ๊ธ ์์ฑ * fix: ๋์ด nullable, ์ฃผ์ ์์ธ trim - ๋์ด nullable, ์ฃผ์ ์์ธ trim * refactor: ๊ฐ๊ฒฐํฉ ์ฝ๋ ๋ถ๋ฆฌ - as-is: Service ์์์ Util ํด๋์ค ์ฌ์ฉ - ํ ์คํธ ํ ๋๋ง๋ค Util ์ ๊ฒฝ์จ์ผ ํจ.. - to-be: ์ธ์ฆ ์ ๋ณด๋ฅผ Controller์์ ์ ๋ฌ * refactor: 44 board refactor (#45) * refactor: board entity ๋ณ๊ฒฝ - meetingDate, meetingTime์ LocalDateTime ํ๋๋ก ๊ด๋ฆฌ - ๋จนํ ์ฐธ๊ฐ ์ maxApply ๋๋ฉด ์ํ ๋ณ๊ฒฝ * refactor: board entity ๋ณ๊ฒฝ์ ๋ฐ๋ฅธ ๋จนํ ์์ฑ request ์์ - meetingTime ํ์ LocalTime ๋ณ๊ฒฝ - currentApply 1๋ก ์ ์ฅ๋๋๋ก ๋ณ๊ฒฝ * chore: ExceptionHandler ๋ก๊น ์ถ๊ฐ * fix: ๋ก๊ทธ๋ ๋ฒจ error๋ก ๋ณ๊ฒฝ - info์์ error๋ก ๋ณ๊ฒฝ * feat:43 ๋จนํ ์กฐํ api ๊ตฌํ (#46) * feat: ๋ฌดํ์คํฌ๋กค dto ์ ์ * feat: ์๊ฐ ์ ์ฑ util ์ถ๊ฐ - ์ค๋, ๋ด์ผ ๊ณ์ฐ - ๊ฒฝ๊ณผ ์๊ฐ ๊ณ์ฐ * feat: boardId ๋ฆฌ์คํธ๋ก ์ฐธ์ฌ์ ๋ชฉ๋ก ์กฐํ ์ฟผ๋ฆฌ ๊ตฌํ - ๋จผ์ ์ฐธ์ฌํ ์์๋๋ก ์ ๋ ฌ(์์ฑ์ผ์) * feat: ๋ฌดํ ์คํฌ๋กค ์ ์ฉํ ๋ชจ๋ ๋จนํ๊ธ ์กฐํ ์ฟผ๋ฆฌ ๊ตฌํ - lastId, countPerScroll ๊ธฐ์ค์ผ๋ก ์กฐํ * feat: ๋ง๋ฃ์๊ฐ ์ฒดํฌ ํจ์ ์ถ๊ฐ * feat: ๋จนํ ์ํ 2๊ฐ๋ก ๋ณ๊ฒฝ ๋ฐ ํ๊ธ์ด๋ฆ ์ถ๊ฐ * feat: ๋จนํ ์กฐํ API ๊ตฌํ ๋ฐ ํ ์คํธ * fix: if๋ฌธ when์ผ๋ก ๋ณ๊ฒฝ - sonarcloud: Merge chained "if" statements into a single "when" statement. * fix: ์๋ํ๋ธ.. ์ค๋ณต ๋ผ์ธ ์ ๊ฑฐ - sonarcloud: Duplicated Lines (%) on New Code * fix: ์๋ํ๋ธ.. ์ค๋ณต ๋ผ์ธ ๋ ์ ๊ฑฐ ... - sonarcloud: Duplicated Lines (%) on New Code * fix: ๋ง์ง๋ง ํ์ด์ง์์ lastId null ๋์ง ์๋๋ก ๋ณ๊ฒฝ - ๋ง์ง๋ง ํ์ด์ง์์ lastId null ๋์ง ์๋๋ก ๋ณ๊ฒฝ * fix: ์ ์ฒด Exception ํธ๋ค๋ง ์ถ๊ฐ - ์ ์ฒด Exception ํธ๋ค๋ง ์ถ๊ฐ * feat: ์ ์ ํ๋กํ ์กฐํ api ๊ตฌํ (#48) - ๋ก๊ทธ์ธ ์ ์ : 200 + ์ ์ ์ ๋ณด - ๋น ๋ก๊ทธ์ธ ์ ์ : 204 * feat: ํ์๊ฐ์ api ์์ฑ (#49) * feat: ํ์๊ฐ์ api ์์ฑ - ํ์๊ฐ์ validation ์ฒ๋ฆฌ - ํ ์คํธ ์ฝ๋ ์์ฑ - ๋ณ๊ฒฝ๋ SwaggerConstant ์ ์ฉ - ๋ณ๊ฒฝ๋ ์์ธ์ฒ๋ฆฌ ์ ์ฉ * refactor: ์ ๊ท์ ์์ ์ ์ฉ * refactor: ์ง๊ตฐ ๋๋ถ๋ฅ ์๋ฌ ์ฒ๋ฆฌ ๋ฆฌํฉํ ๋ง * bug: 51 cors ์ค์ ๋ณ๊ฒฝ ๋ฐ ๋ก๊ทธ์ธ ์ ์ ํ์๊ฐ์ ๋ฐ ๋ก๊ทธ์ธ ์์ฒญ ์กฐ๊ฑด ์์ (#52) * fix: cors ์ค์ ๋ณ๊ฒฝ - allowedOrigins์ * ๊ฐ์ ํฌํจํ๋ ๊ฒฝ์ฐ allowCredentials๊ฐ true๋ก ์ค์ ๋์ด ์๋๋ผ๋ CORS ์ ์ฑ ์ ์ค์ํ ์ ์๋ค๊ณ ํจ. * fix: ์์ผ๋์นด๋ ์ฌ์ฉํ์ง ์๋๋ก ๋ณ๊ฒฝ - ์์ผ๋์นด๋ ์ฌ์ฉํ์ง ์๋๋ก ๋ณ๊ฒฝ * fix: ๋ก๊ทธ์ธ ์ ์ ์ฌ์์ฒญ ์กฐ๊ฑด ์์ - ์๋ชป ๋ฐ์๋์ด์์ด ์์ * fix: ๋ก๊ทธ์ธ ์ ์ ๋ ๋ก๊ทธ์ธ, ํ์๊ฐ์ ์์ฒญํ ์ ์๋๋ก ๋ณ๊ฒฝ - ๋ก๊ทธ์ธ ์ ์ ๋ ๋ก๊ทธ์ธ, ํ์๊ฐ์ ์์ฒญํ ์ ์๋๋ก ๋ณ๊ฒฝ * ๏ฟฝfeat: 50 ๋จนํ ์์ธ์กฐํ ๊ตฌํ (#53) * chore: ์๋ฌ ๋ฉ์์ง ๋ณ๊ฒฝ * chore: Location nullable ์ ๊ฑฐ * chore: enum ํ๊ธ ๋ช korNm์ผ๋ก ํต์ผ * chore: ๋ก๊ทธ์ธ ์ ์ ์ ๋ณด ์์ต๋๋ค ๋ ๋ฒจ debug ๋ณ๊ฒฝ - ๋๋ฌด ์์ฃผ ํธ์ถ๋์ด info -> debug ๋ฎ์ถค * refactor: ์ ์ ํ๋กํ ์กฐํ์ SecurityContextHolder ๋ณด๋๋ก ๋ณ๊ฒฝ - as-is: cookie ์์ ๊ณ ๊ฐ์ ๋ณด ์ฐพ์์ด. - to-be: SecurityContextHolder์์ ์ฐพ์์ด. * fix: formatMeetingTime ํจ์ ๋ณ๊ฒฝ ๋ฐ ์๊ฐ ํจํด ์์ ์ด๋ - ์๊ฐ ํจํด ๋ชจ๋ RegexPatternConstant๋ก ์ด๋ - pattern์ ๋ฐ์์ ์ฒ๋ฆฌํ๋ ํจ์๋ก Util ํจ์ ํตํฉ * fix: ์ฐธ์ฌ์ ๋ชฉ๋ก ์กฐํ์ ๋ฉ์ธ ์นดํ ๊ณ ๋ฆฌ, isWriter ์ถ๊ฐ - ์์ธ์์ ํจ๊ป ์ฌ์ฉํ๊ธฐ ์ํด ์ถ๊ฐ ํจ. - null ์ธ ๊ฒฝ์ฐ ๋ชจ๋ ์๋ต์ ํฌํจ๋์ง ์๋๋ก ํจ * fix: meetingTime ํ๋ ๋ช ๋ณ๊ฒฝ - ์์ธ์์ meetingTime, meetingDate ๋ฐ๋ก๋ด๋ ค์ฃผ์ด ๊ตฌ๋ถํ๊ธฐ ์ํด ๋ณ๊ฒฝ * fix: jobGroupMain ํ๊ธ ๋ช ์ผ๋ก ์๋ต ํ๋๋ก ๋ณ๊ฒฝ * feat: ๋จนํ ์์ธ์กฐํ ๊ตฌํ - ์์ธ ์กฐํ ์ ์กฐํ์ ์ฆ๊ฐ - ์ฐธ์ฌ๋ชฉ๋ก ๋ก๊ทธ์ธ ์ ์ ๋ฐ ์กฐ์ง์ฅ ์กฐ๊ฑด์ ๋ฐ๋ฅธ ์ ๋ ฌ ์ ์ฉ * chore: ์ค์จ๊ฑฐ ์๋ต ์์ ์์ * fix: nullable ์ ๊ฑฐ ๋ฐ ํจ์ ๋ช ๋ณ๊ฒฝ * feat : 55 redisson distributed lock (#59) * refactor: ์์ ํ์ผ๋ค ํจํค์ง * chore: setting redisson config * feat: ๋ถ์ฐ๋ฝ ์ปค์คํ ์ด๋ ธํ ์ด์ ์์ฑ * feat: ๋ถ์ฐ๋ฝ ํธ๋์ญ์ ์ค์ * feat: ๋ถ์ฐ๋ฝ aop ์ค์ * feat: ๋๋ฉ์ธ ๋ชจ๋ ์์กด์ฑ ์ถ๊ฐ * test: ๋ถ์ฐ๋ฝ ๊ธฐ๋ฐ ๋์์ฑ ํ ์คํธ * test: ์ฐ๋ ๋ํ 100 ํ ์คํธ * test: ์ฐ๋ ๋ํ 500 ํ ์คํธ * fix: ์๋ํด๋ผ์ฐ๋ ์๋ฌ ํด๊ฒฐ * test: ๋์์ฑ ํ ์คํธ ๋ถ์ฐ๋ฝ ์ ์ฉ - ์ค๋๋ํ ๊ฐ์ ์กฐ์ - ๋ถ์ฐ๋ฝ ์ด๋ ธํ ์ด์ ์ ์ฉ * refactor: redis ๊ด๋ จ ์ค์ ํตํฉ * refactor: ์๋ฌ ์คํํธ๋ ์ด์ค ์ถ๋ ฅํ๋๋ก ๋ณ๊ฒฝ * refactor: ๋ถ์ฐ๋ฝ ๊ตฌ์กฐ ๋ฆฌํฉํ ๋ง - api ๋ชจ๋:์ด๋ ธํ ์ด์ , aop, ์ด๋ ธํ ์ด์ ์ผ๋ก ๋ถ์ฐ๋ฝ ํ ์คํธ - infra ๋ชจ๋:redis config, new transaction * refactor: ํ์์๋ ์ฝ๋ ์ ๊ฑฐ * feat: 54 ๋จนํ ์์ api ๊ตฌํ (#57) * fix: Board.user nullable ์ ๊ฑฐ * feat: ๋จนํ ๊ธ ์์ api ๊ตฌํ - ๋จนํ ๊ธ ์์ api ๊ตฌํ * fix: ์ค๋ณต ์์ธ ๋ฉ์์ง ์์ ์ฒ๋ฆฌ - NotBlank ๊ธฐ๋ณธ ๋ฉ์์ง๊ฐ ๋ฌ๋ผ์ ci๋ ์คํจํ๋๋ฏํ์ฌ, ์ง์ ๋ช ์ ํจ * chore: ktlint ์ ์ฉ * feat: 56 ๋จนํ ์ฐธ๊ฐ ์ ์ฒญ api ๊ตฌํ (#60) * refactor: ์์ ํ์ผ๋ค ํจํค์ง * chore: setting redisson config * feat: ๋ถ์ฐ๋ฝ ์ปค์คํ ์ด๋ ธํ ์ด์ ์์ฑ * feat: ๋ถ์ฐ๋ฝ ํธ๋์ญ์ ์ค์ * feat: ๋ถ์ฐ๋ฝ aop ์ค์ * feat: ๋๋ฉ์ธ ๋ชจ๋ ์์กด์ฑ ์ถ๊ฐ * test: ๋ถ์ฐ๋ฝ ๊ธฐ๋ฐ ๋์์ฑ ํ ์คํธ * test: ์ฐ๋ ๋ํ 100 ํ ์คํธ * test: ์ฐ๋ ๋ํ 500 ํ ์คํธ * fix: ์๋ํด๋ผ์ฐ๋ ์๋ฌ ํด๊ฒฐ * test: ๋์์ฑ ํ ์คํธ ๋ถ์ฐ๋ฝ ์ ์ฉ - ์ค๋๋ํ ๊ฐ์ ์กฐ์ - ๋ถ์ฐ๋ฝ ์ด๋ ธํ ์ด์ ์ ์ฉ * refactor: redis ๊ด๋ จ ์ค์ ํตํฉ * refactor: ์๋ฌ ์คํํธ๋ ์ด์ค ์ถ๋ ฅํ๋๋ก ๋ณ๊ฒฝ * refactor: ํ์์๋ ํ์ผ ์ ๊ฑฐ * refactor: ์ค๋ ๋ํ ๊ฐ์ ์กฐ์ * feat: ๋จนํ ์ฐธ๊ฐ ์ ์ฒญ api -๋ถ์ฐ๋ฝ ์ ์ฉ -participant table insert -muckpot_user.current_apply update -์ฐธ๊ฐ ์ ์ฒญ ์กฐ๊ฑด validation * test: ๋จนํ ์ฐธ๊ฐ ์ ์ฒญ api ํ ์คํธ ์ฝ๋ * refactor: 201 ์๋ต๊ผด api ๋ช ์ธ ๋ง์ถฐ ์์ * refactor: ํ์์๋ ์์กด์ฑ ์ ๊ฑฐ * ๏ฟฝfeat:58 ๋จนํ ๊ธ ์ญ์ api ๊ตฌํ (#61) * refactor: ๋ชจ๋ Entity Soft Delete ์ ์ฉ - user ์ ๋ํฌ ํค ์ ๊ฑฐ - participant ๋ณตํฉํค ์ ๊ฑฐ * feat: ๋จนํ ์ญ์ api ๊ตฌํ - ๋จนํ ์ญ์ ์ ์ฐธ๊ฐ๋ชฉ๋ก ์ ๊ฑฐ - ์์ ์ ๊ธ๋ง ์ญ์ ๊ฐ๋ฅ * refactor: repository ํธ๋์ญ์ ์ถ๊ฐ - ์ถ๊ฐ ๋ฐ readOnly ์ต์ ๋ช ์ * fix: ํจ์์ด๋ฆ ํต์ผ * fix: JpaRepository ์กฐํ์ฟผ๋ฆฌ ํธ๋์ญ์ ๋ช ์ ์ ๊ฑฐ * feat: ๋จนํ ๊ธ ์ํ๋ณ๊ฒฝ API ๊ตฌํ (#63) feat: ๋จนํ ๊ธ ์ํ๋ณ๊ฒฝ API ๊ตฌํ * refactor: 65 ๋ก๊ทธ์ธ ์ ์งํ๊ธฐ ๋ง๋ฃ์๊ฐ ์ง์ (#66) * refactor: ๋ก๊ทธ์ธ ์ ์งํ๊ธฐ ๋ง๋ฃ์๊ฐ ์ง์ - as-is: ๋ง๋ฃ์๊ฐ ์์ - to-be: ํ ํฐ ๋ณ 1์ผ, 30์ผ ๊ธฐํ ์ง์ * chore: ์ ํจ์ฑ ๊ฒ์ฌ ๋ฉ์์ง ๋ณ๊ฒฝ * refactor: ์ฟ ํค๋ ๋ง๋ฃ์๊ฐ ์ง์ * feat : 67 ๋จนํ ์ฐธ๊ฐ ์ ์ฒญ ์ทจ์ api ๊ตฌํ (#68) * feat: ๋จนํ ์ฐธ๊ฐ ์ ์ฒญ ์ทจ์ api ์์ฑ -participant table soft delete -muckpot_user.current_apply update -validation ์ฒ๋ฆฌ * test: ๋จนํ ์ฐธ๊ฐ ์ ์ฒญ ์ทจ์ api ํ ์คํธ ์ฝ๋ ์์ฑ * refactor: ํ ์คํธ ์ฝ๋ ๋ฆฌํฉํ ๋ง * refactor: ์ฐธ๊ฐ์ ์ฒญ์ทจ์ ํจ์๋ช ๋ณ๊ฒฝ * feat: 64 ๋ก๊ทธ์์ api ๊ตฌํ (#69) * refactor: JwtCookieUtil ๋ณ๊ฒฝ - ์ด๋ฆ ์์ ๋ฐ ํจ์ ๋ณ๊ฒฝ * refactor: ์์ ํ์ผ ๋ถ๋ฆฌ - URL ๊ด๋ จ ์์ ๋ฐ๋ก ๋ถ๋ฆฌ * refactor: ์ธ์ฆ ์์ธ์ฒ๋ฆฌ ํด๋์ค ์ด๋ฆ ๋ฐ ํจํค์ง ๋ณ๊ฒฝ - filter ํ์๋ก ๋ณ๊ฒฝ * refactor: value์ ์ด์ํ ๊ฐ์ด ๋ค์ด๊ฐ์ ์ค์ ์ถ๊ฐ - \xac\xed\x00\x05t\x00\x03key ์ ์ฅ ๋จ - see: https://stackoverflow.com/questions/31608394/get-set-value-from-redis-using-redistemplate * feat: ๋ก๊ทธ์์ ๊ธฐ๋ฅ ๊ตฌํ - ํ ํฐ ๊ด๋ จ ์ฟ ํค์ญ์ - accessToken ๋ธ๋๋ฆฌ์คํธ ์ถ๊ฐ - refreshToken ์ ๊ฑฐ * test: ๋ก๊ทธ์์ ํ ์คํธ - accessToken ๋ธ๋๋ฆฌ์คํธ ์ถ๊ฐ - refreshToken ์ ๊ฑฐ * refactor: api/common ํ์์ util, constant ํด๋์ค๋ค ํจํค์ง ์ถ๊ฐ * refactor: testFixtures ์ ์ฉ - ๊ธฐ์กด์ api, domain ๊ฐ๊ฐ ์๋ Fixture ํตํฉ * chore: url ๋ณ๊ฒฝ * feat : 70 JWT ์ฌ๋ฐ๊ธ API ๊ตฌํ (#72) * feat: JWT ์ฌ๋ฐ๊ธ api ๊ตฌํ - access ํ ํฐ ์ฌ์์ฑ - refresh ํ ํฐ ์ฌ์์ฑ - refresh ํ ํฐ ๋ง๋ฃ ์๊ฐ ์ด์ refresh ํ ํฐ ๋ง๋ฃ์๊ฐ๊ณผ ๋์ผ - access ํ ํฐ ๋ง๋ฃ ์๊ฐ ๋ก๊ทธ์ธ ์ ์ง ์ฌ๋ถ์ ๋ฐ๋ผ ์ค์ * feat: JWT ์ฌ๋ฐ๊ธ ํํฐ ์ธ์ฆ์์ ์ ์ธ * refactor: ๋ก๊ทธ์ธ ์ ์ง ์ฌ๋ถ ๊ธฐ๋ฅ ํจ์๋ก ๋ถ๋ฆฌ * refactor: getTokenExpirationDuration ํจ์ ์ฌ์ฌ์ฉ * refactor: ์ค๋ณต ๋ก์ง ์ ๊ฑฐ * feat: redis์ refresh ํ ํฐ ์กด์ฌ ๊ฒ์ฆ ์ถ๊ฐ * feat: jwt ์ฌ๋ฐ๊ธ์ ๋ง๋ฃ๋ access ํ ํฐ ๊ฒ์ฆ * feat: jwt ์ฌ๋ฐ๊ธ์ ๊ฒ์ฆ ์ถ๊ฐ * fix: jwt ๋์ฝ๋ฉ ํจ์ ๋ณ๊ฒฝ - verify -> decode * api ์๋ธ ๋๋ฉ์ธ ์ ์ฉ ๊ด๋ จ cicd ์์ * refactor: 76 ํ ํฐ ๋ง๋ฃ์๊ฐ ๋ฐ ๋จนํ ์์ธ ๋ฆฌํํ ๋ง (#77) * refactor: ๋จนํ ์์ธ์กฐํ ๊ฐ์ - ์์ ์ ๊ธ์ ์กฐํ์ ์ฆ๊ฐ x - ๋์ด์กฐ๊ฑด ์ ํํ์ง ์์ ๊ฒฝ์ฐ null ์๋ต * refactor: jwt ๋ง๋ฃ๊ธฐํ ๋ณ๊ฒฝ - access-token ๋ชจ๋ 1์๊ฐ์ผ๋ก ๋ณ๊ฒฝ - refresh-token ๊ฐ๊ฐ 30, 180 ๋ณ๊ฒฝ * test: ๋น๋ก๊ทธ์ธ ์ ์ ํ ์คํธ ์ถ๊ฐ - ๋น๋ก๊ทธ์ธ ์ ์ ๋ ์กฐํ์๊ฐ ์ฆ๊ฐํ๋ค. * refactor: ๋จนํ ์์ธ ์ด์ , ๋ค์ ๊ธ๋ก ์ด๋ํ๊ธฐ์ํ id ์๋ต ์ถ๊ฐ - ์ด์ , ๋ค์ ๊ธ๋ก ์ด๋ํ๊ธฐ์ํ id ์๋ต ์ถ๊ฐ * refactor: Board ์ ํจ์ฑ ๊ฒ์ฌ ์ถ๊ฐ - ๋ง๋ ์๊ฐ์ ํ์ฌ์๊ฐ ์ดํ๋ก๋ง ๊ฐ๋ฅํ๋๋ก ์ถ๊ฐ * refactor: ๋ก๊ทธ์ธ ์ ์ง ํ๋ณ ํจ์ ์ ๊ฑฐ - access ํ ํฐ ๋ง๋ฃ๊ธฐ๊ฐ ํต์ผ์ ๋ฐ๋ฅธ ํ์์๋ ์ฝ๋ ์ ๊ฑฐ --------- Co-authored-by: bryn <cofls6581@naver.com> * refactor:71 testcontainer total (#73) * refactor: ํตํฉ ํ ์คํธ ํ๊ฒฝ ์ปจํ ์ด๋ ์ ์ฉ - ํ ์คํธ ์ปจํ ์ด๋ ์์กด์ฑ root ํ๋ก์ ํธ๋ก ๋ณ๊ฒฝ - api ๋ชจ๋ ํ ์คํธ ํ๋กํผํฐ ๋ณ๊ฒฝ - api ๋ชจ๋ ํ ์คํธ ์ปจํ ์ด๋ ์ค์ * refactor: ci/cd ์์ docker-compse ์คํ๋ก์ง ์ ๊ฑฐ * test: ci ์คํจ ํ ์คํธ * refactor: ci, cd ์คํฌ๋ฆฝํธ ์ค๋ณต flow ์ ๊ฑฐ - build ์์ ktlintcheck, test ๋ชจ๋ ์ํ๋๊ณ ์์ * test: ci ktlint ์คํจ ํ ์คํธ * test: ์คํจ ํ ์คํธ ๋ณต๊ตฌ * chore: ํด๋์ค ์ด๋ฆ ๋ณ๊ฒฝ * refactor: ํ ์คํธ ์ปจํ ์ด๋ ๋ชจ๋ ๋ณ ๋ถ๋ฆฌ - testFixtures ํ์ฉ - root ํ๋ก์ ํธ์์ ํ ์คํธ์ปจํ ์ด๋ ๊ด๋ จ ์์กด์ฑ ์ ๊ฑฐ - ์ค์ ์ ์์กด์ฑ ์ฐธ์กฐ๋ฅผ ์ํด testFixturesImplementation ์ถ๊ฐ * refactor: ๋ชจ๋ ๋ณ ์ค์ ๋ถ๋ฆฌ * feat: ๋จนํ ๊ธ ์์ ์กฐํ ์๋ต ์ถ๊ฐ (#79) - useAge ๊ฐ ์ถ๊ฐ - ๋ก๊ทธ์ธํ ์ ์ ๋์ด, ๋น๋ก๊ทธ์ธ์ null * refactor:80 ์ด๋ฉ์ผ ์ธ์ฆ ์์ฒญ์ ์ค๋ณต ์ด๋ฉ์ผ ๊ฒ์ฌ ๋ฐ ์์ธ ๋ฉ์์ง ๋ณ๊ฒฝ (#81) * refactor: ์ธ์ฆ ๋ฉ์ผ ๋ฐ๊ธฐ ๋จ๊ณ์์ ์ค๋ณต์ด๋ฉ์ผ ๊ฒ์ฌ ์ถ๊ฐ * refactor: ์์ธ ๋ฉ์์ง ํผ๊ทธ๋ง ๊ธฐ์ค์ผ๋ก ๋ณ๊ฒฝ * feat:74 ๏ฟฝ๋ฏธํ ์๊ฐ์ด ํ์ฌ์๊ฐ ์ด์ ์ธ ๋จนํ ์ํ๋ณ๊ฒฝ (#82) * feat: ํ์ฌ์๊ฐ ์ด์ ์ ๋จนํ์ Done ์ฒ๋ฆฌ - 10-22์, 00์ 15๋ถ๋ง๋ค ์ํ, ํ๋ฃจ 56ํ * refactor: ์ด์ , ์ดํ ์์ด๋ ์กฐํ์ DONE ํฌํจ - ์ด์ , ์ดํ ์์ด๋ ์กฐํ์ DONE ํฌํจ * feat: 83 CORS ORIGIN ์ถ๊ฐ (#84) * feat: PROD CORS ORIGIN ์ถ๊ฐ - ORIGIN ๊ด๋ฆฌ env๋ก ๋ถ๋ฆฌ * feat: PROD ๋ค๋ฅธ URL๋ ์ถ๊ฐ * refactor:85 ํจ์ค์๋ ์ ํจ์ฑ ๊ฒ์ฌ ๋ณ๊ฒฝ (#86) * feat: PROD CORS ORIGIN ์ถ๊ฐ - ORIGIN ๊ด๋ฆฌ env๋ก ๋ถ๋ฆฌ * feat: PROD ๋ค๋ฅธ URL๋ ์ถ๊ฐ * refactor: ํ์๊ฐ์ , ๋ก๊ทธ์ธ์ pw ์ ํจ์ฑ ๊ฒ์ฌ ๋ณ๊ฒฝ - ํน์๋ฌธ์ ํฌํจ๊ฐ๋ฅ - ์ต์ ์์ด1, ์ซ์1 ํฌํจ๋์ด์ผ ํจ * refactor: constant package ์ ์ธ์์น ์์ - ์ด์ ์ ํจํค์ง ๋ณ๊ฒฝ ํ ์ ์ธ๋ฌธ ๋ฐ์์ด ์๋์ด์์ด์, ๋ณ๊ฒฝ * refactor: cookie ๋ฐ๊ธ์ ๋๋ฉ์ธ ์ง์ (#88) - ํ์ ๋๋ฉ์ธ ์ ๊ทผ์ด ๊ฐ๋ฅํ๋๋ก ๋ณ๊ฒฝ - ๋ก์ปฌํธ์คํธ์์ ์ ๊ทผ ํ ์ ์๋๋ก ํ์ฉ * fix: 87 ๋ก์ปฌ ์ ๊ทผ ์ ์ฟ ํค ๋ฐ๊ธ ๋ก์ง ๋ณ๊ฒฝ (#89) * fix: ๋ก์ปฌ ์ ๊ทผ์ ์ฟ ํค ๋ฐ๊ธ ๋ก์ง ๋ณ๊ฒฝ - Host ํค๋๋ก๋ localhost๋ฅผ ๊ตฌ๋ถํ ์ ์์. * fix: port ์ ๊ฑฐ ํ startsWith ๋ก ๊ตฌ๋ถ - localhost:8080 ์์๋ ์ฟ ํค ๋ฐ๊ธ ์ํจ * refactor:90 ์์ธ ์กฐํ์ ์ด์ , ์ดํ์์ด๋ ๋ถ์ผ์น ๊ฐ์ (#91) * fix: ๋ก์ปฌ ์ ๊ทผ์ ์ฟ ํค ๋ฐ๊ธ ๋ก์ง ๋ณ๊ฒฝ - Host ํค๋๋ก๋ localhost๋ฅผ ๊ตฌ๋ถํ ์ ์์. * fix: port ์ ๊ฑฐ ํ startsWith ๋ก ๊ตฌ๋ถ - localhost:8080 ์์๋ ์ฟ ํค ๋ฐ๊ธ ์ํจ * fix: ์์ธ, ์ด์ ์์ด๋ ์กฐํ์กฐ๊ฑด ๋ณ๊ฒฝ * fix: ์์ธ, ์ด์ ์์ด๋ ์กฐํ์กฐ๊ฑด ์ฟผ๋ฆฌ ์์ --------- Co-authored-by: mountain <pawer02023@gmail.com>
- Loading branch information