{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":615924705,"defaultBranch":"master","name":"java-lms","ownerLogin":"next-step","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-03-19T04:31:20.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/25274995?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1714912958.0","currentOid":""},"activityList":{"items":[{"before":"a7bbdfd50d1a3c1069edb7fe44dc260e53210a0d","after":"beec6b4d759ca0d9dc4910de211dc4efc9238ee8","ref":"refs/heads/hhhhhwi","pushedAt":"2024-05-22T00:00:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"๋ฐ ์ฌ์ฑ","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"๐ 3๋จ๊ณ - ์๊ฐ์ ์ฒญ(DB ์ ์ฉ) (#537)\n\n* feat: ์๊ฐ์์ ๋ํ ๊ฐ์ฒด Student ์์ฑ\r\n\r\n* feat: Session(๊ฐ์), Student(์๊ฐ์), Image(์ด๋ฏธ์งํ์ผ)์ ๋ํ ํ
์ด๋ธ ์์ฑ DDL ์์ฑ\r\n\r\n* feat: Session, Student DB ์ฐ๊ฒฐ์ ์ํ Repository ์์ฑ\r\n\r\n* refactor: PaidSession์ ์ ๋ฃ ๊ฐ์์ ๋ํ ์ ๋ณด๋ฅผ ๊ฐ๊ณ ์๋ ๋ณ์ ๊ฐ์ ์กฐํํ๊ธฐ ์ํด getter ์ค๋ฒ๋ผ์ด๋\r\n\r\n* feat: Session save ๋ฉ์๋ ๊ตฌํ ๋ฐ ํ
์คํธ ์์ฑ\r\n\r\n* feat: Session ํ
์ด๋ธ๊ณผ ๋งคํํ๋ ๊ฐ์ฒด SessionEntity ์์ฑ\r\n\r\n* refactor: SessionRepository์ ์์กด ๊ฐ์ฒด๋ฅผ SessionEntity๋ก ๋ณ๊ฒฝ\r\n\r\n* feat: StudentRepository ๊ตฌํ ๋ฐ ํ
์คํธ ์์ฑ\r\n\r\n* feat: ImageFile DB ๋ฑ๋ก์ ์ํ ๊ฐ์ฒด ๋ฐ ๋ฑ๋ก ๋ฉ์๋, ํ
์คํธ ๊ตฌํ\r\n\r\n* feat: ์๊ฐ์ ์ฒญ ์๋น์ค ๊ตฌํ\r\n\r\n* refactor: SessionEntityBuilder๋ก ํ
์คํธ ๊ฐ์ \r\n\r\n* refactor: ๋ถ์์ฑ์๊ฐ ์ฃผ์์ฑ์๋ฅผ ํธ์ถํ๋๋ก ์์ ํ์ฌ ์ค๋ณต ์ฝ๋ ์ ๊ฑฐ\r\n\r\n* feat: Student์ ์ผ๊ธ์ปฌ๋ ์
Students ์์ฑ\r\n\r\n* refactor: Session์ด ์๊ฐ์ ๋ชฉ๋ก์ธ Students์ ๊ด๊ณ๋ฅผ ๊ฐ๊ณ , ์๊ฐ์ ์ฒญ ์ Students ์ ์ถ๊ฐํ ์ ์๋๋ก ๊ตฌํ\r\n\r\n* refactor: SessionFactory ๋์ SessionEntity์์ ์ง์ Session์ ์์ฑํ๋๋ก ์์ ","shortMessageHtmlLink":"๐ 3๋จ๊ณ - ์๊ฐ์ ์ฒญ(DB ์ ์ฉ) (#537)"}},{"before":"eda9860cf82c359b17edc17e20bfd2f40c46a1cf","after":"1a31def028361d03d2786ccb05da4a1f6110cdc8","ref":"refs/heads/hisomini","pushedAt":"2024-05-21T00:26:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"๋ฐ ์ฌ์ฑ","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"๐ 4๋จ๊ณ - ์๊ฐ์ ์ฒญ(์๊ตฌ์ฌํญ ๋ณ๊ฒฝ) (#534)\n\n* ํ
์คํธ๋ช
์์ \r\n\r\n* ๊ฐ์ ์งํ์ํ, ๋ชจ์ง์ํ ๋ถ๋ฆฌ ๋ฐ ์คํค๋ง, ํ
์คํธ์ฝ๋ ์์ \r\n\r\n* session ํด๋์ค ๋ด coverImage list๋ก ๋ณ๊ฒฝ\r\n\r\n* Student ๊ฐ์ฒด ๋ด EnrollmentApprovalStatus ์๊ฐ ์น์ธ ์ํ ๊ฐ ์ถ๊ฐ ๋ฐ ์คํค๋ง ๋ฐ์\r\n\r\n* ์๊ฐ ์น์ธ, ์๊ฐ ์ทจ์ ๋ฉ์๋ ์ถ๊ฐ\r\n\r\n* updateStatus, findAllApprovedStudents ๋ฉ์๋ ์ถ๊ฐ\r\n\r\n* ํ
์คํธ๋ฅผ ์ํ clear๋ฉ์๋ ์ถ๊ฐ\r\n\r\n* ํ
์คํธ๋ฅผ ์ํ clear๋ฉ์๋ ์ถ๊ฐ\r\n\r\n* students ๋๋ฉ์ธ ๋ด getApprovedStudents ์ญ์ -> repository ๋ฉ์๋ ์ถ๊ฐ\r\n\r\n* sessionstudentservice์ฝ๋ ๋ฐ ํ
์คํธ ์ฝ๋ ์์ฑ\r\n\r\n* ๋ฉ์๋ ์ถ๊ฐ\r\n\r\n* session ๋ด approval, cancel ๋ฉ์๋ ์ถ๊ฐ\r\n\r\n* SessionService ํ
์คํธ ์ฝ๋ ์์ฑ, session ๋ชจ์ง ์ํ ๋ณ๊ฒฝ ๋ฉ์๋ ์ถ๊ฐ\r\n\r\n* clear ๋ฉ์๋ ์ญ์ \r\n\r\n* @DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD) ์ถ๊ฐ\r\n\r\n* SessionEnrollment ๊ฐ์ฒด ์ถ๊ฐ ๋ฐ Session ์ ์ ๋ฉ์๋ ์ ๊ฑฐ\r\n\r\n* ๋ณ์๋ช
์์ ๋ฐ ๋ถ ์์ฑ์ -> ์ฃผ ์์ฑ์ ํธ์ถํ๋๋ก ์์ \r\n\r\n* createSessionWithProgressStatusAndFee ๋ฉ์๋ ์ฌ์ฉ์ผ๋ก ๋ณ๊ฒฝ\r\n\r\n* findAny -> findFirst ๋ณ๊ฒฝ\r\n\r\n* findById ๋ฉ์๋ ์์ \r\n\r\n* ๊ถํ์ด ์๋ ์ฌ์ฉ์๋ง ์๊ฐ ์น์ธ, ์ทจ์ ๊ฐ๋ฅํ๋๋ก ๋ณ๊ฒฝ","shortMessageHtmlLink":"๐ 4๋จ๊ณ - ์๊ฐ์ ์ฒญ(์๊ตฌ์ฌํญ ๋ณ๊ฒฝ) (#534)"}},{"before":"911117a85dc1d15fea771e37b331c254e2214dfe","after":"a7bbdfd50d1a3c1069edb7fe44dc260e53210a0d","ref":"refs/heads/hhhhhwi","pushedAt":"2024-05-15T03:55:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"๋ฐ ์ฌ์ฑ","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"๐ 2๋จ๊ณ - ์๊ฐ์ ์ฒญ(๋๋ฉ์ธ ๋ชจ๋ธ) (#535)\n\n* refactor: ํจํค์ง ๋ณ๊ฒฝ\r\n\r\n* docs: readme ์์ฑ\r\n\r\n* test: Session์ ๋ํ ์ ํจ์ฑ ๊ฒ์ฌ ํ
์คํธ ์์ฑ\r\n- ๊ฐ์ ์ปค๋ฒ ์ด๋ฏธ์ง์ ๋ํ ์ ํจ์ฑ ๊ฒ์ฌ ํ
์คํธ\r\n- ์ ๋ฃ ๊ฐ์์ ๋ํ ์ ํจ์ฑ ๊ฒ์ฌ ํ
์คํธ\r\n\r\n* feat: ๊ฐ์ ์ปค๋ฒ ์ด๋ฏธ์ง์ ๋ํ ๊ฐ์ฒด ์์ฑ (SessionImage) ๋ฐ ์ด๋ฏธ์ง์ ๋ํ ํ
์คํธ ๋ฉ์๋ ์์น ๋ณ๊ฒฝ\r\n\r\n* feat: ๊ฐ์์ ๋ํ ๊ฐ์ฒด ์์ฑ (Session) ๋ฐ validation ๊ตฌํ\r\n\r\n* feat: ๊ฐ์ ์ํ๋ฅผ ๋ํ๋ด๋ SessionState ๊ตฌํ\r\n\r\n* feat: ์๊ฐ์ ์ฒญ ๊ธฐ๋ฅ ๊ตฌํ\r\n- ์๊ฐ ์ ์ฒญ์ ๋ํ ์ธํฐํ์ด์ค ๊ตฌํ : Enrollment\r\n- FreeSession, PaidSession์ผ๋ก ์ /๋ฌด๋ฃ ๊ฐ์๋ฅผ ๊ตฌ๋ถ\r\n\r\n* feat: Session์ ์ผ๊ธ ์ฝ๋ ์
Sessions ์์ฑ ๋ฐ Course์ ์ ์ธ\r\n\r\n* feat: ์ธ์คํด์ค ๋ณ์ private์ผ๋ก ์ ์ธ\r\n\r\n* feat: Session์ ์ถ์ํด๋์ค๋ก ๋ง๋ค์ด ์์ ๊ตฌ์กฐ๋ก ๊ตฌํ\r\n\r\n* refactor: Builder ํจํด์ ํตํด ์ธ์คํด์ค ๋ณ์๊ฐ ๋ง์ ๋ณต์กํ ๊ฐ์ฒด์ ๋ํ ํ
์คํธ ๊ฐ์ ","shortMessageHtmlLink":"๐ 2๋จ๊ณ - ์๊ฐ์ ์ฒญ(๋๋ฉ์ธ ๋ชจ๋ธ) (#535)"}},{"before":"de587b9b414b8ec9ce8f32cf255ec1be8a8670a2","after":"d6354602de0c0b6200a8269c97f842dbd8f31959","ref":"refs/heads/kbzz17","pushedAt":"2024-05-08T20:43:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"๋ฐ ์ฌ์ฑ","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"๐ 1๋จ๊ณ - ๋ ๊ฑฐ์ ์ฝ๋ ๋ฆฌํฉํฐ๋ง ๋ฏธ์
์๋ฃ (#533)\n\n* [docs] ์ง๋ฌธ ์ญ์ ์๊ตฌ์ฌํญ ์์ฑ\r\n\r\n* [feat] ๋ก๊ทธ์ธ ์ฌ์ฉ์์ ์ง๋ฌธํ ์ฌ๋์ด ๊ฐ์ ๊ฒฝ์ฐ ์ญ์ ๊ฐ๋ฅํ๋ค.\r\n\r\n* [feat] ์ญ์ ์ ๋ฐ์ดํฐ ์ํ๋ฅผ ์ญ์ ์ํ(true)๋ก ๋ณ๊ฒฝํ๋ค\r\n\r\n* [refactor] ๋ต๊ธ ์ญ์ ์ ์ญ์ ์ํ๊ฐ ๋ณ๊ฒฝ๋์ด์ผ ํ๋ค\r\n\r\n* [refactor] ์ง๋ฌธ์์ ๋ต๋ณ๊ธ์ ๋ชจ๋ ๋ต๋ณ์๊ฐ ๊ฐ์ง ์์ ๊ฒฝ์ฐ ์ญ์ ๊ฐ ๋ถ๊ฐ๋ฅํ๋ค.\r\n\r\n* [refactor] ๋ต๋ณ ์ญ์ ์ DeleteHisotry๋ก ๋ฐํํ๋ค.\r\n\r\n* [refactor] ์ง๋ฌธ๊ธ ๋ฐ ๋ต๋ณ ์ญ์ ์ List ๋ก ๋ฐํํ๋ค.\r\n\r\n* [refactor] ์ฌ์ฉํ์ง ์๋ ๋ฉ์๋ ์ ๊ฑฐ\r\n\r\n* [refactor] QnAService ๋ฆฌํฉํ ๋ง\r\n\r\n* [refactor] ๋ต๋ณ ์ญ์ ๊ถํ ์ฒดํฌ validation\r\n\r\n* [refactor] ๊ธ ์ญ์ ๊ธฐ๋ฅ, ์ญ์ ํ์คํ ๋ฆฌ ์์ฑ ๋ถ๋ถ ๋ถ๋ฆฌ","shortMessageHtmlLink":"๐ 1๋จ๊ณ - ๋ ๊ฑฐ์ ์ฝ๋ ๋ฆฌํฉํฐ๋ง ๋ฏธ์
์๋ฃ (#533)"}},{"before":null,"after":"de587b9b414b8ec9ce8f32cf255ec1be8a8670a2","ref":"refs/heads/kbzz17","pushedAt":"2024-05-05T12:42:38.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"javajigi","name":"๋ฐ ์ฌ์ฑ","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"feat(payment): create Payment object and find Payment by id","shortMessageHtmlLink":"feat(payment): create Payment object and find Payment by id"}},{"before":"d07839b2ff860662a73d9740a234497a51231f1e","after":"8c2999aaf3fc0646078c035a4f89ca7ccf754f17","ref":"refs/heads/hyungjunn","pushedAt":"2024-05-05T06:39:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"๋ฐ ์ฌ์ฑ","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"4๋จ๊ณ - ์๊ฐ์ ์ฒญ(์๊ตฌ์ฌํญ ๋ณ๊ฒฝ) (#530)\n\n* doc(README.md): write todolist\r\n\r\n* Feat: ๊ฐ์ ์ํ๊ฐ IN_PROGRESS์ธ์ง ์๋์ง ํ์ธํ๋ค\r\n\r\n* Feat: ๋ชจ์ง ์ํ๊ฐ RECRUITING์ธ์ง ์๋์ง ํ์ธํ๋ค\r\n\r\n* Refactor: ๊ฐ์ ์ํ๊ฐ IN_PROGRESS์ผ ๋๋ง ์๊ฐ์ ์ฒญ์ด ๊ฐ๋ฅํ๋ค\r\n\r\n* Feat: ๋ชจ์ง ์ํ๊ฐ RECRUITING์ผ ๋๋ง ์๊ฐ์ ์ฒญ์ด ๊ฐ๋ฅํ๋ค\r\n\r\n* Refactor: IN_PROGRESS๋ก ์๊ตฌ์ฌํญ์ด ๋ณ๊ฒฝํจ์ ๋ฐ๋ผ ๊ธฐ์กด ํ๋๋ฅผ ์์ ๋ผ\r\n\r\n* Refactor: image -> List images\r\n\r\n* Feat: ์๊ฐ์ ์ฒญํ ์ฌ๋(Student) ์ค ์ ๋ฐ๋ ์ธ์๋ง์ ์๊ฐ ์น์ธ ํ ์ ์๋ค\r\n\r\n* Feat: ์๊ฐ์ ์ฒญํ ์ฌ๋(Student) ์ค ์ ๋ฐ๋์ง ์์ ์ฌ๋์ ์๊ฐ ์ทจ์ ํ ์ ์๋ค\r\n\r\n* Feat: ์ ๋ฐ๋์ง ์์ ์ฌ๋์ ์๊ฐ ์น์ธํ๋ ค๊ณ ํ๋ฉด ์์ธ๋ฅผ ๋ฐํํ๋ค\r\n\r\n* Feat: SessionService#approveStudent, SessionService#disApproveStudent\r\n\r\n* delete unnecessary construct\r\n\r\n* feat(ํผ๋๋ฐฑ ๋ฐ์): ์๊ฐ ์น์ธ, ์ทจ์๋ ๊ถํ์ด ์๋ ๊ฒฝ์ฐ์๋ง ๊ฐ๋ฅํ๋๋ก ํ๋ผ\r\n\r\n* feat: findById ๋ฅผ ๊ตฌํํ๋ผ\r\n\r\n* refactor(ํผ๋๋ฐฑ ๋ฐ์): ์ ๋ฐ ์ํ๋ฅผ ์ ๊ฑฐํ๋ผ\r\n\r\n* feat(ํผ๋๋ฐฑ ๋ฐ์): ๊ฐ์๊ฐ ์ ๋ฐ์ด ํ์ํ ๊ฐ์์ธ์ง ํ๋ณํ๋ ๋ฉ์๋๋ฅผ ๊ตฌํํ๋ผ\r\n\r\n* feat(ํผ๋๋ฐฑ ๋ฐ์): ๊ฐ์ ์น์ธํ ๋ ์ด ๊ฐ์๊ฐ ์ ๋ฐ์ ์ํ๋ ๊ฐ์์ธ์ง ํ์ธํ๋ ๋ก์ง์ ๊ตฌํํ๋ผ","shortMessageHtmlLink":"4๋จ๊ณ - ์๊ฐ์ ์ฒญ(์๊ตฌ์ฌํญ ๋ณ๊ฒฝ) (#530)"}},{"before":"0270fa67f421d5ca85716204349b12b33ac8bc5c","after":"4725bbcc6658353c90b4be644f441bf17d373cd0","ref":"refs/heads/namhyeop","pushedAt":"2024-05-05T06:24:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"๋ฐ ์ฌ์ฑ","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"Step4 - ์๊ฐ์ ์ฒญ(์๊ตฌ์ฌํญ ๋ณ๊ฒฝ) (#529)\n\n* feat : ๊ฐ์ ๋ชจ์ง ์ํ(RecrutimentState) -> ๊ฐ์ ์งํ ์ํ(ProgressState)๋ก ๋ณ๊ฒฝ\r\n\r\n1.์๊ตฌ์ฌํญ๋ณ๊ฒฝ์ผ๋ก ๊ฐ์ ๋ชจ์ง ์ํ์์ ๊ฐ์ ์งํ ์ํ๋ก ๋ณ๊ฒฝ\r\n2.ํ
์คํธ ์ฝ๋ ์ญ์ ์กฐ๊ฑด์ ์งํค๊ธฐ์ํด ํ
์คํธ ๋ฐ์ดํฐ ์ถ๊ฐ\r\n3.์ผ๋ถ ๊ฐ์ ๋ชจ์ง ์ํ ๊ด๋ จ๋ ๋ฉ์๋ ์ด๋ฆ์ ๊ฐ์ ์งํ์ํ ๋ฉ์๋์ ์ฐ๊ด๋๋๋ก ์ด๋ฆ ๋ณ๊ฒฝ\r\n\r\n* feat : ๊ฐ์ ๋ชจ์ง ์ํ(RecrutimentState) -> ๊ฐ์ ์งํ ์ํ(ProgressState)๋ก ๋ณ๊ฒฝ\r\n\r\n* feat : RecrutimentState ์ถ๊ฐ\r\n\r\n* feat : ๊ฐ์ ์งํ ์ํ ์ถ๊ฐ๋ก ์ธํ ๊ธฐ์กด ์ฝ๋ ์์ \r\n\r\n* feat : ๊ฐ์ ์๊ฐ์ ์ฒญ ๊ฐ๋ฅ์ฌ๋ถ ๊ฒ์ฆ ๊ธฐ๋ฅ ๋ณ๊ฒฝ\r\n\r\n* feat : ์ปค๋ฒ ์ ์ฑ
๋ณ๊ฒฝ์ผ๋ก ์ธํ List ์ถ๊ฐ\r\n\r\n* feat : ๊ธฐ์กด์ ์ฌ์ฉ์ค์ธ image ์ ๊ฑฐ\r\n\r\n* feat : StudentType ์ถ๊ฐ\r\n\r\n* feat : enrollment ID ์ถ๊ฐ\r\n\r\n* feat : NsUser StudentType ์ถ๊ฐ\r\n\r\n* feat : enrollment Id์ถ๊ฐ๋ก ์ธํ ํ
์คํธ ์ฝ๋ ์์ \r\n\r\n* feat : userRepository ์ฟผ๋ฆฌ ์์ \r\n\r\n* feat : Student ๊ฐ์ฒด์ ์น์ธ์ํ, ์น์ธํ์
์ถ๊ฐ๋ก ์ธํ DB ๋งคํ ์์
\r\n\r\n* feat : ์น์ธ,์ทจ์๋ฅผ ํตํ ์๊ฐ ๊ถํ ๋ถ์ฌ\r\n\r\n* feat : ๋ถํ์ํ ToString๋ฌธ ์ญ์ \r\n\r\n* feat : Enrollment ์ถ์ํ ์ญ์ (ํผ๋๋ฐฑ ๋ฐ์)\r\n\r\n* feat : enrollment ์ธ์คํด์ค ์์ฑํ์ฌ ๋ฐํํ๋๋ก ์์ (ํผ๋๋ฐฑ ๋ฐ์)\r\n\r\n* feat : ๊ธฐ์กด enrollment ์กฐํ ๋ฉ์๋ ์ญ์ \r\n\r\n* feat : ํ
์คํธ ์คํจ๋ก ์ธํ Feetype ์กฐํ๋ก์ง ์์ \r\n\r\n* feat : student paymentAmount ํ๋ ์ญ์ \r\n\r\n* feat : student ๊ฐ์ฒด ์ฃผ์์ฑ์๋ฅผ ํ์ฉํ์ฌ ์์ฑ\r\n\r\n* feat : student ๊ฐ์ฒด ๋ฉ์๋๋ช
์์ (ํผ๋๋ฐฑ ๋ฐ์)","shortMessageHtmlLink":"Step4 - ์๊ฐ์ ์ฒญ(์๊ตฌ์ฌํญ ๋ณ๊ฒฝ) (#529)"}},{"before":"de587b9b414b8ec9ce8f32cf255ec1be8a8670a2","after":"911117a85dc1d15fea771e37b331c254e2214dfe","ref":"refs/heads/hhhhhwi","pushedAt":"2024-05-03T00:02:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"๋ฐ ์ฌ์ฑ","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"๐ 1๋จ๊ณ - ๋ ๊ฑฐ์ ์ฝ๋ ๋ฆฌํฉํฐ๋ง (#517)\n\n* step1 ๋ฆฌํฉํ ๋ง\r\n\r\n* step1 ๋ฆฌํฉํ ๋ง\r\n\r\n* step1 Question ๋ฉ์๋๋ถ๋ฆฌ\r\n\r\n* step1 Answer ๋ฉ์๋ ๊ฒฐํฉ (๋ก๊ทธ์ธ์ ์ ๊ฒ์ฆ & delete)\r\n\r\n* step1 ๋ถํ์ํ ํ
์คํธ์ฝ๋ ์ญ์ \r\n\r\n* step1 1์ฐจ ๋ฆฌ๋ทฐ ๋ด์ฉ ๋ฐ์\r\n\r\n* refactor: ๋ฉ์๋ ๋ด์ฉ์ ๋ง๊ฒ ๋ณ์๋ช
๋ณ๊ฒฝ\r\n\r\n* refactor: inner class๋ฅผ static ์ผ๋ก ๊ด๋ฆฌ\r\n\r\n* refactor: ๋ด์ฉ์ ๋ง๋ exception message๋ก ์์ \r\n\r\n* refactor: ์ง๋ฌธ ์ญ์ ์ ์ญ์ ๋ด์ญ ๋ฑ๋ก์ ๋ํ ๋ด์ฉ์ ํ๋์ ๋ฉ์๋๋ก ํตํฉ\r\n\r\n* refactor: ๋ฏธ์ฌ์ฉ ๋ณ์ ์ญ์ \r\n\r\n---------\r\n\r\nCo-authored-by: yushin ","shortMessageHtmlLink":"๐ 1๋จ๊ณ - ๋ ๊ฑฐ์ ์ฝ๋ ๋ฆฌํฉํฐ๋ง (#517)"}},{"before":"8de3dde358dab6ad1aebc019aa111d3bbe5be6e3","after":"f4656421b1f27b8ff6cf26ee028f5641c26dbc2e","ref":"refs/heads/dongwooe","pushedAt":"2024-05-02T02:26:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"๋ฐ ์ฌ์ฑ","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"Step3 ์๋ฃํ์ต๋๋ค ~! (#488)\n\n* feat : ์์ฑ์๊ฐ, ์
๋ฐ์ดํธ ์๊ฐ ํ๋๋ฅผ ๊ฐ์ง๋ BaseTimeEntity ์ถ๊ฐ ๋ฐ Session, CoverImage์ ์ ์ฉ\r\n\r\n* feat : session table ์ถ๊ฐ\r\n\r\n* feat : Session, SessionRepository ์์ \r\n\r\n* feat : SessionRepository ๊ตฌํ์ฒด ๋ฐ ํ
์คํธ ์ฝ๋ ์ถ๊ฐ\r\n\r\n* feat : CoverImageRepository ๊ตฌํ์ฒด ๋ฐ ํ
์คํธ ์ฝ๋ ์ถ๊ฐ\r\n\r\n* refactor : JdbcSessionRepository ๋งคํ ๊ณผ์ ์์ ์์ฑ์๋ฅผ ํตํด์ ๋งคํํ๋๋ก ์์ \r\n\r\n* refactor : toLocalDate, toLocalDateTime ๋ก์ง์ Util์ ๋ถ๋ฆฌ\r\n\r\n* refactor : Course ๋ด๋ถ์ ๋ฉค๋ฒ๋ณ์๋ค์ final๋ก ์ค์ \r\n\r\n* refactor : ImageType ๋ด๋ถ map์ ์์ฑ ๊ฐ์ํ\r\n\r\n* refactor : getImageType Optional์ ํ์ฉํด์ ๊ฐ์ \r\n\r\n* refactor : ์ ํจ์ฑ ๊ฒ์ฆ ๋ก์ง ๋ฉ์๋ ๋ถ๋ฆฌ\r\n\r\n* refactor : ๊ฐํ ์ถ๊ฐ\r\n\r\n* style : ์ฝ๋ ํฌ๋ฉงํ
์ ์ฉ\r\n\r\n* JdbcSessionRepository์์ Session ์กฐํ ์์ CoverImage๋ join์ผ๋ก ๊ฐ์ด ์กฐํํ๋๋ก ์์ \r\n\r\n* CoverImage์ getter๋ค์์ ์์๊ฐ์ ์ง์ ๋ฆฌํดํ๋๋ก ์์ \r\n\r\n* ํ
์คํธ ๋ฉฑ๋ฑ์ฑ์ ์ํด์ DirtiesContext ์ถ๊ฐ\r\n\r\n* Repository ๋ด์ ์ฟผ๋ฆฌ ์์ฝ์ด๋ค ๋๋ฌธ์๋ก ์์ \r\n\r\n* RepositoryTest ๋ด์์ log ์ถ๋ ฅํ๋ ์ฝ๋ ์ญ์ \r\n\r\n* feat : Course ์กฐํ ์์ Session๋ ๊ฐ์ด ์กฐํํ๋๋ก ์์ \r\n\r\n* refactor : CoverImage๊ฐ Session id๊ฐ ์๋ Session์ ์ฐธ์กฐํ๋๋ก ์์ ","shortMessageHtmlLink":"Step3 ์๋ฃํ์ต๋๋ค ~! (#488)"}},{"before":"c3f5d28ba84334a5130fbfd9f4dedddd01070a48","after":"304c139b8caeb4208b022742a6331626b881f444","ref":"refs/heads/dongock","pushedAt":"2024-05-01T11:58:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"๋ฐ ์ฌ์ฑ","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"2๋จ๊ณ - ์๊ฐ์ ์ฒญ(๋๋ฉ์ธ ๋ชจ๋ธ) (#511)\n\n* refactor: [2-1] Post ์ ๊ฑฐ ๋ฐ makeDeleteHistory ๋ฉ์๋ ์์น ๋ณ๊ฒฝ\r\n\r\n* doc: ์งํ ๋ฐฉํฅ ๊ด๋ จ ๋ฌธ์ ์ ๋ฆฌ\r\n\r\n* feat: [2-2] ImageTest ์์ฑ ๋ฐ ImageByte validate ๊ตฌํ ๋ฐ Test ์์ฑ\r\n\r\n* feat: [2-3] ImageType Enum ์์ฑ ๋ฐ ImageType validate ๊ตฌํ ๋ฐ Test ์์ฑ\r\n\r\n* feat: [2-4] ImageWidth, Height, Rate validate ๊ตฌํ ๋ฐ Test ์์ฑ\r\n\r\n* feat:[2-5] ๋ฌด๋ฃ ๊ฐ์ ๊ฐ์ฒด ์์ฑ ๋ฐ Test ๊ตฌํ\r\n\r\n* feat:[2-6] ๊ฐ์ ๊ธฐ๊ฐ Test ๊ตฌํ\r\n\r\n* feat:[2-7] ์ ๋ฃ ๊ฐ์ ๊ฐ์ฒด ์์ฑ ๋ฐ Test ๊ตฌํ\r\n\r\n* feat:[2-8] Payments ์์ฑ\r\n\r\n* refactor:[2-9] orElseThrow throw ์ ๊ฑฐ ๋ฐ ๊ฐ์ฒด ์์ฑ์ผ๋ก ๋ณ๊ฒฝ\r\n\r\n* refactor:[2-10] SessionImage ๋ณ์๋ค ํด๋์ค ๋ถ๋ฆฌ\r\n\r\n* refactor:[2-11] SessionPeriod String -> LocalDate ์ด์ฉ์ผ๋ก ๋ณ๊ฒฝ\r\n\r\n* refactor:[2-12] Exception Test -> assertThatIllegalArgumentException ์ ์ฉ\r\n\r\n* refactor:[2-13] Course ์ง์ ์ฐธ์กฐ ์๋ CourseId๋ฅผ ํตํ ๊ฐ์ ์ฐธ์กฐ๋ก ๋ณ๊ฒฝ\r\n\r\n* refactor:[2-14] Session์ ID ์ถ๊ฐ\r\n\r\n* refactor:[2-15] ์ผ๊ธ ์ปฌ๋ ์
Sessions ์์ฑ ๋ฐ Test ๊ตฌํ, Course์ ๋ณ์๋ก ์ถ๊ฐ\r\n\r\n* refactor:[2-16] Session ์์ฑ ๋ฐฉ์ ๋ณ๊ฒฝ ๋ฐ Test ์ถ๊ฐ\r\n\r\n* refactor:[2-17] illegalArgumentException ๊ด๋ จ Test์ assertThatIllegalArgumentException ์ ์ฉ","shortMessageHtmlLink":"2๋จ๊ณ - ์๊ฐ์ ์ฒญ(๋๋ฉ์ธ ๋ชจ๋ธ) (#511)"}},{"before":"fd572f2b626b3744e1efb1435e51c3b286a117d8","after":"93481c1d877b8d85d71f8e375986601d56280fd9","ref":"refs/heads/kimsunghyun1995","pushedAt":"2024-04-30T00:08:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"๋ฐ ์ฌ์ฑ","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"๐ 2๋จ๊ณ - ์๊ฐ์ ์ฒญ(๋๋ฉ์ธ ๋ชจ๋ธ) (#528)\n\n* doc : readme ์์ฑ\r\n\r\n* test: ๊ฐ์ ์ด๋ฏธ์ง ๊ด๋ จ ํ
์คํธ ์ฝ๋\r\n\r\n* feat: ๊ฐ์ ์ด๋ฏธ์ง ํด๋์ค ์์ฑ\r\n\r\n* test: ์ ๋ฌด๋ฃ๊ฐ์ ๊ธฐ๋ฅ ํ
์คํธ\r\n\r\n* feat: ์ ๋ฌด๋ฃ๊ฐ์ ํ์
ํด๋์ค ์์ฑ ๋ฐ ๊ตฌํ\r\n\r\n* feat: ๊ฐ์ ์ํ enum ํด๋์ค ์์ฑ\r\n\r\n* refactor: ์์ธ์ฌํญ ๋ฉ์๋๋ก ์ถ์ถ\r\n\r\n* refactor: ํด๋์ค ๋ค์ ๋ณ๊ฒฝ\r\n\r\n* feat: ์์ฑ์ ์ถ๊ฐ์ ์ํ ์์ ์์ฑ์ ์์ \r\n\r\n* test: ์ฌ์ฉํ ํด๋์ค static final๋ก ์ ์ธ\r\n\r\n* refactor: ๊ธฐ๊ฐ์ ๋ํ ํด๋์ค ์ถ๊ฐ\r\n\r\n* fix: ์๋ชป๋ ๋ค์ด๋ฐ ์ญ์ \r\n\r\n* refactor: ๊ธฐ๊ฐ ํด๋์ค ์ถ๊ฐ๋ก ์ธํ ํ
์คํธ์ฝ๋ ์์ \r\n\r\n* feat: ์ฝ์ค์ ์๊ฐ์ ๋ณด list๋ก ์ถ๊ฐ\r\n\r\n* doc: ๋ฌธ์ ์
๋ฐ์ดํธ\r\n\r\n* refactor: imageInfo ์์๊ฐ ํฌ์ฅ\r\n\r\n* test: ์ด๋ฏธ์ง ์์๊ฐ ํฌ์ฅ ๊ด๋ จ ํ
์คํธ ์ถ๊ฐ\r\n\r\n* feat: ๊ฐ์ ๊ด๋ จ ํด๋์ค ์ถ๊ฐ\r\n\r\n* test: period ํด๋์ค ์์ฑ ํ
์คํธ\r\n\r\n* refactor: ์ ๋ฃ๊ฐ์ ๋ณ์ ๋ฌถ์ด์ ํด๋์ค ์์ฑ\r\n\r\n* test: ์ ๋ฃ๊ฐ์ ๊ด๋ จ ๋ณ์ ํด๋์ค ์์ฑ ํ ํ
์คํธ์ฝ๋ ์์ \r\n\r\n* fix: course์ Session ์์กด์ฑ ์ถ๊ฐ\r\n\r\n* refactor: final ์ถ๊ฐ\r\n\r\n* refactor: ๋ถ ์์ฑ์๊ฐ ์ฃผ ์์ฑ์ ํธ์ถํ๋๋ก ์์ \r\n\r\n* refactor: ์ธ์
์ ์ฒญํ ์ ์ ์ ๋ณด ์ถ๊ฐ\r\n\r\n** NsUsers\r\n\r\n* feat: ์๊ฐ์ ์ฒญ ๋ก์ง ์ถ๊ฐ","shortMessageHtmlLink":"๐ 2๋จ๊ณ - ์๊ฐ์ ์ฒญ(๋๋ฉ์ธ ๋ชจ๋ธ) (#528)"}},{"before":"017559fc4a8ad49e97345adaddf3a7c0b7380ccb","after":"c491b7061016076b4725b6d30136f82552b11ddc","ref":"refs/heads/jaejeong1","pushedAt":"2024-04-28T23:36:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"๋ฐ ์ฌ์ฑ","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"Step4 (#527)\n\n* feat: ์ฃผ์์ฑ์ ์ฌ์ฉํ๋๋ก ๋ณ๊ฒฝ\r\n\r\n* feat: ๊ฐ์ ์๊ฐ์ ์ฒญ์ ๊ฐ์ ์ํ๊ฐ ๋ชจ์ง์ค์ผ ๋๋ง ๊ฐ๋ฅํ๋ค\r\n\r\n* feat: ๊ฐ์๋ ๊ฐ์ ์ปค๋ฒ ์ด๋ฏธ์ง ์ ๋ณด๋ฅผ ๊ฐ์ง๋ค\r\n\r\n* feat: ๊ฐ์ฌ๊ฐ ์น์ธํ์ง ์์๋ ์๊ฐ ์ ์ฒญํ๋ ๋ชจ๋ ์ฌ๋์ด ์๊ฐ ๊ฐ๋ฅํ๋ค\r\n\r\n* feat: ํผ๋๋ฐฑ ๋ฐ์\r\n\r\n* feat: ํผ๋๋ฐฑ ๋ฐ์\r\n\r\n---------\r\n\r\nCo-authored-by: socar-cloud ","shortMessageHtmlLink":"Step4 (#527)"}},{"before":"22071a296101dad837a5cce717a1f83e3531566c","after":"d07839b2ff860662a73d9740a234497a51231f1e","ref":"refs/heads/hyungjunn","pushedAt":"2024-04-28T11:39:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"๋ฐ ์ฌ์ฑ","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"3๋จ๊ณ - ์๊ฐ์ ์ฒญ(DB ์ ์ฉ) (#514)\n\n* Refactor: ์ํ๊ฐ ๋ณ๊ฒฝํ๊ธฐ ์ ์ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ์งํํ๋๋ก ๋ฆฌํฉํฐ๋งํ๋ผ\r\n\r\n* Refactor: NsUser์์ ์ฌ์ฉํ์ง ์๊ฒ ๋ ์ฝ๋๋ ์ญ์ ํ๋ผ\r\n\r\n* Feat: capacity ๊ฐ ๊ฐ์ฒด ์์ฑ\r\n\r\n* Doc(README.md): ๊ตฌํ ๋ชฉ๋ก ์ฌํญ ์ ๋ฆฌ\r\n\r\n* Feat: image ํ
์ด๋ธ ์์ฑ\r\n\r\n* Test: ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํ๋ค\r\n\r\n* Feat: ns_user ํ
์ด๋ธ ์์ฑ\r\n\r\n* Feat: session_register_details ํ
์ด๋ธ ์์ฑ\r\n\r\n* Test: ์ธ์
๋ฑ๋ก ์์ธ๋ฅผ ์ ์ฅํ๋ค\r\n\r\n* Test: ์ด๋ฏธ์ง๋ฅผ ์กฐํํ๋ค\r\n\r\n* Doc(README.md): ๊ตฌํ ๋ชฉ๋ก ์ฌํญ ์์ \r\n\r\n* Test: ์ธ์
์์ด๋๋ก ์ฐธ์ฌ์ ๋ชฉ๋ก์ ์กฐํํ๋ค\r\n\r\n* Test: ์ธ์
๋ฑ๋ก ์์ธ๋ฅผ ์กฐํํ๋ค\r\n\r\n* Test: ์ธ์
์ ์ ์ฅํ๋ค\r\n\r\n* Test: ์ธ์
์ ์กฐํํ๋ค\r\n\r\n* Feat: ์๊ฐ์ ์ฒญ์ ํ๋ค\r\n\r\n* Refactor: register์ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ฐ๊พผ๋ค\r\n\r\n* Fix: ์ ํฉ์ฑ๋ฌธ์ ๋ก ์ ์ฅ ์กฐํ ํ
์คํธ๋ฅผ ํ๋๋ก ํฉ์น๋ค\r\n\r\n* Style: ํ์์๋ import๋ฌธ, ์ฃผ์ ์ ๊ฑฐ\r\n\r\n* Test: ์๊ฐ์ ์ฒญ์ ํ๋ค\r\n\r\n* Test: ์๊ฐ์ ์ฒญ ๋ก์ง์ ์ ํํ๊ฒ ์ํ๋๋๋ก ๋ฆฌํฉํฐ๋งํ๋ผ\r\n\r\n* Feat: 'Student' domain์ ๊ตฌํํ๋ผ\r\n\r\n* Fix: imageRepositoryTest์ SessionRegisterDetailsTest์ ๋ฐ์ดํฐ์ค๋ณต์ผ๋ก ์ธํ ํ
์คํธ ๋ฏธํต๊ณผ ํด๊ฒฐ\r\n\r\n* Fix: ํ
์ด๋ธ ๊ตฌ์กฐ๋ฅผ ๋ฐ๊พธ์ด๋ผ\r\n\r\n* Refactor: ์์ฑ์์ ์ธ์๋ฅผ ๋ฐ๊พผ๋ค\r\n\r\n* Chore: repository interface์ ํ๋ก์ ํธ ์์น๋ฅผ domain์ ์์น์ํจ๋ค\r\n\r\n* Fix: session_register_details ํ
์ด๋ธ์ session_id๋ฅผ fk๋ก ์ถ๊ฐํ๋ผ\r\n\r\n* Refactor: object mother pattern์ ์ด์ฉํด text fixture๋ฅผ ๋ง๋ค๊ณ ํ
์คํธ์ฝ๋์ ์ ์ฉํ๋ผ\r\n\r\n* Refactor: builder pattern์ ์ด์ฉํด Session์ text fixture๋ฅผ ๋ง๋ค๊ณ ํ
์คํธ์ฝ๋์ ์ ์ฉํ๋ผ\r\n\r\n* Refactor: builder pattern์ ์ด์ฉํด SessionRegisterDetails์ text fixture๋ฅผ ๋ง๋ค๊ณ ํ
์คํธ์ฝ๋์ ์ ์ฉํ๋ผ\r\n\r\n* Style: intellij formatting์ ์ ์ฉํ๋ผ\r\n\r\n* Feat: ์๊ฐ์๋ชฉ๋ก repository๋ฅผ ๊ตฌํํ๋ผ\r\n\r\n* Style: ํ์์๋ import๋ฌธ ์ ๊ฑฐ\r\n\r\n* Refactor: Session construct public -> private\r\n\r\n* Refactor: remove unused constructor\r\n\r\n* Test: Students#register(..)\r\n\r\n* Test: Students#register exception์ด ๋ฐ์ํ๋์ง ํ
์คํธํ๋ผ\r\n\r\n* Test: StudentRepository#save(..)\r\n\r\n* Test: StudentRepository#findById(..)\r\n\r\n* Test: JdbcStudentRepository#findBySessionId(..)\r\n\r\n* Refactor: JdbcStudentRepository\r\n\r\n* Refactor: JdbcStudentRepository\r\n\r\n* Test: SessionRegisterDetails#enroll(..)\r\n\r\n* Test: ๊ฐ์๊ฐ ๋ชจ์ง์ค์ด ์๋๋ ์๊ฐ์ ์ฒญ์ ํ๋ฉด ์์ธ๋ฅผ ๋ฐํํ๋ค\r\n\r\n* Test: ๊ฐ์์ ๊ฐ๊ฒฉ๊ณผ ๊ฒฐ์ ํ ๊ธ์ก์ด ๊ฐ์ง ์์์ง ๊ฒ์ฆํ๋ค\r\n\r\n* Test: ์ด๋ฏธ ์๊ฐ ์ ์ฒญํ ํ์์ด ๋ฑ๋ก์ ํ๋ คํ๋ฉด ์์ธ์ฒ๋ฆฌ๋๋์ง ํ
์คํธํ๋ผ\r\n\r\n* Test: Session#enroll(..)\r\n\r\n* Test: ๊ฐ์์ ๊ฐ๊ฒฉ๊ณผ ๊ฒฐ์ ๊ธ์ก์ด ๊ฐ์ง ์์ผ๋ฉด ์์ธ๋ฅผ ๋ฐํํ๋ค\r\n\r\n* Refactor: ํ
์ด๋ธ ์ฌ์์ฑ์ ๋ฐ๋ฅธ ์ํฐํฐ ๊ตฌ์กฐ ๋ณ๊ฒฝ\r\n\r\n* Test: SessionService#registerSession(..)\r\n\r\n* Style: ๊ฐ์๋ฅผ ๋ฑ๋กํ๋๊ฒ์ด๋ register์์ enroll๋ก ๋ฉ์๋๋ช
์ ๋ฐ๊พธ์ด๋ผ\r\n\r\n* Refactor: enroll(..)๋ฉ์๋๋ฅผ ๋ฆฌํฉํฐ๋ง์ ์ํด ๋ฐ๋ ๋ก์ง๋ค์ ์ฌํ
์คํธํ๋ผ\r\n\r\n* Style: ํ์์๋ import๋ฌธ์ ์ญ์ ํ๋ผ","shortMessageHtmlLink":"3๋จ๊ณ - ์๊ฐ์ ์ฒญ(DB ์ ์ฉ) (#514)"}},{"before":"e5f65a2119c88973dd07e8209d64f581cdec1326","after":"0270fa67f421d5ca85716204349b12b33ac8bc5c","ref":"refs/heads/namhyeop","pushedAt":"2024-04-26T22:15:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"๋ฐ ์ฌ์ฑ","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"Step3 - ์๊ฐ์ ์ฒญ(DB์ ์ฉ) (#519)\n\n* feat : ์๊ฐ ์ค์ ๋ก์ง ์์ (ํผ๋๋ฐฑ ๋ฐ์)\r\n\r\n* feat : MethodSource ์ ์ฉ (ํผ๋๋ฐฑ ๋ฐ์)\r\n\r\n* feat : Session, Image ํ
์ด๋ธ ๋งคํ\r\n\r\n* feat : DB ์์ฑ์ผ๋ก ์ธํ Sessions ์ญ์ \r\n\r\n* feat : DB ์์ฑ์ผ๋ก ์ธํ Sessions ์ญ์ \r\n\r\n* feat : JdbcSessionEntityRepository ์์ฑ\r\n\r\n* feat : JdbcSessionEntityRepository ์ธํฐํ์ด์ค ์ถ๊ฐ\r\n\r\n* feat : JdbcSessionEntityRepository ํ
์คํธ ์ฝ๋ ์ถ๊ฐ\r\n\r\n* feat : NotExistSessionType ์์ธ ์ถ๊ฐ\r\n\r\n* feat : Session , ์ ํจ๊ธฐ๊ฐ ๊ฐ์ฒด ์ถ๊ฐ๋ก ์ธํ ํ
์คํธ์ฝ๋ ์ถ๊ฐ ๋ฐ ์์ \r\n\r\n* feat : ์ ํจ๊ธฐ๊ฐ ๊ฐ์ฒด ์ถ๊ฐ\r\n\r\n* feat : ImageRepository ํ
์คํธ ์ถ๊ฐ ๋ฐ ๊ตฌํ\r\n\r\n* feat : JdbcCourseRepository ํจํค์ง ๊ฒฝ๋ก ์์ \r\n\r\n* feat : JdbcCourseRepository ํ
์คํธ ์ฝ๋ ์ถ๊ฐ\r\n\r\n* feat : ImageEntity ์ถ๊ฐ\r\n\r\n* feat : Image ๊ฐ์ฒด ์์ฑ์ ์ถ๊ฐ\r\n\r\n* feat : FreeSession-์์ฑ์ ์ถ๊ฐ\r\n\r\n* feat : CourseRepositoryTest-ํจํค์ง ๊ฒฝ๋ก ์์ \r\n\r\n* feat : CourseRepositoryTest-ํ
์คํธ ํจํค์ง ๊ฒฝ๋ก ์์ \r\n\r\n* feat : SessionFactory ๊ตฌํ\r\n\r\n* feat : SessionFactory-SesstionType ๊ตฌ๋ถ์ ์ํ enum ์ถ๊ฐ\r\n\r\n* feat : SessionEntity ์ถ๊ฐ\r\n\r\n* feat : BaseEntity Getter ์ถ๊ฐ\r\n\r\n* feat : Course ํ
์คํธ์ฝ๋ ์ถ๊ฐ\r\n\r\n* feat : Course registerSession ์ถ๊ฐ\r\n\r\n* feat : Session, Image Mock ํ
์คํธ์ฝ๋ ์ถ๊ฐ\r\n\r\n* feat : SessionBuilder ์ถ๊ฐ\r\n\r\n* feat : DB schema ์ถ๊ฐ\r\n\r\n* feat : PaidSession ํ๋ ์์ ์ผ๋ก ์ธํ ํ
์คํธ ์ฝ๋ ์์ \r\n\r\n* feat : PaidSession ์์ฑ์ ์ถ๊ฐ\r\n\r\n* feat : MaxRegistrationCount-Getter ์ถ๊ฐ\r\n\r\n* feat : Money-Getter ์ถ๊ฐ\r\n\r\n* feat : Session-freeSession์ ์ํ default ๋ฉ์๋ ์ถ๊ฐ ๋ฐ DB ์ ๊ทผ์ ์ํ Getter ์ถ๊ฐ\r\n\r\n* feat : SessionRegisterFailException ์ถ๊ฐ\r\n\r\n* feat : NotExistTimeException ์ถ๊ฐ\r\n\r\n* feat : ValidityPeriodTest-NotExistTimeException ์ถ๊ฐ๋ก ์ธํ ํ
์คํธ ์ฝ๋ ์์ \r\n\r\n* feat : Service ์ฝ๋ ์ถ๊ฐ\r\n\r\n* feat : BaseEntity ํจํค์ง ๊ฒฝ๋ก ์์ \r\n\r\n* feat : ์ธํฐํ์ด์ค -> ๊ณจ๊ฒฉํด๋์ค๋ก ๋ฆฌํฉํ ๋ง\r\n\r\n* feat : ValidPeriod ๊ฐ์ฒด๋ช
์์ \r\n\r\n* feat : SessionFactory ํจํค์ง ๋ณ๊ฒฝ\r\n\r\n* feat : AbstractSession ์์น ๋ณ๊ฒฝ\r\n\r\n* feat : ๋ถํ์ํ import๋ฌธ ์ ๊ฑฐ\r\n\r\n* feat : Course ์๊ฐ์ ์ฒญ ๋ก์ง ์ญ์ \r\n\r\n* feat : importํจํค์ง ๊ฒฝ๋ก ๋ณ๊ฒฝ\r\n\r\n* feat : Sessions ์ญ์ ๋ก ์ธํ ๋ถํ์ํ equals, hascode ์ญ์ \r\n\r\n* feat : PaymentService @Service ์ถ๊ฐ\r\n\r\n* feat : Enrollment ์ถ๊ฐ\r\n\r\n* feat : FreeSessionTest ํ
์คํธ๋ช
์์ \r\n\r\n* feat : ๋ถํ์ํ DTO ํ์ผ ์ญ์ \r\n\r\n* feat : SessionFactory ์ ๋ฃ/๋ฌด๋ฃ ํ๋จ ๋ก์ง ์์ \r\n\r\n* feat : Enrollment ๊ฐ์ฒด ์์ฑ์ผ๋ก ์ธํ Course ํ
์คํธ ๋ก์ง ์ญ์ \r\n\r\n* feat : Enrollment ๊ตฌํ ๋ฐ ํ
์คํธ ์ฝ๋ ์ถ๊ฐ\r\n\r\n* feat : Service ๋ก์ง ์์ \r\n\r\n* feat : ๋ถํ์ํ ์ฝ๋ ์ญ์ \r\n\r\n* feat : ๋ถํ์ํ ํด๋์ค ์ญ์ \r\n\r\n* feat : Enrollment ๋ถ๋ฆฌ\r\n\r\n* feat : ํ
์คํธ ์์ \r\n\r\n* feat : DB ์คํค๋ง ๋ณ๊ฒฝ\r\n\r\n* feat : ํ์ ๋ฐ์ดํฐ ์ถ๊ฐ\r\n\r\n* feat : ๊ตฌ์กฐ ์ฌ์ค๊ณ๋ก ์ธํ ๋ฏธ์ฌ์ฉ ํด๋์ค ์ญ์ \r\n\r\n* feat : ๊ตฌ์กฐ ์ฌ์ค๊ณ ์์
๋ฐ์\r\n\r\n* feat : ํ
์คํธ ์คํจ ์ค๋ฅ ์์ \r\n\r\n* feat : SessionFactory ๋ฉ์๋๋ช
์์ \r\n\r\n* feat : sessionRepository ํ
์คํธ ์ถ๊ฐ\r\n\r\n* feat : sessionRepository ํ
์คํธ ์ฝ๋ ์ถ๊ฐ\r\n\r\n1. ๋นํ์คํฉ๋ sessionRepository ํ
์คํธ ์ฝ๋ ํ์ฑํ\r\n2. ํ
์คํธ๋ฅผ ์ํ enrollmentBuilder ๊ตฌํ\r\n3. session, sesssionEntiyu ์์ฑ์ ์ถ๊ฐ\r\n\r\n* feat : enrollment ํ
์คํธ ์ถ๊ฐ ์ ์ด์ ํ
์คํธ ์ฝ๋ ์ญ์ \r\n\r\n* feat : SessionRepositoryTest ํด๋์ค๋ช
์์ \r\n\r\n* feat : Enrollment ํ
์คํธ ์ฝ๋ ์ถ๊ฐ\r\n\r\n* feat : EnrollmentCount ํ
์คํธ ์ถ๊ฐ\r\n\r\n* feat : codeConvention ์ ์ฉ ๋ฐ ๋ถ ํ์ํ ์ฝ๋ ์ ๊ฑฐ\r\n\r\n* feat : Image <-> ImageEntity ์์กด์ฑ ์ ๊ฑฐ\r\n\r\n* feat : Session <-> SessionEntity Cyclic Dependency์ ๊ฑฐ","shortMessageHtmlLink":"Step3 - ์๊ฐ์ ์ฒญ(DB์ ์ฉ) (#519)"}},{"before":"41feb99b274e29c9b6e4151f4d11c79994ca7037","after":"be798041165335107d97bcf1b5faa12aff639817","ref":"refs/heads/m5s3","pushedAt":"2024-04-26T22:08:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"๋ฐ ์ฌ์ฑ","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"[์๊ฐ์ ์ฒญ - ๋๋ฉ์ธ ๋ชจ๋ธ] step2 ๋ฏธ์
(#503)\n\n* feat(DeleteHistory): ์ ์ ์์ฑ์ ํฉํ ๋ฆฌ `createAnswer`, `createQuestion` ๊ธฐ๋ฅ ๊ตฌํ\r\n\r\n* refactor(Answers): ๊ธฐ๋ณธ ์์ฑ์๋ฅผ ์์ฑํ๋ `from()` ์ญ์ \r\n\r\n* refactor(QnaServiceTest): `newline` ์ถ๊ฐ\r\n\r\n* feat(Course): ๋ฌด๋ฃ๊ฐ์๋ฅผ ์ ์ฒญ ํ ์ ์๋ ๊ธฐ๋ฅ ๊ตฌํ\r\n\r\n* test(CourseTest): ๊ฐ์ ๋ฑ๋ก์ด ์๋๋ผ ๊ฐ์ ์์ฑ์ผ๋ก ์ด๋ฆ ๋ณ๊ฒฝ\r\n\r\n* feat(Course): ๊ณผ์ ์ ์์ฑํ๋ ์๋ฏธ๋ฅผ ๋์ฐ๊ธฐ ์ํด `register` -> `add` ๋ก ์์ \r\n\r\n* feat(Session): ๋ชจ์ง์ค ์ด์ธ์ ์๊ฐ ์ ์ฒญ์ ์์ธ ๋ฐ์ ๊ธฐ๋ฅ ๊ตฌํ\r\n\r\n* feat(Session): ์ ๋ฃ ๊ฐ์ ์์ฑ ๊ธฐ๋ฅ ๊ตฌํ\r\n\r\n* feat(Session): ์ ๋ก๊ฐ์ ์ ์ฒญ ๊ธฐ๋ฅ ๊ตฌํ\r\n\r\n* test(SessionTest): ๊ฒฐ์ ๊ธ์ก๊ณผ ์๊ฐ๋ฃ๊ฐ ๋ค๋ฅผ๋ ์์ธ ์ผ์ด์ค ์ถ๊ฐ\r\n\r\n* feat(Image): `Image` ๋๋ฉ์ธ ์์ฑ\r\n\r\n* feat(Sessions): ์ธ์
๋ฑ๋ก ๊ธฐ๋ฅ ๊ตฌํ\r\n\r\n* feat(Course): ๊ณผ์ ๋ฑ๋ก ๊ธฐ๋ฅ ๊ตฌํ\r\n\r\n* fix(Session): ์ต๋ ์ธ์ ํ์ธ ํ๋ validation ๋ก์ง ์ค๋ฅ ์์ \r\n\r\n* refactor(Image): ์บก์ํ ๋ฐ `ImageExtension` ์์ฑ\r\n\r\n* refactor(Image): `ImageInfo` -> `ImageMeta` ํด๋์ค๋ช
๋ณ๊ฒฝ\r\n\r\n* feat(Course): ๊ณผ์ ์๋ฅผ ๋ช๊ฐ ๊ฐ์ก๋์ง ํ์ธํ๋ ๊ธฐ๋ฅ ๊ตฌํ\r\n\r\n* refactor(Image): `Image` ํด๋์ค ๋ถ๋ฆฌ\r\n\r\n* refactor(Session): `Session` ํด๋์ค ๋ถ๋ฆฌ\r\n\r\n* fix: ํ์๊ด๋ฆฌ์ ๋๋ฝ๋ ํ์ผ ์ถ๊ฐ\r\n\r\n* refactor(Session): ์๋ฏธ ์๋ ๋น๊ณต๋ฐฑ๋ผ์ธ ์ ๊ฑฐ\r\n\r\n* feat(Enrollment): ๋ฑ๋ก ํ
์คํธ ์ผ์ด์ค ์ถ๊ฐ\r\n\r\n* refactor(Students): ์๋ฏธ์๋ `final` ์ญ์ \r\n\r\n* refactor(Enrollment): `Enrollment` ํด๋์ค์ `Object Mother Pattern` ๋์
\r\n\r\n* feat(Session): `Session` ํด๋์ค์ `Builder Pattern` ๋์
\r\n\r\n* refactor(Money): `equal` ๋์ ์ ์๋ฐ `Object` ์ `equals` ๋ฅผ ์ค๋ฒ๋ผ์ด๋ฉํด์ ๊ตฌํ\r\n\r\n* refactor(Enrollment): ์ฃผ ์์ฑ์๋ฅผ ์ด์ฉํ๋๋ก ์์ \r\n\r\n* refactor(Image): ์ฃผ์์ฑ์๋ฅผ ์ด์ฉํ๋๋ก ์์ \r\n\r\n* refactor: ๋ฏธ์ฌ์ฉ ์ฝ๋ ๋ฐ ์ฝ๋ ํฌ๋ฉง ์์ \r\n\r\n* feat(Session): ๊ฐ์๋ฅผ ๋ฑ๋กํ ํ์์ ๊ธฐ๋ฅ ๊ตฌํ\r\n\r\n* feat(Students): ์์ฑ์ ์ถ๊ฐ\r\n\r\n* refactor: ์ฃผ์์ฑ์๋ฅผ ๊ด๋ก์ ๋ฐ๋ฅด๋๋ก ์์ ","shortMessageHtmlLink":"[์๊ฐ์ ์ฒญ - ๋๋ฉ์ธ ๋ชจ๋ธ] step2 ๋ฏธ์
(#503)"}},{"before":"297a3982836232312af2e4bc8430d3dc2e2578d6","after":"1cb23d295c025eeaa212eaedfb81c74461b960f5","ref":"refs/heads/ljydapp214","pushedAt":"2024-04-26T00:14:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"๋ฐ ์ฌ์ฑ","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"4๋จ๊ณ Step2 ๋๋ฉ์ธ ๋ชจ๋ธ ๋ฆฌ๋ทฐ ์์ฒญ (#505)\n\n* DOCS : ์๊ตฌ์ฌํญ์ ๋ฐ๋ฅธ ํ
์คํธ ๋ชฉ๋ก ์์ฑ\r\n\r\n* REFACTOR : service ๋ด ๊ฐ์ฒด ์ญ์ ๋ก์ง์ ๊ฐ ๊ฐ์ฒด๋ก ์ด์ \r\n\r\n* FEAT : ์์ฑ์ ์ถ๊ฐ\r\n\r\n* TEST : ํ
์คํธ ๋ฆฌํฉํ ๋ง\r\n\r\n* REFACTOR : Answer ๊ฐ์ฒด์ ๋ํ ์ผ๊ธ ์ปฌ๋ ์
๊ตฌํ\r\n\r\n* REFACTOR : Answers ๊ฐ์ฒด ๋ด delete ๋ก์ง ๊ตฌํ\r\n\r\n* REFACTOR : DeleteHistory ๊ฐ์ฒด์ ๋ํ ์ผ๊ธ ์ปฌ๋ ์
๊ตฌํ\r\n\r\n* REFACTOR : ๋ฉ์๋ ์ด๋ฆ ๋ณ๊ฒฝ\r\n\r\n* REFACTOR : setter ์ ๊ฑฐ\r\n\r\n* DOCS : ํ
์คํธ ์ํ ๋ฆฌ์คํธ ์
๋ฐ์ดํธ\r\n\r\n* REFACTOR : ๋ณ์ ์ด๋ฆ ๋ณ๊ฒฝ\r\n\r\n* TEST : ParameterizedTest ๋ฅผ ํตํด ์ค๋ณต ํ
์คํธ ์ ๊ฑฐ\r\n\r\n* STYLE : ์ฃผ์ ์ ๊ฑฐ\r\n\r\n* CHG : Exception ๋ฉ์์ง ๋ณ๊ฒฝ\r\n\r\n* REFACTOR : ๋ฐ์ดํฐ ์ด๋ฐ ์ญํ ๋ง ํ๋ DeletedDataHistories ํด๋์ค ์ญ์ \r\n\r\n* REFACTOR : ์ญ์ ๋ก์ง ๋ฐ DeleteHistory ์์ฑ ๋ก์ง ๋ถ๋ฆฌ\r\n\r\n* CHG : ๋๋ฑ์ฑ ํ๋จ ์กฐ๊ฑด ๋ณ๊ฒฝ\r\n\r\n* REFACTOR : ์ญ์ ์ ์์ฑ ๋ก์ง ๋ถ๋ฆฌ\r\n\r\n* CHG : ์ฌ์ฉํ์ง ์๋ ์์ฑ์ ์ ๊ฑฐ\r\n\r\n* TEST : ํ
์คํธ ์ฝ๋ ์์ \r\n\r\n* FEAT : ๊ฐ์ ์ปค๋ฒ ์ด๋ฏธ์ง ์ ๋ณด ๋๋ฉ์ธ ๊ตฌํ\r\n\r\n* FEAT : ์ด๋ฏธ์ง ํ์ฅ์ ํด๋์ค ๊ตฌํ\r\n\r\n* FEAT : ๊ฐ์ ์ปค๋ฒ ์ด๋ฏธ์ง ์ ๋ณด ๋๋ฉ์ธ ๊ตฌํ\r\n\r\n* TEST : ํ
์คํธ ์ฝ๋ ์์ฑ\r\n\r\n* FEAT : ๊ฐ์ ๋๋ฉ์ธ ๊ตฌํ\r\n\r\n* TEST : ๊ฐ์ ๋๋ฉ์ธ ํ
์คํธ ์ฝ๋ ์์ฑ\r\n\r\n* FEAT : ์ฌ์ฉํ์ง ์๋ ๋ฉ์๋ ์ ๊ฑฐ\r\n\r\n* FEAT : ๋ฌด๋ฃ๊ฐ์์ ๋ํ ์์ฑ์ ์ถ๊ฐ\r\n\r\n* FEAT : ํ
์คํธ ์ฝ๋ ์ธ๋ถํ\r\n\r\n* FEAT : Course ๋ด session ๊ตฌํ\r\n\r\n* FEAT : FreeOrPaid ๊ฐ์ฒด ๊ตฌํ\r\n\r\n* FEAT : Duration ๊ฐ์ฒด ๊ตฌํ\r\n\r\n* FEAT : AttendeeCount ๊ฐ์ฒด ๊ตฌํ\r\n\r\n* TEST : ํ
์คํธ ์ฝ๋ ๋ถ๋ฆฌ\r\n\r\n* REFACTOR : Session ๊ฐ์ฒด ๋ฆฌํฉํ ๋ง\r\n\r\n* TEST : ๋ฆฌํฉํ ๋ง์ ๋ฐ๋ฅธ ํ
์คํธ ์ฝ๋ ๋ณ๊ฒฝ\r\n\r\n* FEAT : session ๊ณผ ImageInfo ๋ฅผ ๋ฌถ๋ ์ ๊ท ๊ฐ์ฒด ๊ตฌํ\r\n\r\n* CHG : SessionGroup ์ ์ปฌ๋ ์
๋์ ๋ณ๊ฒฝ\r\n\r\n* CHG : java ๋ด Duration ํด๋์ค์ ๊ตฌ๋ถํ๊ธฐ ์ํด ํด๋์ค ์ด๋ฆ ๋ณ๊ฒฝ\r\n\r\n* FEAT : ์์ ๋ ์ง์ ์ข
๋ฃ ๋ ์ง์ ๊ฒ์ฆ ๋ก์ง ์ถ๊ฐ\r\n\r\n* FEAT : ํ์ฉ๋ ํ์ผ ํ์ฅ์์ ๋ฆฌ์คํธ๋ฅผ enum ์ผ๋ก ์ ํ\r\n\r\n* FEAT : ์ด๋ฏธ์ง ํ์ฅ์๋ฅผ enum ์ผ๋ก ๋ณ๊ฒฝํ์ฌ ๊ตฌํ\r\n\r\n* CHG : ํด๋์ค ์ด๋ฆ ๋ณ๊ฒฝ\r\n\r\n* FEAT : ์๊ฐ ์ ์ฒญ ํด๋์ค ๊ตฌํ\r\n\r\n* TEST : ํ
์คํธ ์ฝ๋ ๊ตฌํ\r\n\r\n* FEAT : ์๊ฐ๋ฃ ํด๋์ค ๊ตฌํ\r\n\r\n* FEAT : ์ ๊ท custom exception ์ถ๊ฐ\r\n\r\n* CHG : ํด๋์ค ์ด๋ฆ ๋ณ๊ฒฝ\r\n\r\n* CHG : ๋ฉค๋ฒ ๋ณ์๋ค์ ํ์
๋ณ๊ฒฝ\r\n\r\n* CHG : ๊ธฐ์ค๊ฐ์ ์์ ์ฒ๋ฆฌ\r\n\r\n* TEST : ํ
์คํธ ์ฝ๋ ์์ฑ\r\n\r\n* CU : ์ฌ์ฉํ์ง ์๋ ํด๋์ค ์ญ์ \r\n\r\n* REFACTOR : ํจํค์ง ๋ฆฌํฉํ ๋ง","shortMessageHtmlLink":"4๋จ๊ณ Step2 ๋๋ฉ์ธ ๋ชจ๋ธ ๋ฆฌ๋ทฐ ์์ฒญ (#505)"}},{"before":"fbdde3b3c7958478fda59096c150b490735067b7","after":"41340afdfd3cf0e802e486950c1d994af80646d1","ref":"refs/heads/astrid-dm","pushedAt":"2024-04-25T12:49:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"seondongpyo","name":"Seondong Pyo","path":"/seondongpyo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/64854054?s=80&v=4"},"commit":{"message":"๐ 4๋จ๊ณ - ์๊ฐ์ ์ฒญ(์๊ตฌ์ฌํญ ๋ณ๊ฒฝ) (#525)\n\n* feat : ์ปค๋ฒ ์ด๋ฏธ์ง๋ฅผ ์ต์ 1๊ฐ ์ด์ ์ ์ฅํ๊ธฐ ์ํ repository ์์ฑ\r\n\r\n* docs : ์ปค๋ฒ ์ด๋ฏธ์ง๋ฅผ ์ต์ 1๊ฐ ์ด์ ๊ฐ๋ ์กฐ๊ฑด ์ถ๊ฐ\r\n\r\n* feat : ์๊ฐ์ ์ฒญ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ๊ฐ์ฒด์ Repository, TC ์์ฑ\r\n\r\n* chore : Course์ ํจํค์ง ๊ฒฝ๋ก ๋ณ๊ฒฝ\r\n\r\n* refactor : ์๊ตฌ์ฌํญ์ ๋ฐ๋ผ Session ๊ฐ์ฒด, Repository, TC ์์ \r\n\r\n* feat : ์๊ตฌ์ฌํญ์ ๋ฐ๋ผ ๋ฌด๋ฃ ๊ฐ์, ์ ๋ฃ ๊ฐ์์ ๊ฐ์ฒด ์ ๋ณด ๋ฐ TC ์์ \r\n\r\n* chore : ๊ธฐํ ์ฝ๋ ์ ๋ฆฌ\r\n\r\n* sql : schema ๋ด์ฉ ์์ \r\n\r\n* docs : readme ์
๋ฐ์ดํธ\r\n\r\n* refactor : ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฐ์\r\n\r\n- information ๋ช
์นญ ์ ๊ฑฐ\r\n- ๋ถํ์ํ ๋ฉ์๋ ์ ๊ฑฐ\r\n\r\n* refactor : ์ ์ ํฉํ ๋ฆฌ ๋ฉ์๋๋ก ๊ฐ์ ๊ฐ์ฒด ์์ฑ\r\n\r\n* fix : ์ ๋ฐ๋ ์ธ์์ ํํ์ฌ ๊ฐ์ฌ๊ฐ ์๊ฐ์ ์ฒญ ์น์ธ, ์ทจ์ํ๋ ๋ก์ง ์ถ๊ฐ\r\n\r\n* refactor : ์ปค๋ฒ ์ด๋ฏธ์ง ์ผ๋ถ ๋ก์ง ์์ ","shortMessageHtmlLink":"๐ 4๋จ๊ณ - ์๊ฐ์ ์ฒญ(์๊ตฌ์ฌํญ ๋ณ๊ฒฝ) (#525)"}},{"before":"9b7c4e1b54080c87ae0ec69c25a9c79d03fc0bee","after":"017559fc4a8ad49e97345adaddf3a7c0b7380ccb","ref":"refs/heads/jaejeong1","pushedAt":"2024-04-25T02:19:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"๋ฐ ์ฌ์ฑ","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"Step3 (#526)\n\n* refactor: 2๋จ๊ณ ํผ๋๋ฐฑ ๋ฐ์\r\n\r\n* feat: 3๋จ๊ณ ๊ตฌํ\r\n\r\n* feat: ํจํค์ง๋ช
์๋ฌธ์๋ก ๋ณ๊ฒฝ\r\n\r\n* feat: ํจํค์ง๋ช
์๋ฌธ์๋ก ๋ณ๊ฒฝ\r\n\r\n* feat: 3๋จ๊ณ ํผ๋๋ฐฑ ์ ์ฉ\r\n\r\n* feat: ํผ๋๋ฐฑ ๋ฐ์\r\n\r\n---------\r\n\r\nCo-authored-by: socar-cloud ","shortMessageHtmlLink":"Step3 (#526)"}},{"before":"325a85230e24617db31db06f0ef3bf7eb20d04c8","after":"b285429fcbc42721ececa2cfcc5d0a9eb95cd862","ref":"refs/heads/kylekim2123","pushedAt":"2024-04-24T07:57:59.000Z","pushType":"pr_merge","commitsCount":26,"pusher":{"login":"ksy90101","name":"SeYun(Marco)","path":"/ksy90101","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/53366407?s=80&v=4"},"commit":{"message":"Merge pull request #523 from kylekim2123/step3\n\n[STEP 3] ์๊ฐ ์ ์ฒญ DB ์ ์ฉ (kylekim2123, ๊น์์ฃผ)","shortMessageHtmlLink":"Merge pull request #523 from kylekim2123/step3"}},{"before":"de587b9b414b8ec9ce8f32cf255ec1be8a8670a2","after":"fd572f2b626b3744e1efb1435e51c3b286a117d8","ref":"refs/heads/kimsunghyun1995","pushedAt":"2024-04-23T09:09:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"๋ฐ ์ฌ์ฑ","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"๐ 1๋จ๊ณ - ๋ ๊ฑฐ์ ์ฝ๋ ๋ฆฌํฉํฐ๋ง (#521)\n\n* doc: ์๊ตฌ์ฌํญ ๋ช
์ธ์ ์์ฑ\r\n\r\n* test: ํ
์คํธ ๋ถํฐ ์์ฑ\r\n\r\n* feat: ์ผ๊ธ์ปฌ๋ ์
์์ฑ ํ, ์์ ๋ง ์ด ๋ต๊ธ์ธ์ง ํ์ธํ๋ ๋ฉ์๋ ์ถ๊ฐ\r\n\r\n* test: Answers ์ญ์ ํ
์คํธ\r\n\r\n* feat: Answers ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ\r\n\r\n* test: question ์ญ์ ํ
์คํธ\r\n\r\n* feat: Question์์ Answers์ ์ญ์ ๋ฉ์์ง ์ ๋ฌ\r\n\r\n* test: ์ญ์ ํ์คํ ๋ฆฌ ๊ธฐ๋ฅ TDD\r\n\r\n* feat: ์ญ์ ํ์คํ ๋ฆฌ ์ ์ฅ ๊ตฌํ\r\n\r\n* refactor: service ๋ถ๋ถ ๋ฆฌํฉํ ๋ง\r\n\r\n* refacotr: formatting ๋ฆฌํฉํ ๋ง\r\n\r\n* refactor: deleteHistories ๋งค๊ฐ๋ณ์๋ก ๋๊ธฐ์ง ์๊ณ , return ์ผ๋ก ๋ฐ๋๋ก ๋ฆฌํฉํ ๋ง\r\n\r\n* refactor: ์ ๊ทผ์ ํ์ ๋ณ๊ฒฝ\r\n\r\n* refactor: fianl ํค์๋ ์ถ๊ฐ\r\n\r\n* refactor: answer ์ญ์ ๋ฅผ ์ธ๋ถ๊ฐ ์๋ ๋ฉ์์ง ์ ๋ฌ\r\n\r\n* test: ํ
์คํธ์ฝ๋ ์คํจ ์์ \r\n\r\n* refactor: List์ ์ธ๋ถ์์ ๋ฐ๋ ๊ฒ์ด ์๋ return์ผ๋ก ์์ \r\n\r\n* test: ๋ต๋ณ์ญ์ ์ฑ๊ณต ํ
์คํธ\r\n\r\n* test: ์ง๋ฌธ ์ญ์ ํ
์คํธ\r\n\r\n* refactor: question ์ญ์ ์ ์ธ๋ถ ์ ๊ทผ ์๋๋ก ์์ ","shortMessageHtmlLink":"๐ 1๋จ๊ณ - ๋ ๊ฑฐ์ ์ฝ๋ ๋ฆฌํฉํฐ๋ง (#521)"}},{"before":"29a53791c6d135e3f4c52b2d2dae0bb517510bbb","after":"25332e09b62b062d94feeb55a38e8626240fff4f","ref":"refs/heads/sm9171","pushedAt":"2024-04-23T08:52:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"๋ฐ ์ฌ์ฑ","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"2๋จ๊ณ - ์๊ฐ์ ์ฒญ(๋๋ฉ์ธ ๋ชจ๋ธ) (#522)\n\n* docs: 2๋จ๊ณ ์๊ตฌ์ฌํญ\r\n\r\n* feat: ๊ณผ์ ์ ๊ธฐ์๋ฅผ ๊ฐ์ง๊ณ ์์ฑ๋๋ค test ๋ฐ ๊ธฐ๋ฅ ๊ตฌํ\r\n\r\n* test: ๊ณผ์ ์ ์ฌ๋ฌ ๊ฐ์ ๊ฐ์๋ฅผ ๊ฐ์ง๊ณ ์์ฑ๋๋ค. fail test\r\n\r\n* feat: ๊ฐ์ ๋๋ฉ์ธ ์์ฑ\r\n* ๊ณผ์ ์ ์ฌ๋ฌ ๊ฐ์ ๊ฐ์(Session)๋ฅผ ๊ฐ์ง ์ ์๋ค. ์ผ์ด์ค ํต๊ณผ\r\n* ๊ฐ์๋ ์์์ผ๊ณผ ์ข
๋ฃ์ผ์ ๊ฐ์ง๋ค. ์ผ์ด์ค ํต๊ณผ\r\n\r\n* feat: image ๋๋ฉ์ธ ์์ฑ\r\n\r\n* refactor: ImageSize ๋ํผํด๋์ค ์์ฑ ๋ฐ ํ
์คํธ ์ฑ๊ณต\r\n* '์ด๋ฏธ์ง ํฌ๊ธฐ๋ 1MB ์ดํ์ฌ์ผ ํ๋ค' ํ
์คํธ ์ฑ๊ณต\r\n\r\n* refactor: ImageHeight, ImageWidth ๋ํผํด๋์ค ์์ฑ ๋ฐ ํ
์คํธ ์ฑ๊ณต\r\n* '์ด๋ฏธ์ง์ width๋ 300ํฝ์
, height๋ 200ํฝ์
์ด์์ด์ด์ผ ํ๋ฉฐ, width์ height์ ๋น์จ์ 3:2์ฌ์ผ ํ๋ค.' ํ
์คํธ ์ฑ๊ณต\r\n\r\n* refactor: image, session ๋๋ฉ์ธ ๋ถ๋ฆฌ\r\n\r\n* feat: Seccions ์ผ๊ธ ์ปฌ๋์
์์ฑ\r\n\r\n* feat: ๋ฌด๋ฃ๊ฐ์, ์ ๋ฃ๊ฐ์ ํ์
์์ฑ, ํ
์คํธ 2๊ฐ ์ฑ๊ณต\r\n- '๋ฌด๋ฃ ๊ฐ์๋ ์ต๋ ์๊ฐ ์ธ์ ์ ํ์ด ์๋ค' ํ
์คํธ ์ฑ๊ณต\r\n- '์ ๋ฃ ๊ฐ์๋ ๊ฐ์ ์ต๋ ์๊ฐ ์ธ์์ ์ด๊ณผํ ์ ์๋ค.' ํ
์คํธ ์ฑ๊ณต\r\n\r\n* feat: '์ ๋ฃ ๊ฐ์๋ ์๊ฐ์์ด ๊ฒฐ์ ํ ๊ธ์ก๊ณผ ์๊ฐ๋ฃ๊ฐ ์ผ์นํ ๋ ์๊ฐ ์ ์ฒญ์ด ๊ฐ๋ฅ' ํ
์คํธ ์ฑ๊ณต\r\n\r\n* feat: '๊ฐ์ ์๊ฐ์ ์ฒญ์ ๊ฐ์ ์ํ๊ฐ ๋ชจ์ง์ค์ผ ๋๋ง ๊ฐ๋ฅ' ํ
์คํธ ์ฑ๊ณต\r\n\r\n* refactor: ์ฌ์ฉ์ํ๋ ํ
์คํธ ์ ๊ฑฐ\r\n\r\n* refactor: imageWidth, imageHeight ํ๋๋ช
๋ณ๊ฒฝ\r\n\r\n* refactor: EndedAt, StartedAt ๋ํํด๋์ค๋ก ๋ถ๋ฆฌ\r\n\r\n* refactor: sessionType description ํ๋ ์ถ๊ฐ\r\n\r\n* refactor: Charge,Enrollment,SessionInfo ํด๋์ค ๋ถ๋ฆฌ\r\n\r\n* test: payment ์๋ฃ ํ
์คํธ ์ฑ๊ณต\r\n\r\n* test: ๊ฒฐ์ ๊ธ์ก๊ณผ ๊ฐ์๊ธ์ก์ด ๋ค๋ฅด๋ฉด ๊ฒฐ์ ๊ฐ ๋์ง ์๋๋ค\r\n\r\n* refactor: Payment ์์ฑ์์ ChargeStatus ์ธ์๊ฐ ์ถ๊ฐ","shortMessageHtmlLink":"2๋จ๊ณ - ์๊ฐ์ ์ฒญ(๋๋ฉ์ธ ๋ชจ๋ธ) (#522)"}},{"before":"6f61ffc7cb3d6fc64cfb65580652b7959d5fac28","after":"8d24061980025e5b0472e4f91495f66cedf972e1","ref":"refs/heads/park-cheonho","pushedAt":"2024-04-23T08:30:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"javajigi","name":"๋ฐ ์ฌ์ฑ","path":"/javajigi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/520500?s=80&v=4"},"commit":{"message":"Step2 ๋ฆฌ๋ทฐ ์์ฒญ ๋๋ฆฝ๋๋ค. (#506)\n\n* refactor: ๋ฏธ์ฌ์ฉ ์ฝ๋ ์ ๊ฑฐ\r\n\r\nrefactor: ๋ฏธ์ฌ์ฉ ์ฝ๋ ์ ๊ฑฐ\r\n\r\n* refactor: DeleteHistory ๊ตฌ์กฐ ๋ณ๊ฒฝ\r\n\r\nrefactor: DeleteHistory ๊ตฌ์กฐ ๋ณ๊ฒฝ\r\n\r\n* docs: step1 ์ ๋ฆฌ\r\n\r\ndocs: step1 ์ ๋ฆฌ\r\n\r\n* docs: step2 ์๊ตฌ์ฌํญ ๋ฐ ๊ตฌ์กฐ ๊ตฌ์\r\n\r\ndocs: step2 ์๊ตฌ์ฌํญ ๋ฐ ๊ตฌ์กฐ ๊ตฌ์\r\n\r\n* test: ๋ฌด๋ฃ ๊ฐ์ ํ
์คํธ ์ฝ๋\r\n\r\ntest: ๋ฌด๋ฃ ๊ฐ์ ํ
์คํธ ์ฝ๋\r\n\r\n* feat: ๋ฌด๋ฃ ๊ฐ์ ๋๋ฉ์ธ ๊ฐ๋ฐ\r\n\r\nfeat: ๋ฌด๋ฃ ๊ฐ์ ๋๋ฉ์ธ ๊ฐ๋ฐ\r\n\r\n* test: CoverImage ํ
์คํธ ์ฝ๋\r\n\r\ntest: CoverImage ํ
์คํธ ์ฝ๋\r\n\r\n* feat: CoverImage ๊ธฐ๋ฅ ๊ตฌํ\r\n\r\nfeat: CoverImage ๊ธฐ๋ฅ ๊ตฌํ\r\n\r\n* test: ์ ๋ฃ๊ฐ์ ํ
์คํธ ์ฝ๋\r\n\r\ntest: ์ ๋ฃ๊ฐ์ ํ
์คํธ ์ฝ๋\r\n\r\n* feat: ์ ๋ฃ๊ฐ์ ๊ธฐ๋ฅ ๊ตฌํ\r\n\r\nfeat: ์ ๋ฃ๊ฐ์ ๊ธฐ๋ฅ ๊ตฌํ\r\n\r\n* feat: ๊ฐ์ ๊ธฐ๊ฐ ๋ฐ ์ํ ๊ธฐ๋ฅ ๊ตฌํ\r\n\r\nfeat: ๊ฐ์ ๊ธฐ๊ฐ ๋ฐ ์ํ ๊ธฐ๋ฅ ๊ตฌํ\r\n\r\n* test: Course ํ
์คํธ\r\n\r\ntest: Course ํ
์คํธ\r\n\r\n* feat: Course ๊ธฐ๋ฅ ๊ตฌํ๊ณผ Sessions ์ผ๊ธ์ปฌ๋์
๊ตฌํ\r\n\r\nfeat: Course ๊ธฐ๋ฅ ๊ตฌํ๊ณผ Sessions ์ผ๊ธ์ปฌ๋์
๊ตฌํ\r\n\r\n* docs: ๋ฆฌ๋ทฐ๋ด์ฉ ์ ๋ฆฌ\r\n\r\ndocs: ๋ฆฌ๋ทฐ๋ด์ฉ ์ ๋ฆฌ\r\n\r\n* refactor: SessionFee Long -> BigDecimal\r\n\r\nrefactor: SessionFee Long -> BigDecimal\r\n\r\n* refactor: ImageType ๋ฉ์๋ ๋ช
of -> from\r\n\r\nrefactor: ImageType ๋ฉ์๋ ๋ช
of -> from\r\n\r\n* refactor: PaidSession ๊ฐ์ฒด์งํฅ ์ํ ์ฒด์กฐ ์์น ์ค์\r\n\r\nrefactor: PaidSession ๊ฐ์ฒด์งํฅ ์ํ ์ฒด์กฐ ์์น ์ค์\r\n\r\n* docs: TIL ์์ฑ\r\n\r\ndocs: TIL ์์ฑ\r\n\r\n* docs: TIL ์์ฑ\r\n\r\ndocs: TIL ์์ฑ\r\n\r\n* test: ์ด๋ฏธ ์๊ฐ ์ ์ฒญ ํ ํ์ ํ์
\r\n\r\ntest: ์ด๋ฏธ ์๊ฐ ์ ์ฒญ ํ ํ์ ํ์
\r\n\r\n* test: ์ด๋ฏธ ๋ฑ๋กํ ์ ์ ๋ชฉ๋ก ์ถ๊ฐ\r\n\r\ntest: ์ด๋ฏธ ๋ฑ๋กํ ์ ์ ๋ชฉ๋ก ์ถ๊ฐ\r\n\r\n* refactor: ์ด๋ฏธ ๋ฑ๋กํ ์ ์ ๋ชฉ๋ก ์ถ๊ฐ, ๊ธฐ๋ฑ๋ก ํ์ ๊ฒ์ฆ ์ถ๊ฐ\r\n\r\nrefactor: ์ด๋ฏธ ๋ฑ๋กํ ์ ์ ๋ชฉ๋ก ์ถ๊ฐ, ๊ธฐ๋ฑ๋ก ํ์ ๊ฒ์ฆ ์ถ๊ฐ\r\n\r\n* refactor: ์ด๋ฏธ ๋ฑ๋กํ ์ ์ ๋ชฉ๋ก ์ถ๊ฐ, ๊ธฐ๋ฑ๋ก ํ์ ๊ฒ์ฆ ์ถ๊ฐ\r\n\r\nrefactor: ์ด๋ฏธ ๋ฑ๋กํ ์ ์ ๋ชฉ๋ก ์ถ๊ฐ, ๊ธฐ๋ฑ๋ก ํ์ ๊ฒ์ฆ ์ถ๊ฐ","shortMessageHtmlLink":"Step2 ๋ฆฌ๋ทฐ ์์ฒญ ๋๋ฆฝ๋๋ค. (#506)"}},{"before":"49fa72ef4b5c47454766be8f311a0e2153c9f9b6","after":"9b7c4e1b54080c87ae0ec69c25a9c79d03fc0bee","ref":"refs/heads/jaejeong1","pushedAt":"2024-04-20T06:14:14.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"mskangg","name":"Minsu Kang","path":"/mskangg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/27044096?s=80&v=4"},"commit":{"message":"Merge pull request #509 from jaejeong1/step2\n\nStep2","shortMessageHtmlLink":"Merge pull request #509 from jaejeong1/step2"}},{"before":"fae4f036c1209979eaf971123e4550756c3067b3","after":"997f04d1c96dadfccd3edf3f36f9d4e324ac014a","ref":"refs/heads/hellonayeon","pushedAt":"2024-04-20T02:47:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"testrace","name":null,"path":"/testrace","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8064743?s=80&v=4"},"commit":{"message":"๐ 4๋จ๊ณ - ์๊ฐ์ ์ฒญ(์๊ตฌ์ฌํญ ๋ณ๊ฒฝ) (#508)\n\n* Refactor: (Feedback) ๋ถํ์ํ๊ฒ sesionId ๋ฅผ ์ํ๋ก ๊ฐ๊ณ ์๋ ๋๋ฉ์ธ ์ผ๊ด ์์ (Capacity, Enrollment, Fee)\r\n\r\n* Refactor: SessionPeriod ๊ฐ์ฒด ์์ฑ ์ ํจ์ฑ ๊ฒ์ฆ ๋ฉ์๋๋ช
์์ \r\n- ๋๋ฉ์ธ ๊ฐ์ฒด ์์ฑ ์ ํจ์ฑ ๊ฒ์ฆ ๋ฉ์๋๋ช
validate() ํต์ผ\r\n\r\n* Refactor: (Feedback) SessionStudent ์ ์ ํฉํ ๋ฆฌ ๋ฉ์๋ ์์น ์์ (์์ฑ์๋ณด๋ค ์๋ ์์น)\r\n\r\n* Refactor: (Feedback) SessionEnrollment ๋ถ์์ฑ์๊ฐ ์ฃผ์์ฑ์๋ฅผ ํ์ฉํ๋๋ก ์์ \r\n\r\n* Test: CourseRepository Optional ๋ฐํ ๋จ์ ํ
์คํธ ์์ฑ\r\n\r\n* Refactor: (Feedback) Course findById() ์ ์กฐํ๋ Row ๊ฐ ์์ผ๋ฉด Optional.empty() ๋ฆฌํดํ๋๋ก ์์ธ์ฒ๋ฆฌ\r\n\r\n* Session, SessionCoverImage Repository findById() Optional ๋ฆฌํด ์ผ์ด์ค ๋จ์ ํ
์คํธ ์์ฑ\r\n\r\n* Refactor: (Feedback) Repository.findById() ๋ก ์กฐํ๋ Row ๊ฐ ์๋ ๊ฒฝ์ฐ Optional ๋ฆฌํดํ๋๋ก ์์ธ์ฒ๋ฆฌ\r\n\r\n* Test: SessionStudentRepository ์กฐํ๋ ROW ๊ฐ ์๋ ๊ฒฝ์ฐ์ ํ์ต ํ
์คํธ ์์ฑ\r\n\r\n* Feature: ๊ฐ์ ์งํ์ํ์ ๋ชจ์ง์ํ ์ถ๊ฐ\r\n\r\n* Feature: ๊ฐ์ ์งํ์ํ, ๋ชจ์ง์ํ์ ๋ํ ์ปค์คํ
์์ธ ์ถ๊ฐ\r\n\r\n* Fix: ๊ฐ์ ์ํ ์ถ๊ฐ์ ๋ฐ๋ฅธ ์ฐ๊ด ๋๋ฉ์ธ ํด๋์ค ์์ \r\n\r\n* Feature: ๊ฐ์ ์งํ์ํ, ๋ชจ์ง์ํ DB ์ปฌ๋ผ ์ถ๊ฐ\r\n\r\n* Test: ๊ฐ์ ์ํ ๋ณ๊ฒฝ์ ๋ฐ๋ฅธ ๋จ์ ํ
์คํธ ์ผ๊ด ์์ \r\n\r\n* Test: ํ
์คํธ ํจํค์ง enrollment ํจํค์ง ๋ถ๋ฆฌ\r\n\r\n* Test: ์งํ์ํ์ ๋ชจ์ง์ํ ๋ณํ์ ๋ํ ๋จ์ ํ
์คํธ ์์ฑ\r\n\r\n* Feature: ๊ฐ์๊ฐ ํ๋ ์ด์์ ์ปค๋ฒ ์ด๋ฏธ์ง๋ฅผ ๊ฐ๋๋ก ๋ณ๊ฒฝ\r\n\r\n* Feature: List ๋ฅผ ์ ์ฅํ๊ณ ์กฐํํ๋๋ก SessionCoverImageRepository ์์ \r\n\r\n* Test: SessionCoverImageRepository ์ ์ฅ, ์กฐํ ๋จ์ ํ
์คํธ ์์ \r\n\r\n* Docs: ์๊ตฌ์ฌํญ ๋ฌธ์ ์์ - Session, SessionStatus ํญ๋ชฉ ์์ \r\n\r\n* Docs: StudentEnrollmentStatus ํญ๋ชฉ ์ถ๊ฐ\r\n\r\n* Refactor: domain.student ํจํค์ง ์ถ๊ฐ\r\n\r\n* Feature: ์๊ฐ์ ์ฒญ ์น์ธ ๊ธฐ๋ฅ ๊ตฌํ\r\n\r\n* Feature: ์๊ฐ์ ์ ์ฒญ ์ํ ์ถ๊ฐ\r\n\r\n* Feature: ์๊ฐ์ ์ ์ฒญ ์ํ Column ์ถ๊ฐ\r\n\r\n* Feature: ์๊ฐ์(SessionStudent) ์ฟผ๋ฆฌ ์์ - EnrollmentStauts ์ถ๊ฐ\r\n\r\n* Test: ์๊ฐ์ ์ ์ฒญ ์ํ ๋จ์ ํ
์คํธ ์์\r\n\r\n* Test: SessionStudents ์๊ฐ ์ ์ฒญ ์น์ธ ๋จ์ ํ
์คํธ ์์ฑ\r\n\r\n* Feature: ๊ฐ์ ์๊ฐ์ ์น์ธ ์๋น์ค ๋ก์ง ๊ตฌํ\r\n\r\n* Refactor: ์๊ฐ์ ์ ์ฒญ ์ํ ์
๋ฐ์ดํธ DB ์ ์ฅ ๊ตฌํ\r\n\r\n* Refactor: SessionStudents ๋ฅผ ๋ฐํ, ์
๋ฐ์ดํธ ํ๋๋ก SessionStudentRepository ์์ \r\n\r\n* Refactor: ์๊ฐ์ ์น์ธ / ์ทจ์ ์ํ ์
๋ฐ์ดํธ ๋ฉ์๋ ๋ถ๋ฆฌ\r\n\r\n* Test: SessionStudentRepository.updateAll() ๋ฉ์๋ ๋จ์ ํ
์คํธ ์ถ๊ฐ\r\n\r\n* Test: SessionStudents ์๊ฐ ์ทจ์ ์ํ ์
๋ฐ์ดํธ ๋จ์ ํ
์คํธ ์ถ๊ฐ\r\n\r\n* Feature: SessionStudentService ๋ถ๋ฆฌ\r\n\r\n* Fix: SessionStudents ์์ฑ ์ ์์ ๊ฐ๋ฅํ ๋ฆฌ์คํธ๋ฅผ ์์ฑํ๋๋ก ์์ \r\n\r\n* Refactor: ๊ฒฐ์ ์์ฒญ ์ SessionFee ๊ฐ ์๋๋ผ, Long amount ๋ฅผ ์ธ์๋ก ๋ฐ๋๋ก ์์ \r\n\r\n* Refactor: ์ฌ๋ฌ๊ฐ์ ์ปค๋ฒ ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ง ์ ์๋ ์๊ตฌ์ฌํญ ์ถ๊ฐ์ ๋ฐ๋ฅธ, Session.coverImage > coverImages ๋ค์ด๋ฐ ์์ \r\n\r\n* Test: SessionService ๋จ์ ํ
์คํธ ์์ฑ\r\n\r\n* Test: SessionFixture ์์ - freeSession(), paidSession() ํฝ์ค์ณ ์์ฑ ๋ถ๋ฆฌ\r\n\r\n* Refactor: (Feedback) Session.ProgressStatus, SessionEnrollment.RecruitmentStatus ์ํ ์ถ๊ฐ (์ ์ง์ ๋ฆฌํฉํ ๋ง)\r\n\r\n* Refactor: SessionStatus ์ ๊ฑฐ - ProgressStatus, RecruitmentStatus ๋
๋ฆฝ์ ์ธ ์ํ๋ก ๋ถ๋ฆฌ\r\n\r\n* Refactor: courses.session ํจํค์ง ์ถ๊ฐ\r\n\r\n* Refactor: (Feedback) RecruitmentStatus ํด๋์ค ํจํค์ง ์ด๋ (enrollment ํ์๋ก ์ด๋)\r\n\r\n* Refactor: SessionRepository ๋ด๋ถ์์ SessionCoverImage, SessionStudents ์กฐํํด์ ๋ฆฌํดํ๋๋ก ์์ \r\n\r\n* Refactor: ๋ฏธ์ฌ์ฉ ๊ฐ์ฒด ์์ฑ ๋ฉ์๋ ์ ๊ฑฐ\r\n\r\n* Test: SessionService ๋ถํ์ Stubbing ์ ๊ฑฐ\r\n\r\n* Refactor: (Feedback) schema.sql session_student.enrollment_status ๊ธฐ๋ณธ ์ํ๊ฐ ์ถ๊ฐ๋ฅผ ์ํ ALERT TABLE ์ฟผ๋ฆฌ ์ถ๊ฐ\r\n\r\n* Feature: (Feedback) ๊ฐ์์ ๋ชจ๋ ์๊ฐ์ ์กฐํ ์๋น์ค ๋ฉ์๋ ์ถ๊ฐ\r\n\r\n* Delete: ๋ฏธ์ฌ์ฉ ์ฝ๋ ์ ๊ฑฐ\r\n\r\n* Test: ํ
์คํธ ํจํค์ง๋ฅผ ๋ฉ์ธ ํจํค์ง์ ๋๊ธฐํ (status ํจํค์ง ์ ๊ฑฐ, session ํจํค์ง ์ถ๊ฐ)","shortMessageHtmlLink":"๐ 4๋จ๊ณ - ์๊ฐ์ ์ฒญ(์๊ตฌ์ฌํญ ๋ณ๊ฒฝ) (#508)"}},{"before":"708db9bd445725cc92b07de5a55f5de7fb704f18","after":"eda9860cf82c359b17edc17e20bfd2f40c46a1cf","ref":"refs/heads/hisomini","pushedAt":"2024-04-19T14:05:01.000Z","pushType":"pr_merge","commitsCount":19,"pusher":{"login":"wooobo","name":"wooobo","path":"/wooobo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12059592?s=80&v=4"},"commit":{"message":"Merge pull request #520 from hisomini/db-table-mapping\n\n3๋จ๊ณ - ์๊ฐ์ ์ฒญ(DB ์ ์ฉ)","shortMessageHtmlLink":"Merge pull request #520 from hisomini/db-table-mapping"}},{"before":"af6c823d530305de556a38702f564cf5f1c82a9f","after":"d76b20471d5ab0bdc2b9dc07c601e51c93c50b13","ref":"refs/heads/jjihye-hyun","pushedAt":"2024-04-19T12:45:58.000Z","pushType":"pr_merge","commitsCount":6,"pusher":{"login":"catsbi","name":"Catsbi","path":"/catsbi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/43158866?s=80&v=4"},"commit":{"message":"Merge pull request #518 from jjihye-hyun/step2\n\nStep2 ๋ฆฌ๋ทฐ ์์ฒญ๋๋ฆฝ๋๋ค!","shortMessageHtmlLink":"Merge pull request #518 from jjihye-hyun/step2"}},{"before":"48086e45c9eabe462610b550c59d919f36fdb4c8","after":"c8a059129eda82c1f4ee55734e30ec228b662ae7","ref":"refs/heads/sunheejo","pushedAt":"2024-04-19T00:44:24.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"neojjc2","name":null,"path":"/neojjc2","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/68527004?s=80&v=4"},"commit":{"message":"Merge pull request #516 from SunheeJo/step2\n\n[2๋จ๊ณ-์๊ฐ์ ์ฒญ(๋๋ฉ์ธ ๋ชจ๋ธ) ๊ตฌํ","shortMessageHtmlLink":"Merge pull request #516 from SunheeJo/step2"}},{"before":"64b7c59334f31367e2b58ffa2c30ba1621c1b9a6","after":"22ff1d1b940b7de7e66377f749a703e22508de4b","ref":"refs/heads/jioome","pushedAt":"2024-04-18T16:17:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dhmin5693","name":"luke","path":"/dhmin5693","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15965611?s=80&v=4"},"commit":{"message":"๐ 3๋จ๊ณ - ์๊ฐ์ ์ฒญ(DB ์ ์ฉ) (#504)\n\n* fix: refactoring\r\n\r\n* docs: ๊ธฐ๋ฅ ๋ชฉ๋ก\r\n\r\n* fix: image info ํ์
๋ณ๊ฒฝ\r\n\r\n* feat: ๋๋ฉ์ธ DDL ์์ฑ\r\n\r\n* feat: cover image ๋ ํฌ์งํ ๋ฆฌ ์์ฑ\r\n\r\n* feat: session repository ์์ฑ\r\n\r\n* feat: session ๊ด๋ จ test, ๋ฆฌํฉํ ๋ง\r\n\r\n* docs: ๊ธฐ๋ฅ ์๊ตฌ์ฌํญ\r\n\r\n* fix: ๋น๋ํจํด ์์ ๊ธฐ","shortMessageHtmlLink":"๐ 3๋จ๊ณ - ์๊ฐ์ ์ฒญ(DB ์ ์ฉ) (#504)"}},{"before":"dc7c303262ffc0228dd61f2efd6d450a0af7864e","after":"2823dbc05e08ffc84afd8965f5599b150681c646","ref":"refs/heads/naayoungkwon","pushedAt":"2024-04-18T14:21:21.000Z","pushType":"pr_merge","commitsCount":12,"pusher":{"login":"wooobo","name":"wooobo","path":"/wooobo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12059592?s=80&v=4"},"commit":{"message":"Merge pull request #490 from NaayoungKwon/step4\n\n[Step4] ์๊ฐ์ ์ฒญ(์๊ตฌ์ฌํญ ๋ณ๊ฒฝ)","shortMessageHtmlLink":"Merge pull request #490 from NaayoungKwon/step4"}},{"before":"6f72e0cf5cefa27684a7c28b9c153625a3a2159e","after":"8e8af211cc12d354636e27d040f488156eaf96e3","ref":"refs/heads/leejaek","pushedAt":"2024-04-18T13:55:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"kyucumber","name":"KyuNam","path":"/kyucumber","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34656258?s=80&v=4"},"commit":{"message":"Step2 ๋ฆฌ๋ทฐ ์์ฒญ์
๋๋ค. (#510)\n\n* [refactor] Answers ํด๋์ค ์ถ๊ฐ, ์ญ์ ๊ฐ๋ฅ ์ฌ๋ถ ๊ฒ์ฆ ๋ก์ง์ ๋๋ฉ์ธ์ผ๋ก ์ด๋\r\n\r\n* [test] ์ถ๊ฐ๋ ๋ฉ์๋์ ๋ํ ๋จ์ ํ
์คํธ ์ถ๊ฐ\r\n\r\n* [refactor] TODO ์ญ์ \r\n\r\n* [refactor] DeleteHistorySave ์ ์ฅ์ ์ด๋ฒคํธ๋ฅผ ํ์ฉํด ์ ์ฅํ๋๋ก ์์ \r\n\r\n* [refactor] ๋ฉ์๋ ๋ถ๋ฆฌ ๋ฐ ๋ฉ์๋๋ช
๋ณ๊ฒฝ\r\n\r\n* [feature] Session ํด๋์ค, SessionStatus, SessionType enum ์ถ๊ฐ\r\n\r\n* [feature] SessionImage Class ์ถ๊ฐ\r\n\r\n* [feature] Session ์์ฑ์, ImageFileType enum ์ถ๊ฐ\r\n\r\n* [feature] SessionImage ํฌ๊ธฐ, ์ฌ์ด์ฆ ๊ฒ์ฆ ๋ก์ง ์ถ๊ฐ\r\n\r\n* [feature] SessionImage Type ๊ฒ์ฆ ๋ก์ง ์ถ๊ฐ\r\n\r\n* [refactor] FreeSession, PaidSession ๊ตฌ๋ถ\r\n\r\n* [refactor, test] Session ๊ด๋ จ ํด๋์ค ํจํค์ง ๊ตฌ๋ถ, PaidSession, FreeSession ํ
์คํธ ์ถ๊ฐ\r\n\r\n* [feat, test] ์ด๋ฏธ ๋ฑ๋กํ ์ ์ ์ ๋ํ ์ค๋ณต ๋ฑ๋ก ์ ํ\r\n\r\n* [refactor] SessionId ์ถ๊ฐ, Session์์ CourseId ๋ฅผ ๊ฐ๋๋ก ๋ณ๊ฒฝ\r\n\r\n* [refactor] SessionId ์ถ๊ฐ, Session์์ CourseId ๋ฅผ ๊ฐ๋๋ก ๋ณ๊ฒฝ\r\n\r\n* [refactor] Session ์ ์ถ์ํด๋์ค๋ก ๋ณ๊ฒฝํ์ฌ enroll() ๋ฉ์๋ ๊ตฌํ ๊ฐ์ ","shortMessageHtmlLink":"Step2 ๋ฆฌ๋ทฐ ์์ฒญ์
๋๋ค. (#510)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEUGD2qQA","startCursor":null,"endCursor":null}},"title":"Activity ยท next-step/java-lms"}