ππ» Summary
κΈ°μ‘΄ μ¬μ΄νΈ ν
μ€νΈ μ΄μμ νλ©° Java μΈμ΄μ κ΄κ³ν λ°μ΄ν° λ² μ΄μ€ κ° ν¨λ¬λ€μ λΆμΌμΉκ° λΆλ¬μ€λ μ¬λ¬ λ¬Έμ μ μ λκ»΄, μ΄λ₯Ό κ°μ νκΈ° μν΄ νλ‘μ νΈμ JPAλ₯Ό λμ
νμμ΅λλ€. JPAλ μ°κ΄λ κ°μ²΄λ₯Ό μ¬μ©νλ μμ μ SQLμ μ λ¬ν μ μκ³ , κ°μ νΈλμμ
λ΄μμ μ‘°νν λ λμΌμ±λ 보μ₯νκΈ° λλ¬Έμ μ¬μ΄νΈ JPA 리ν©ν λ§ νλ‘μ νΈλ₯Ό μννμμ΅λλ€.
ν
μ€νΈ νμ΄μ§ νλ©΄ μ
λλ€. λλ©μΈ λΆλ¦¬ μμ
100% μλ£ ν κΈ°μ‘΄ νλ‘ νΈμλ νλ©΄μΌλ‘ μ νν μμ μ
λλ€.
νλ‘μ νΈ μ£Όμ κ΄μ¬μ¬
- λ³κ²½κ³Ό νμ₯μ μ μ°ν κΈ°μ μ μ§ν₯ν©λλ€.
- Java, Mac, IntelliJ Ultimate(Educational License), Lombok, Gradle 7.5
- Backend: Spring Boot 2.7.4
- Frontend: νμ¬ thymeleaf λ‘ κ΅¬νλμ΄ μμ΅λλ€. λλ©μΈ λΆλ¦¬ μμ
μλ£ ν Reactλ‘ μ ν μμ μ
λλ€.
API μ€κ³ λ° μ§ν μν©
Feature |
Request |
API |
μ€λͺ
|
νμκ°μ
|
POST |
/member/join |
μΌλ°νμ form DB μ μ‘, νμκ°μ
μ€λ³΅ λ°©μ§ |
νμμμ |
PUT |
/member/members/{id} |
νμ μ 보 μμ |
νμλͺ©λ‘ |
GET/POST |
/members |
νμ λͺ©λ‘ μ‘°ν |
Feature |
Request |
API |
μ€λͺ
|
μνμμ± |
POST |
/product/register |
μν 1κ° μμ± |
μνμ‘°ν |
GET |
/product/read/{idx} |
μν idxλ₯Ό ν΅ν μν 1κ° μ‘°ν |
μνμμ |
PATCH |
/product/delete/{idx} |
μν idxλ₯Ό ν΅ν μν 1κ° μμ |
μνμμ |
PATCH |
/product/update/{idx} |
μν μ 보 μμ |
μνλͺ©λ‘ |
GET |
/product/list |
μν λͺ©λ‘ μ‘°ν. μνλͺ
, ν맀μ, μν μ¬μ§ λ± μ 보 ν¬ν¨. |
Feature |
Request |
API |
μ€λͺ
|
μνμ£Όλ¬Έ |
POST |
/order/create |
μν μ£Όλ¬Έ |
μ£Όλ¬Έμ‘°ν |
GET |
/order/{idx} |
μ£Όλ¬Έ μ‘°ν |
μ£Όλ¬Έμ·¨μ |
POST |
/order/{orderId}/cancel |
μ£Όλ¬Έ μ·¨μ (μ£Όλ¬Έ μν λ³κ²½) |
Feature |
Request |
API |
μ€λͺ
|
리뷰μμ± |
POST |
/reviews/{productId} |
μνμ λν 리뷰 μμ± |
리뷰λͺ©λ‘ |
GET |
/reviews/{productId}/all |
ν΄λΉ μνμ λν 리뷰 μ 체 μ‘°ν |
리뷰μμ |
PUT |
/reviews/{productId}/reviewId |
ν΄λΉ μνμ λν νΉμ 리뷰 μμ |
리뷰μμ |
DEL |
/reviews/{productId}/reviewId |
ν΄λΉ μνμ λν νΉμ 리뷰 μμ |