Backend Lead | Backend | Backend | Backend |
---|---|---|---|
μ΅νλ―Έ | μ΄μ μ | λ°±μΈκΆ | μμμ§ |
π‘νμκ°μ
, νν΄ π‘μ΄λ©μΌ μΈμ¦ π‘μμΈ νμ΄μ§ μ‘°ν π‘μ¬μ©μ 리뷰 μ‘°ν π‘μ¬μ©μ μ 보 μμ |
π‘spring security π‘νλ‘μ νΈ λ°°ν¬ π‘μ₯λ°κ΅¬λ, κ²°μ π‘μ¬μ©μ μμ½μ‘°ν π‘λ‘κ·ΈμΈ(OAuth2) π‘Querydsl |
π‘λ©μΈνμ΄μ§ μ‘°ν π‘μ€νapi νμ© |
π‘리뷰 crud κΈ°λ₯ π‘μ’μμ λ±λ‘, μ·¨μ π‘μμ 리μ€νΈ |
- νλ‘μ νΈ λͺ©μ : νλ‘ νΈμλμ νμ μ ν΅ν μλ° μμ½ μλΉμ€ μμ±
- νλ‘μ νΈ κΈ°κ° : 11/20(μ) ~ 12.01(κΈ)
- μλΉμ€ : https://dashing-tiramisu-cbdade.netlify.app
- API λͺ μΈμ : https://documenter.getpostman.com/view/14269013/2s9YeBfu36#f3b52c96-ce6c-42fb-b1e5-cc8c93017f97
.env
νμΌμ λ§λ€μ΄μ μ΅μλ¨ λλ ν 리μ μμΉνμ¬μΌ ν©λλ€.- env νμΌμ μλμ νμμΌλ‘ λ§λ€μ΄μΌ ν©λλ€.
JWT_SECRET_KEY1=key1key1key1key1key1key1key1key1key1key1key1key1key1key1key1key1key1key1 JWT_SECRET_KEY2=key2key2key2key2key2key2key2key2key2key2key2key2key2key2key2key2key2key2 JWT_SECRET_KEY3=key3key3key3key3key3key3key3key3key3key3key3key3key3key3key3key3key3key3 TEST_ID=id TEST_ID_PASSWORD=password TEST_ID_EMAIL=email
- docker μ€ν ν docker-compose.ymlμ μ€νν΄ λ°μ΄ν°λ² μ΄μ€ νκ²½μ λ§λ€μ΄μΌ ν©λλ€.
com.example.yanolja
βββ domain
β βββ user
β βββ accommodation
β βββ review
β βββ reservation
β βββ accommodationLikes
β βββ basket
β βββ wishlist
β ...
βββ global
βββ springsecurity
βββ entity
βββ config
βββ exception
βββ jwt
βββ util
1. νμμΈμ¦
- νμκ°μ
- μ΄λ©μΌ μΈμ¦ / μ΄λ©μΌ μ€λ³΅νμΈ / μ 보 μ ν¨μ±κ²μ¬ / νν΄ κ³μ 볡ꡬ
- νμνν΄
- λ‘κ·ΈμΈ / λ‘κ·Έμμ
- μμ λ‘κ·ΈμΈ(λ€μ΄λ², ꡬκΈ)
2. μ’μμ, 리뷰
- μ’μμ λ±λ‘, μ·¨μ
- 리뷰 CRUD
- 리뷰 μμΈμ‘°ν
3. λ©μΈνμ΄μ§
- μμ μ‘°ν
- μ 체 / κ°λ³ μμ μ‘°ν
- μμ κ²μ
- λ‘κ·ΈμΈ μ , ν UI λ³λ
- μλ°μ 체 μΉ΄ν κ³ λ¦¬λ³ νν°λ§
4. λ§μ΄νμ΄μ§
- μμ½ λ΄μ
- μμ½ μ·¨μ
- λ΄ μμ½ μ‘°ν
- λ΄ λ¦¬λ·°
- λ΄ λ¦¬λ·° μ‘°
- λ΄ μ 보 κ΄λ¦¬
- κ°μΈμ 보(λλ€μ, μ νλ²νΈ, λΉλ°λ²νΈ) λ³κ²½
5. μμΈνμ΄μ§
- μμ μμΈ μ‘°ν/ λ°© μμΈ μ‘°ν
- μΈμ, λ μ§λ‘ μμ½ κ°λ₯ μμ νν°λ§(νμ μ¬λΆ νμ)
- μμ μ΅μ (μΈμ, 체λ₯ λ μ§) μ ν
- μν μμ½ or μ₯λ°κ΅¬λμ μΆκ°
6. μ₯λ°κ΅¬λ
- λ΄κΈ° / 보기
- μμ½ κ°λ₯, μμ½ λΆκ°λ₯ μμ μ‘°ν / μμ
- μ£Όλ¬ΈνκΈ°
- κ²°μ νκΈ°
- μ£Όλ¬Έ κ²°κ³Ό νμΈ
7. μμ리μ€νΈ
- μ¬μ©μκ° μ’μμ λ±λ‘ν μμ μ‘°ν
- μ’μμ λ±λ‘, μ·¨μ
- μ 체μ μΈ μ½λ 리ν©ν λ§(μ½λ리뷰 λ°μ)
- OAuth2 μΆκ°(ꡬκΈ, λ€μ΄λ²)
- λ©μΈνμ΄μ§ μ 체 μ‘°νμ QueryDSL μ μ©
- κΈ°μ‘΄ μ£Όμ JavadocμΌλ‘ κ΅μ²΄
μ΅νλ―Έ
κ·Έλ¬λ€ 보λ μλνλ μ½λλ₯Ό μμ±νλ λ° κΈκΈν΄μ 리ν©ν λ§μ μ§νν λ λ§€μ° νλ€μμ΅λλ€.
μ΄ κ²½νμΌλ‘ νλ‘μ νΈ μ€κ³λ₯Ό μ² μ νκ² ν΄μΌνλ€λ κ²μ κΉ¨λ«κ² λμμ΅λλ€. μ’μ νμλ€κ³Ό ν¨κ»ν΄μ μ€λ ₯μ΄ λ§μ΄ λμμ΄μ!π
μ΄μ μ
β 짧μ κΈ°κ°λμ λΉ λ₯΄κ² κΈ°λ₯ꡬνμ μμ£Όλ‘ κ°λ°μ νλ €κ³ νλ€λ³΄λ λ€μ λμμμ μ½λλ₯Ό 보μμλ λ‘μ§μ΄ 볡μ‘νκ³ μ’μ§ μμ μ½λλ€μ΄ λ§μ΄ 보μλκ±° κ°μ΅λλ€. λ€μμ λΉμ§λμ€ λ‘μ§μ ꡬνν λ μμ΄μ μ’ λ μκ°μ νκ³ μ’μ μ€κ³λ₯Ό λ°νμΌλ‘ μ½λλ₯Ό μ§λ©΄ λ μ’μκ±° κ°μ΅λλ€. μ΄λ²κ²½νμ λ°νμΌλ‘ μ½λμμ±μ μμ΄μ λ μκ°μ ν΄ λ³Ό μ μμκ±° κ°μ΅λλ€. μ’μ κ²½νμ΄μμ΅λλ€.
β λ컀 μμμ μμ
μ νκ³ , λ컀μ΄λ―Έμ§λ₯Ό ν΅ν΄ λ°°ν¬λ₯Ό ν΄λ³΄μλλ° μ΄ κ²½νμ΄ λ§€μ° μ’μμ΅λλ€. λ컀μ΄λ―Έμ§λ‘ λ°°ν¬λ₯Ό νκΈ°λλ¬Έμ λ°°ν¬νκ²½μ ꡬμ λ°μ§ μκ³ νμν νλ‘κ·Έλ¨λ€ μ€μΉ μμ΄ μΈμ μ΄λμλ λκ°μ λ°°ν¬νκ²½μ μ μ§ν μ μλ€λ μ μ΄ λ§€μ° νΈλ¦¬νμ΅λλ€.
μ΄ κ³Όμ μ κΈ°μ‘΄ jarλ‘ λ°°ν¬νλκ²λ³΄λ€ ν¨μ¬ κ°νΈνλκ±° κ°κ³ μ μ©ν κΈ°μ μ΄μμ΅λλ€.
Dockerμ λν΄ μ’ λ 곡λΆν΄λ³΄κ³ λ λ€μν κΈ°μ λ€μ μ¨λ³΄κ³ μΆμ κ³κΈ°κ° λμλκ±° κ°μ΅λλ€.
β querydslκ³Ό oauthλ₯Ό μΆκ°μ μΌλ‘ μ μ©ν΄ λ³Ό μ μμ΄μ μ’μκ³ μ΄ κΈ°μ λ€μ μ¬μ©ν΄λ³Ό μ μμ΄μ μ’μλ κ² κ°μ΅λλ€ redisλ₯Ό μ¬μ©ν΄ μΊμdbλ₯Ό νμ©νλ κ²λ ν΄ λ³Ό μμ μ
λλ€.
β μ²μ μ¨λ³΄λ μλ‘μ΄ κΈ°μ λ€μ μ μ©νλ©΄μ μ¬λ¬κ°μ§ λ¬Έμ μ μ΄ μμμ§λ§ νμλ€κ³Ό κ°μ΄ μλ
Όνκ³ κ°μ΄ κ°λ°νλ©΄μ λ¬Έμ λ₯Ό ν΄κ²°νμλκ² κ°μ΅λλ€. λλΆμ μ€λ ₯μ΄ λ§μ΄ λμ΄μ μ’μμ΅λλ€.
λ°±μΈκΆ
κ·Έλμ νλ‘μ νΈμ§ν νμ΄μ€λ₯Ό μ¬λ¦¬λλ° νλ¬μ€λμ§ λͺ»νκ³ , μ μ ν ν¨μ¨μ λ§λλ μν΅λ λͺ»νλ κ² κ°μ΅λλ€.
λ€λ₯Έ νμλ€μ λ₯λμ μΌλ‘ λμμ£Όμ§ λͺ»νκ³ κ·Έμ λ§μ΄ λ°°μ°κΈ°λ§ νλ κ² κ°μμ κ°μΈμ μΌλ‘ μμ½μ΅λλ€.
μ’μ μ½λ리뷰μ κ³ λ―Όν΄μ£Όμ νμλ€ κ°μ¬ν©λλ€!
μμμ§
κ·Έλ¦¬κ³ μ λ°μ μΈ νλ‘μ νΈ κ΅¬μ‘°λ₯Ό μ΄ν΄νλλ° μ΄λ €μμ΄ λ§μμΌλ©° μ΄ μ μ νμλ€κ³Όμ μν΅μ ν΅ν΄ μ΄λμ λ νμ νλ λ°μλ μ±κ³΅νμμΌλ μ€μ€λ‘ νΌμμ ꡬννλ λ°μλ λ Έλ ₯μ΄ νμν κ² κ°λ€λ μκ°μ΄ λ€μμ΅λλ€.
β ν νλ‘μ νΈμ λ§μ λΆλΆμ κΈ°μ¬νμ§λ λͺ»νμ§λ§, μΉ λ°±μλ κ°λ°μ νλ‘μΈμ€μ λν΄ μ§μκ³Ό κ²½νλ€μ μμ μ μμλ μμ£Ό μ’μ κΈ°νμλ€κ³ μκ°ν©λλ€.
λ€λ₯Έ νμλ€μ μ½λλ₯Ό λΆμνκ³ λ¦¬λ·°λ₯Ό νλ μ°μ΅μ΄ λ§μ΄ νμν κ² κ°μ΅λλ€. μ¬μ€ μκ°μ΄ λΆμ‘±ν΄ λ°λ‘ νμλ€μ PRμ Approveνμλλ° μ°¨ν λ€λ₯Έ νλ‘μ νΈλ₯Ό μ§νν λμ κΌΌκΌΌν 리뷰λ₯Ό ν μκ°μ λλ€.