Skip to content

Shimpyo-House/Shimpyo_FE

Repository files navigation

Shimpyo : μˆ™λ°• ν”„λ‘œμ νŠΈ

πŸ“šν”„λ‘œμ νŠΈ μ†Œκ°œ

개발 κΈ°κ°„ : 2023.11.20 ~ 2023.12.01 (2μ£Ό)
개발 인원 : 8λͺ… (FE 5, BE 3)

μ‰Όν‘œκ°€ λ¬Έμž₯μ—μ„œ μž μ‹œ 멈좀과 νœ΄μ‹μ˜ μ‹œκ°„μ„ λ‚˜νƒ€λ‚΄λ“―μ΄, μ‚¬μš©μžλ“€μ—κ²Œ λ°”μœ μΌμƒμ—μ„œ λ²—μ–΄λ‚˜ νœ΄μ‹μ„ μ·¨ν•˜κ³  μž¬μΆ©μ „ν•  수 μžˆλŠ” μˆ™μ†Œλ₯Ό μ œκ³΅ν•˜λŠ” 것을 λͺ©ν‘œλ‘œ ν•©λ‹ˆλ‹€.



Test ID : [email protected]
Test PW : qwe123!@#

πŸ‘©β€πŸ’»νŒ€μ›μ†Œκ°œ

FE: 졜우혁
(νŒ€μž₯)
FE: 백상원
(λ¦¬νŒ©ν† λ§ νŒ€μž₯)
FE: μ •μ§€μ˜€ FE: μž₯수빈 FE: μ†Œμœ λ‚˜
개발 초기 μ„€μ •
CI/CD 연동
둜그인/νšŒμ›κ°€μž…
νšŒμ› 정보 μˆ˜μ •
Axios Instance
&Axios Interceptor
μˆ™μ†Œ λ¦¬μŠ€νŒ…
λ¬΄ν•œμŠ€ν¬λ‘€
검색 κΈ°λŠ₯
μ°œν•˜κΈ°
메인, μΉ΄ν…Œκ³ λ¦¬, 검색
& λ°±κ·ΈλΌμš΄λ“œ λ””μžμΈ
μˆ™μ†Œ 상세 νŽ˜μ΄μ§€
μˆ™μ†Œ 상세&μΆ”κ°€ 정보 api
μž₯λ°”κ΅¬λ‹ˆ 등둝 api
μ˜ˆμ•½ν•˜κΈ° 등둝 api
카카였맡 api
μž₯λ°”κ΅¬λ‹ˆ 쑰회
μž₯λ°”κ΅¬λ‹ˆ μ‚­μ œ
μž₯λ°”κ΅¬λ‹ˆ ν’ˆμ ˆ 처리 κ΅¬ν˜„
μž₯λ°”κ΅¬λ‹ˆ κ΄€λ ¨ 헀더 μˆ˜λŸ‰ κ΅¬ν˜„
μƒμ„ΈνŽ˜μ΄μ§€ - λ£Έ 상세 정보 κ΅¬ν˜„
결제 νŽ˜μ΄μ§€ κ΅¬ν˜„ 및 api μ—°κ²°
κ²°μ œν•˜κΈ° λ²„νŠΌ api μ—°κ²°
결제 νŽ˜μ΄μ§€μ—μ„œ μ·¨μ†Œν•˜κΈ° api μ—°κ²°
결제 μ™„λ£Œ νŽ˜μ΄μ§€ κ΅¬ν˜„ 및 api μ—°κ²°
전체 μ£Όλ¬Έ λ‚΄μ—­ 확인 νŽ˜μ΄μ§€ κ΅¬ν˜„ 및 api μ—°κ²°





🎁기술 μŠ€νƒ

κΈ°μˆ μŠ€νƒ


πŸ“λ””μžμΈ 섀계

image


μ•Όλ†€μž ν…Œν¬ μΊ ν”„ λ―Έλ‹ˆν”„λ‘œμ νŠΈ RFP

ν”„λ‘œμ νŠΈ μ •μ˜μ„œ

λ³Έ ν”„λ‘œμ νŠΈμ˜ 개발 λ²”μœ„λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

  • νšŒμ› 인증
    • νšŒμ›κ°€μž…
    • 둜그인
  • μƒν’ˆ 쑰회
    • 전체 μˆ™λ°• μƒν’ˆ λͺ©λ‘ 쑰회 (μ˜΅μ…˜)μΉ΄ν…Œκ³ λ¦¬λ₯Ό μž„μ˜ μƒμ„±ν•˜μ—¬ λΆ„λ₯˜ν•˜μ—¬ 좜λ ₯
    • κ°œλ³„ μˆ™λ°• μƒν’ˆ 상세 μ†Œκ°œ
  • μƒν’ˆ 선택 및 μž₯λ°”κ΅¬λ‹ˆ λ‹΄κΈ°
    • μˆ™λ°• μƒν’ˆ μ˜΅μ…˜ 선택
    • μž₯λ°”κ΅¬λ‹ˆ λ‹΄κΈ°
    • (λ˜λŠ”) λ°”λ‘œ κ²°μ œν•˜κΈ°
  • μž₯λ°”κ΅¬λ‹ˆ
    • μž₯λ°”κ΅¬λ‹ˆ 보기
    • μž₯λ°”κ΅¬λ‹ˆμ—μ„œ μ£Όλ¬Έν•˜κΈ° λ²„νŠΌ 클릭 μ‹œ, μ˜ˆμ•½(μ£Όλ¬Έ) νŽ˜μ΄μ§€λ‘œ 이동
  • μ˜ˆμ•½(μ£Όλ¬Έ) ν•˜κΈ°
    • 만 14μ„Έ 이상 이용 λ™μ˜ (상세 μ„€λͺ…μ„œ X, μ²΄ν¬λ°•μŠ€λ‘œλ§Œ κ°„λ‹¨νžˆ 처리)
    • κ²°μ œν•˜κΈ° λ²„νŠΌ 클릭 μ‹œ, μƒν’ˆμ„ μ£Όλ¬Έν•œ κ²ƒμœΌλ‘œ 처리 (별도 결제 둜직 μ—†μŒ)
    • 결제 성곡 μ‹œ μ£Όλ¬Έ κ²°κ³Ό 좜λ ₯
  • (μ˜΅μ…˜) μ£Όλ¬Έ λ‚΄μ—­ 쑰회 - 별도 μ£Όλ¬Έ λ‚΄μ—­ νŽ˜μ΄μ§€λ₯Ό 톡해 μ£Όλ¬Έ λ‚΄μ—­ 확인

ν”„λ‘œμ νŠΈ μš”κ΅¬μ‚¬ν•­

  1. νšŒμ› νšŒμ›κ°€μž… κΈ°λŠ₯
    • νšŒμ›μ€ νšŒμ›κ°€μž…μ„ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
    • κΈ°λ³Έ μ •λ³΄λŠ” ID μ—­ν• λ‘œ 이메일 μ£Όμ†Œμ™€, λΉ„λ°€λ²ˆν˜Έ, 이름 μž…λ‹ˆλ‹€.
  2. νšŒμ› 둜그인 κΈ°λŠ₯
    • 이메일과 λΉ„λ°€λ²ˆν˜Έλ‘œ λ‘œκ·ΈμΈν•  수 μžˆμŠ΅λ‹ˆλ‹€.
    • νšŒμ› 정보λ₯Ό μ €μž₯ν•΄λ‘” λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό κ²€μƒ‰ν•˜μ—¬ ν•΄λ‹Ή μ‚¬μš©μžκ°€ μœ νš¨ν•œ μ‚¬μš©μž 인지 νŒλ‹¨ ν•©λ‹ˆλ‹€.
    • μƒν’ˆ 쑰회(전체, κ°œλ³„), νšŒμ› κ°€μž…μ€ 둜그인 없이 μ‚¬μš© κ°€λŠ₯ν•©λ‹ˆλ‹€.
    • 이 μ™Έ κΈ°λŠ₯은 둜그인이 ν•„μš”ν•©λ‹ˆλ‹€.
  3. 전체 μƒν’ˆ λͺ©λ‘ 쑰회
    • λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ 전체 μƒν’ˆ λͺ©λ‘μ„ κ°€μ Έμ˜΅λ‹ˆλ‹€.
    • 이미지, μƒν’ˆλͺ…, μƒν’ˆκ°€κ²©μ„ 기본으둜 좜λ ₯ν•©λ‹ˆλ‹€.
    • μž¬κ³ μ— 따라 ν’ˆμ ˆμΌ 경우, 좜λ ₯ 여뢀에 λŒ€ν•΄μ„  νŒ€λ³„λ‘œ κ²°μ •ν•©λ‹ˆλ‹€.
    • (μ˜΅μ…˜) μΉ΄ν…Œκ³ λ¦¬λ₯Ό λΆ„λ₯˜ν•˜μ—¬, μƒν’ˆμ„ 좜λ ₯ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.
    • ν•œ νŽ˜μ΄μ§€μ— 좜λ ₯λ˜λŠ” μƒν’ˆ κ°œμˆ˜λŠ” νŒ€λ³„λ‘œ μ •ν•˜μ—¬, νŽ˜μ΄μ§•μ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€.
  4. κ°œλ³„ μƒν’ˆ 쑰회
    • 전체 μƒν’ˆ λͺ©λ‘μ—μ„œ νŠΉμ • μƒν’ˆ 이미지λ₯Ό ν΄λ¦­ν•˜λ©΄, ν•΄λ‹Ή μƒν’ˆμ— λŒ€ν•œ 상세 정보λ₯Ό μƒν’ˆμ— μ €μž₯ν•΄ λ‘” λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ κ°€μ Έμ˜΅λ‹ˆλ‹€.
    • 이미지, μƒν’ˆλͺ…, μƒν’ˆκ°€κ²©, μƒν’ˆ 상세 μ†Œκ°œ (1쀄 이상)을 기본으둜 좜λ ₯ν•©λ‹ˆλ‹€.
    • μž¬κ³ μ— 따라 ν’ˆμ ˆμΌ 경우, ν™”λ©΄ ꡬ성은 νŒ€λ³„λ‘œ κ²°μ •ν•©λ‹ˆλ‹€.
  5. μƒν’ˆ μ˜΅μ…˜ 선택
    • μƒν’ˆ 상세 μ†Œκ°œ νŽ˜μ΄μ§€μ—μ„œ μƒν’ˆ μ˜΅μ…˜μ„ 선택할 수 μžˆμŠ΅λ‹ˆλ‹€.
    • λ‚ μ§œ, μˆ™λ°• 인원은 기본으둜 ν¬ν•¨λ©λ‹ˆλ‹€.
    • 이 μ™Έ λ£Έ ν˜•νƒœ λ“± ν•„μš”ν•œ μš”μ†ŒλŠ” νŒ€λ³„λ‘œ κΈ°νšν•©λ‹ˆλ‹€.
  6. μž₯λ°”κ΅¬λ‹ˆ λ‹΄κΈ°
    • μƒν’ˆ μ˜΅μ…˜μ„ μ„ νƒν•œ ν›„, μž₯λ°”κ΅¬λ‹ˆ λ‹΄κΈ° λ²„νŠΌμ„ ν΄λ¦­ν•˜λ©΄ μ„ νƒν•œ μƒν’ˆμ΄ μž₯λ°”κ΅¬λ‹ˆμ— 담깁 λ‹ˆλ‹€.
  7. μž₯λ°”κ΅¬λ‹ˆ 보기
    • μž₯λ°”κ΅¬λ‹ˆμ— λ‹΄κΈ΄ μƒν’ˆ 데이터 (이미지, μƒν’ˆλͺ…, μ˜΅μ…˜ λ“±)에 λ”°λ₯Έ μƒν’ˆλ³„ ꡬ맀 κΈˆμ•‘, 전체 μ£Όλ¬Έ 합계 κΈˆμ•‘ 등을 화면에 좜λ ₯ν•©λ‹ˆλ‹€.
    • 체크 λ°•μŠ€λ₯Ό 톡해 κ²°μ œν•  μƒν’ˆμ„ 선택/μ œμ™Έν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.
    • μ£Όλ¬Έν•˜κΈ° λ²„νŠΌμ„ 톡해 μ£Όλ¬Έ/결제 ν™”λ©΄μœΌλ‘œ μ΄λ™ν•©λ‹ˆλ‹€.
  8. μ£Όλ¬Έν•˜κΈ°
    • μž₯λ°”κ΅¬λ‹ˆμ—μ„œ μ£Όλ¬Έν•˜κΈ° λ²„νŠΌ λ˜λŠ” κ°œλ³„ μƒν’ˆ 쑰회 νŽ˜μ΄μ§€μ—μ„œ μ£Όλ¬Έν•˜κΈ° λ²„νŠΌμ„ λˆ„λ₯΄λ©΄ μ „ν™˜λ˜λŠ” νŽ˜μ΄μ§€μž…λ‹ˆλ‹€.
    • 만 14μ„Έ 이상 이용 λ™μ˜λ₯Ό 체크 λ°•μŠ€λ‘œ μž…λ ₯ λ°›μœΌλ©΄, ν™”λ©΄ μ΅œν•˜λ‹¨μ— κ²°μ œν•˜κΈ° λ²„νŠΌμ΄ ν™œμ„±ν™”λ©λ‹ˆλ‹€.
  9. κ²°μ œν•˜κΈ°
    • μ£Όλ¬Έ νŽ˜μ΄μ§€μ—μ„œ κ²°μ œν•˜κΈ° λ²„νŠΌμ„ ν΄λ¦­ν•˜λ©΄, μ‹€μ œ 결제 둜직 및 절차 없이 μƒν’ˆμ„ λ°”λ‘œ μ£Όλ¬Έν•œ κ²ƒμœΌλ‘œ μ²˜λ¦¬ν•©λ‹ˆλ‹€.
    • 주문을 μ €μž₯ν•˜λŠ” λ°μ΄ν„°λ² μ΄μŠ€μ— μ£Όλ¬Έ 정보λ₯Ό μ €μž₯ν•©λ‹ˆλ‹€.
  10. μ£Όλ¬Έ κ²°κ³Ό 확인
    • 결제λ₯Ό μ„±κ³΅μ μœΌλ‘œ μ²˜λ¦¬ν•˜λ©΄, μ£Όλ¬Έν•œ μƒν’ˆ(λ“€)에 λŒ€ν•œ μ£Όλ¬Έ κ²°κ³Όλ₯Ό 좜λ ₯ν•΄μ€λ‹ˆλ‹€.
  11. (μ˜΅μ…˜) μ£Όλ¬Έ λ‚΄μ—­ 확인 - 별도 μ£Όλ¬Έ λ‚΄μ—­ νŽ˜μ΄μ§€μ— μ—¬νƒœ μ£Όλ¬Έν•œ λͺ¨λ“  이λ ₯을 좜λ ₯ν•΄μ€λ‹ˆλ‹€.

κΈ°λŠ₯적 μš”κ΅¬μ‚¬ν•­

  1. 곡톡
    1. λͺ¨λ“  λ‹¨κ³„μ—μ„œ ν˜‘μ—…μ„ 기반으둜 ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•©λ‹ˆλ‹€.
    2. 각 κΈ°λŠ₯을 κ΅¬ν˜„ν•˜κΈ° μœ„ν•΄ HTTP Request Body / Response Body 에 전달할 λ°μ΄ν„°λŠ” ν”„λ‘ νŠΈμ—”λ“œμ™€ λ°±μ—”λ“œμ˜ ν˜‘μ—…μ„ 톡해 κ²°μ •ν•©λ‹ˆλ‹€.
    3. λͺ¨λ“  λ‹¨κ³„μ—μ„œ ν…ŒμŠ€νŠΈλ₯Ό μˆ˜ν–‰ν•©λ‹ˆλ‹€.
  2. ν”„λ‘ νŠΈμ—”λ“œ
    1. μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€ μ˜ˆμ‹œλ₯Ό μ°Έκ³ ν•˜μ—¬, 화면을 κ΅¬μ„±ν•©λ‹ˆλ‹€.
    2. API λͺ…세에 따라 λ°±μ—”λ“œμ— μ „λ‹¬λœ JSON 데이터λ₯Ό ν•„μš”μ— 따라 μ •λˆν•˜μ—¬ 화면에 좜λ ₯ν•©λ‹ˆλ‹€.
    3. ν”„λ‘ νŠΈμ—”λ“œλ‹¨μ—μ„œ μœ νš¨μ„± 검사λ₯Ό μˆ˜ν–‰ν•΄μ•Όν•˜λŠ” 지점을 κ³ λ €ν•©λ‹ˆλ‹€.
    4. React.js λ˜λŠ” Next.jsλ₯Ό 기반으둜 κ΅¬ν˜„ν•˜λ©°, μ»΄ν¬λ„ŒνŠΈ λ‹¨μœ„λ‘œ ꡬ쑰λ₯Ό μ„€κ³„ν•©λ‹ˆλ‹€.
    5. (μ˜΅μ…˜) νŽ˜μ΄μ§• 처리 μ‹œ, λ¬΄ν•œ μŠ€ν¬λ‘€μ„ κ³ λ €ν•©λ‹ˆλ‹€.
  3. λ°±μ—”λ“œ 1. REST APIλ₯Ό κ΅¬ν˜„ν•˜μ—¬ ν”„λ‘ νŠΈμ—”λ“œλ‘œ JSON ν˜•μ‹μ˜ 데이터λ₯Ό μ „λ‹¬ν•©λ‹ˆλ‹€. 2. νšŒμ› 인증과 μΈκ°€λŠ” Spring Securityλ₯Ό μ΄μš©ν•˜μ—¬ μ§„ν–‰ν•©λ‹ˆλ‹€. 3. μˆ™λ°• μƒν’ˆμ— λŒ€ν•œ λ°μ΄ν„°λŠ” μ˜€ν”ˆ APIλ₯Ό κ²€μ¦ν•˜μ—¬ ν™œμš©ν•©λ‹ˆλ‹€. 선택1. https://www.data.go.kr/data/15077518/openapi.do 선택2. https://api.visitkorea.or.kr/ 4. 전체 μƒν’ˆ 쑰회 μ‹œ ν•œ νŽ˜μ΄μ§€μ— 좜λ ₯λ˜λŠ” μƒν’ˆ κ°œμˆ˜μ— 따라 DB Paging을 μˆ˜ν–‰ν•©λ‹ˆ λ‹€. 5. (μ˜΅μ…˜) DB νŠΈλžœμž­μ…˜κ³Ό λ™μ‹œμ„± μ œμ–΄λ₯Ό κ³ λ €ν•©λ‹ˆλ‹€.

πŸ§‘πŸ»β€πŸ’» μ£Όμš” κΈ°λŠ₯ κ΅¬ν˜„

1. 인증

  • 둜그인 및 νšŒμ›κ°€μž…
메인 νŽ˜μ΄μ§€μ—μ„œμ˜ μˆ™μ†Œ λ¦¬μŠ€νŒ…
  • λ‘œκ·Έμ•„μ›ƒ
메인 νŽ˜μ΄μ§€μ—μ„œμ˜ μˆ™μ†Œ λ¦¬μŠ€νŒ…
  • μžλ™ λ¦¬ν”„λ ˆμ‹œ
메인 νŽ˜μ΄μ§€μ—μ„œμ˜ μˆ™μ†Œ λ¦¬μŠ€νŒ…

2. νšŒμ› 정보 λ³€κ²½

  • 상단 ν—€λ”μ—μ„œ λ‚΄ 정보 μˆ˜μ • κ°€λŠ₯
메인 νŽ˜μ΄μ§€μ—μ„œμ˜ μˆ™μ†Œ λ¦¬μŠ€νŒ…

3. μˆ™μ†Œ λ¦¬μŠ€νŒ…

  • 메인 νŽ˜μ΄μ§€μ—μ„œμ˜ μˆ™μ†Œ λ¦¬μŠ€νŒ…
메인 νŽ˜μ΄μ§€μ—μ„œμ˜ μˆ™μ†Œ λ¦¬μŠ€νŒ…
  • μΉ΄ν…Œκ³ λ¦¬ νŽ˜μ΄μ§€μ—μ„œμ˜ μˆ™μ†Œ λ¦¬μŠ€νŒ… - λ¬΄ν•œ 슀크둀 적용
μΉ΄ν…Œκ³ λ¦¬μ—μ„œμ˜ μˆ™μ†Œ λ¦¬μŠ€νŒ…

4. 검색 κΈ°λŠ₯

  • ν—€λ”μ—μ„œ 검색 κΈ°λŠ₯ κ΅¬ν˜„
메인 νŽ˜μ΄μ§€μ—μ„œμ˜ μˆ™μ†Œ λ¦¬μŠ€νŒ…

5. μ°œν•˜κΈ°

  • μˆ™μ†Œ 상세 νŽ˜μ΄μ§€μ—μ„œ μ°œν•˜κΈ° κ°€λŠ₯
메인 νŽ˜μ΄μ§€μ—μ„œμ˜ μˆ™μ†Œ λ¦¬μŠ€νŒ…
  • μ°œν•˜κΈ° νŽ˜μ΄μ§€μ—μ„œ μ°œν•œ μˆ™μ†Œ 확인 κ°€λŠ₯
메인 νŽ˜μ΄μ§€μ—μ„œμ˜ μˆ™μ†Œ λ¦¬μŠ€νŒ…

6. μ œν’ˆ 상세 νŽ˜μ΄μ§€

  • μˆ™μ†Œ 상세 정보 및 μž₯λ°”κ΅¬λ‹ˆ post
μž₯λ°”κ΅¬λ‹ˆ 쑰회
  • λ°›μ•„μ˜¨ 인원 count에 따라 μž₯λ°”κ΅¬λ‹ˆ λ‹΄κΈ°&μ˜ˆμ•½ν•˜κΈ° κ°€λŠ₯ μ—¬λΆ€ 처리 및 μ˜ˆμ•½ν•˜κΈ° post
μž₯λ°”κ΅¬λ‹ˆ 쑰회 μž₯λ°”κ΅¬λ‹ˆ 쑰회
  • λ‚ μ§œμ— λ”°λ₯Έ μž₯λ°”κ΅¬λ‹ˆ λ‹΄κΈ° κ°€λŠ₯ μ—¬λΆ€ 처리
μž₯λ°”κ΅¬λ‹ˆ 쑰회 μž₯λ°”κ΅¬λ‹ˆ 쑰회

7. μž₯λ°”κ΅¬λ‹ˆ

  • 상세 νŽ˜μ΄μ§€μ—μ„œ μΆ”κ°€ν•œ μ•„μ΄ν…œλ“€μ„ μž₯λ°”κ΅¬λ‹ˆ νŽ˜μ΄μ§€μ—μ„œ 쑰회
μž₯λ°”κ΅¬λ‹ˆ 쑰회
  • μž₯λ°”κ΅¬λ‹ˆμ—μ„œ μ•„μ΄ν…œ μ£Όλ¬Έν•˜κΈ°
μž₯λ°”κ΅¬λ‹ˆμ—μ„œ μ•„μ΄ν…œ μ£Όλ¬Έ
  • μž₯λ°”κ΅¬λ‹ˆ μ•„μ΄ν…œ μ‚­μ œν•˜κΈ°
μž₯λ°”κ΅¬λ‹ˆμ—μ„œ μ•„μ΄ν…œ μ‚­μ œ
  • μž₯λ°”κ΅¬λ‹ˆ 3개 초과 μ£Όλ¬Έ & 0개 μ£Όλ¬Έμ‹œ μ˜ˆμ™Έ 처리
μž₯λ°”κ΅¬λ‹ˆ 3개 초과 μ£Όλ¬Έ & 0개 μ£Όλ¬Έμ‹œ μ˜ˆμ™Έ 처리
  • μ—¬λŸ¬λͺ…μ˜ μ‚¬μš©μžκ°€ 같은 μˆ™μ†Œ λ™μ‹œ μ£Όλ¬Έ μ‹œ 선점에 λ”°λ₯Έ ν’ˆμ ˆ 처리
μ—¬λŸ¬λͺ…μ˜ μ‚¬μš©μžκ°€ 같은 μˆ™μ†Œ λ™μ‹œ μ£Όλ¬Έ μ‹œ 선점에 λ”°λ₯Έ ν’ˆμ ˆ 처리

8. μ˜ˆμ•½ 및 결제

  • μ£Όλ¬Έ 및 결제 κ°€λŠ₯ν•œ νŽ˜μ΄μ§€
μ—¬λŸ¬λͺ…μ˜ μ‚¬μš©μžκ°€ 같은 μˆ™μ†Œ λ™μ‹œ μ£Όλ¬Έ μ‹œ 선점에 λ”°λ₯Έ ν’ˆμ ˆ 처리
  • 전체 μ˜ˆμ•½ λ‚΄μ—­ 쑰회
μ—¬λŸ¬λͺ…μ˜ μ‚¬μš©μžκ°€ 같은 μˆ™μ†Œ λ™μ‹œ μ£Όλ¬Έ μ‹œ 선점에 λ”°λ₯Έ ν’ˆμ ˆ 처리

λ¦¬νŒ©ν† λ§

κΈ°κ°„: 23/12/04 ~ 23/12/15

백상원
1. μƒˆλ‘œμš΄ κΈ°λŠ₯ 개발
  
  - μ°œν•˜κΈ° κΈ°λŠ₯ κ΅¬ν˜„
    => μˆ™μ†Œ 상세 νŽ˜μ΄μ§€μ—μ„œ 등둝 및 μ œκ±°κ°€ κ°€λŠ₯ν•˜λ©° μ°œν•œ μˆ™μ†Œ νŽ˜μ΄μ§€μ—μ„œλ„ 확인 및 등둝, μ œκ±°κ°€ κ°€λŠ₯

2. μˆ˜μ •μ‚¬ν•­

    μ—λŸ¬ ν•΄κ²°

    - 검색 μ‹œ μƒˆλ‘œκ³ μΉ¨μ„ ν•˜λ©° μ΄λ™ν•˜μ—¬ λ¦¬μ•‘νŠΈ 쿼리의 정보가 λ‚ μ•„κ°€κΈ° λ•Œλ¬Έμ— μ„œλ²„ 호좜이 μž¦μ•„μ§€λŠ” ν˜„μƒ
      => μƒˆλ‘œκ³ μΉ¨μ΄ μ•„λ‹Œ 쿼리슀트링의 λ³€ν™”λ₯Ό κ°μ§€ν•˜μ—¬ μƒνƒœκ°€ μ—…λ°μ΄νŠΈ λ˜λ„λ‘ μˆ˜μ •
    
    - λΉ λ₯΄κ²Œ λ Œλ”λ§ λ˜λŠ” νŽ˜μ΄μ§€μ—μ„œ λΆˆν•„μš”ν•˜κ²Œ λ‘œλ”©μ°½μ΄ μƒμ„±λ˜μ–΄ κΉœλ°•μ—¬λ³΄μ΄λŠ” ν˜„μƒ
      => ν•΄λ‹Ή νŽ˜μ΄μ§€μ—μ„œ λ‘œλ”©μ°½ 제거
    
    - 둜그인 μ‹œ κ°„ν—μ μœΌλ‘œ μž₯λ°”κ΅¬λ‹ˆμ— 데이터가 λ“€μ–΄μ˜€μ§€ μ•Šλ˜ ν˜„μƒ μˆ˜μ •
      => μœ μ €μ˜ 토큰 정보가 ν•¨μˆ˜ 밖에 μ„ μ–Έλ˜μ–΄ μžˆμ–΄μ„œ ν•¨μˆ˜κ°€ μ‹€ν–‰λ˜λŠ” μ‹œμ μ— μ΅œμ‹  토큰을 μ‚¬μš©ν•˜μ§€ λͺ»ν•˜μ—¬ ν•΄λ‹Ή λΆ€λΆ„ μˆ˜μ •
    
    λ‹¨μˆœ κ°œμ„ 
    
    - μΉ΄ν…Œκ³ λ¦¬ λ¬΄ν•œμŠ€ν¬λ‘€ μ˜΅μ €λ²„ 인식 λ²”μœ„ μ‘°μ •ν•˜μ—¬ λΆ€λ“œλŸ½κ²Œ 슀크둀 내렀지도둝 μˆ˜μ •

    - 검색 쑰건을 λΆ€μ—¬ν•˜κ³  μ—”ν„°ν‚€λ₯Ό λˆŒλ €μ„ λ•Œ λ°”λ‘œ 이동할 수 μžˆλ„λ‘ μˆ˜μ •
    
    - μΉ΄ν…Œκ³ λ¦¬ νŽ˜μ΄μ§€μ™€ 검색 νŽ˜μ΄μ§€ λ¦¬μŠ€νŒ… λ””μžμΈ λ³€κ²½


3. 회고
  
    이전 ν”„λ‘œμ νŠΈμ™€ 달리 λ°±μ—”λ“œ κ°œλ°œμžλΆ„λ“€κ³Ό 직접 μ†Œν†΅μ„ ν•˜λ©° λ‘œμ§μ„ κ³ μ³κ°€λŠ” μž‘μ—…μ„ ν•˜λ©΄μ„œ 초기 기획 μ‹œ μ„œλ‘œ 주고받을 데이터에 λŒ€ν•œ
  ꡬ쑰 및 νƒ€μž… 확정이 μ–Όλ§ˆλ‚˜ μ€‘μš”ν•œμ§€ κΉ¨λ‹«κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ λ‹€μ–‘ν•œ κΈ°λŠ₯을 μ™„μ„±ν•˜λŠ” 것도 μ€‘μš”ν•˜μ§€λ§Œ ν•˜λ‚˜λ₯Ό ν•˜λ”λΌλ„ 버그가 μ—†λŠ” 것이
  더 μ€‘μš”ν•˜λ‹€κ³  느꼈고 λ•Œλ¬Έμ— μ½”λ“œ ν•œ 쀄 ν•œ μ€„μ˜ 의미λ₯Ό 더 μƒκ°ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 개발 뿐만이 μ•„λ‹Œ νšŒμ˜λ‚˜ 일정 μ‘°λ₯  λ“±μ—μ„œλ„ λ‹€λ₯Έ νŒ€κ³Όμ˜
  μ†Œν†΅ 방법에 λŒ€ν•΄ μƒκ°ν•˜κ²Œ λ˜μ—ˆκ³  μƒν˜Έ 쑴쀑을 μ–΄λ–»κ²Œ ν•˜λ©΄ 쒋을 μ§€ κ³ λ―Όν•˜κ²Œ λ˜μ—ˆλ˜ μ‹œκ°„μ΄μ—ˆμŠ΅λ‹ˆλ‹€.

μ •μ§€μ˜€

λ¦¬νŒ©ν† λ§ λ‚΄μš©

카카였맡 API μΆ”κ°€ -> μˆ™μ†Œ μœ„μΉ˜ 마컀 λ Œλ”λ§
마컀 클릭 μ‹œ μ»€μŠ€ν…€ μ˜€λ²„λ ˆμ΄ λ Œλ”λ§ -> 클릭 μ‹œ κΈΈμ°ΎκΈ° νŽ˜μ΄μ§€ 생성
μˆ™μ†Œμƒμ„Έμ •λ³΄ API 변경에 λ”°λ₯Έ μΆ”κ°€ 정보 get
μž₯λ°”κ΅¬λ‹ˆ API 변경에 λ”°λ₯Έ 둜직 처리
μ˜ˆμ•½ν•˜κΈ° API 변경에 λ”°λ₯Έ 둜직 처리

μŠ€ν¬λ¦°μƒ·

ezgif com-video-to-gif-converted (5)

  • 객싀 이미지 μŠ¬λΌμ΄λ” κ΅¬ν˜„
  • 이미지 없을 μ‹œ κΈ°λ³Έ 이미지 λ Œλ”λ§
  • μˆ™μ†Œ 상세 정보 API 좔가에 λ”°λ₯Έ μΆ”κ°€ 및 상세 정보 get 처리
  • μˆ™μ†Œ 상세 및 μΆ”κ°€ 정보 μ•„μ΄μ½˜ 처리 및 κ°’(boolean = false)에 따라 μ·¨μ†Œμ„  적용

ezgif com-video-to-gif-converted (10)
ezgif com-video-to-gif-converted (11)

  • μž₯λ°”κ΅¬λ‹ˆ API 변경에 λ”°λ₯Έ post 처리
  • λ‚ μ§œλ§ˆλ‹€ 남은 객싀 수만큼 μž₯λ°”κ΅¬λ‹ˆ λ‹΄κΈ° κ°€λŠ₯

ezgif com-video-to-gif-converted (7)

  • 객싀 μ‹œμ„€ 및 μ„œλΉ„μŠ€ 정보
  • μ•„μ΄μ½˜ 적용 및 값에 따라 μ·¨μ†Œμ„  적용

ezgif com-video-to-gif-converted (8)

  • 카카였맡 API -> μˆ™μ†Œ μœ„μΉ˜ 마컀 μ„€μ •
  • μ»€μŠ€ν…€ μ˜€λ²„λ ˆμ΄λ₯Ό ν†΅ν•œ UI 섀계
  • κΈΈμ°ΎκΈ° μ•„μ΄μ½˜ 클릭 μ‹œ, ν•΄λ‹Ή μˆ™μ†Œ μ£Όμ†Œλ‘œ 카카였 κΈΈμ°ΎκΈ° μ‹€ν–‰

ezgif com-video-to-gif-converted (4)

  • μ˜ˆμ•½ν•˜κΈ° API 변경에 λ”°λ₯Έ post 처리



μ—λŸ¬ 사항
image

카카였맡 APIλ₯Ό 웹앱에 처음 μ μš©ν•΄λ΄€λŠ”λ° 크기 및 높이λ₯Ό μ„€μ •ν•˜λŠ” λΆ€λΆ„κ³Ό μš”μ†Œλ“€μ„ μŠ€νƒ€μΌλ§ ν•˜λŠ”λ°μ„œ λ§Žμ€ λ¬Έμ œκ°€ μžˆμ—ˆλ‹€.
ReactλŠ” useEffect 훅을 μ œκ³΅ν•΄μ£ΌλŠ”λ° 이 ν›…μ—μ„œ 카카였맡 API μ½”λ“œλ₯Ό μž‘μ„±ν•˜λΌν•΄μ„œ κ°€μ΄λ“œλŒ€λ‘œ μ§„ν–‰ν–ˆλŠ”λ°,
μœ„ 사진과 같은 였λ₯˜κ°€ λ‚˜μ™”λ‹€. Reactμ—μ„œλŠ” μš°λ¦¬κ°€ HTML의 script νƒœκ·Έμ—μ„œ λ‘œλ“œν•œ κ°μ²΄λŠ” 무쑰건 window 객체 밑에 λΆ™κ²Œ λ˜μ–΄μžˆλŠ”λ°,
κ·Έλž˜μ„œ μ•„λž˜μ™€ 같이"window.kakao"λΌλŠ” λ°©μ‹μœΌλ‘œ μ‚¬μš©ν•΄μ•Ό 함을 μ•Œκ²Œ λ˜μ—ˆλ‹€.
image >



회고

λ°±μ—”λ“œμ™€μ˜ ν˜‘μ—…μ„ 처음 ν•΄λ΄μ„œ λ§Žμ€ 어렀움이 μžˆμ—ˆλ‹€. post, getν•˜λŠ” 원리 및 방식도 잘 λͺ°λžμ—ˆκ³  ν”„λ‘ νŠΈ κ°œλ…μ΄ μ™„μ „νžˆ μž‘ν˜€μžˆμ§€ μ•Šμ€ μƒνƒœμ—μ„œ ν•˜λ‹ˆ 어렀움은 배둜 λŠκ»΄μ‘Œμ—ˆλ‹€.
κ·Έλž˜λ„ 지속적인 회의 및 κ°œλ°œμ„ 톡해 μ΅œμ’…μ μœΌλ‘œλŠ” λ°±μ—”λ“œμ—μ„œ 전달해쀀 apiλ₯Ό λ‹€ 잘 μ‚¬μš©ν•  수 μžˆμ—ˆλ‹€. μˆ™μ†Œ 상세 νŽ˜μ΄μ§€λ₯Ό λ§‘μ•„ μˆ™μ†Œμ •λ³΄λ₯Ό 뢈러였고 μž₯λ°”κ΅¬λ‹ˆμ— λ‹΄κ³  λ°”λ‘œ μ˜ˆμ•½ν•˜λŠ” λ“±
λ§Žμ€ apiλ₯Ό μ‚¬μš©ν•˜λŠ” 것이 뢀담이 λ˜μ—ˆμ§€λ§Œ 그만큼 λ°±μ—”λ“œμ™€μ˜ 톡신을 곡뢀할 수 μžˆμ–΄μ„œ 많이 μ„±μž₯ν•˜λŠ” 계기가 λ˜μ—ˆλ˜ 것 κ°™λ‹€. λ‹€μŒ ν”„λ‘œμ νŠΈ μ‹œμ—λŠ” λ°±μ—”λ“œ 지식을 μ’€ 더 κ°–μΆ°μ„œ
λ°±μ—”λ“œμ™€μ˜ μ†Œν†΅μ„ 더 μ›ν™œν•˜κ²Œ ν•  수 μžˆλŠ” ν”„λ‘ νŠΈμ—”λ“œ κ°œλ°œμžκ°€ λ˜κ³ μ‹Άλ‹€λŠ” 생각을 κ°€μ§€κ²Œ λ˜μ—ˆλ‹€.

μž₯수빈
  1. λ¦¬νŒ©ν† λ§ λ‚΄μš©
- 객싀 상세 정보 API 좔가에 λ”°λ₯Έ UI κ΅¬ν˜„
- μž₯λ°”κ΅¬λ‹ˆ API 변경에 λ”°λ₯Έ 둜직 처리 
  - 쑰회, μ£Όλ¬Έ, μ‚­μ œ, ν’ˆμ ˆ 처리 
- 상세 νŽ˜μ΄μ§€μ—μ„œ μž₯λ°”κ΅¬λ‹ˆ POST μ‹œ 헀더 μˆ˜λŸ‰ λ³€κ²½
  1. μŠ€ν¬λ¦°μƒ·
  • 객싀 상세 정보 API 좔가에 λ”°λ₯Έ UI κ΅¬ν˜„

    ezgif com-video-to-gif-converted


  1. μ—λŸ¬ 사항
1. 상세 νŽ˜μ΄μ§€μ—μ„œ μ•„μ΄ν…œμ„ μž₯λ°”κ΅¬λ‹ˆμ— 넣을 λ•Œ(post), 헀더 μž₯λ°”κ΅¬λ‹ˆ μˆ˜λŸ‰μ΄ λ³€ν•˜μ§€ μ•Šμ•˜λ˜ ν˜„μƒ

  - POSTλ₯Ό μ œμ™Έν•œ μž₯λ°”κ΅¬λ‹ˆ κ΄€λ ¨ APIλ₯Ό React Query둜 κ΄€λ¦¬ν•˜κ³  μžˆμ—ˆλŠ”λ° post 뢀뢄은 쿼리와 연결이 λ˜μ–΄ μžˆμ§€ μ•Šμ•„μ„œ post ν•˜λŠ” λΆ€λΆ„μ˜ APIλ₯Ό λ‹€λ₯Έ μž₯λ°”κ΅¬λ‹ˆμ˜ API와 λ™μΌν•˜κ²Œ 쿼리둜 κ΄€λ¦¬ν•œ ν›„, mutation을 μ‚¬μš©ν•˜μ—¬ μž₯λ°”κ΅¬λ‹ˆμ— μ•„μ΄ν…œμ΄ 좔가될 λ•Œλ§ˆλ‹€ 헀더 μˆ˜λŸ‰μ΄ 변경될 수 μžˆλ„λ‘ μˆ˜μ •ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

  1. 회고
λ°±μ—”λ“œμ™€ ν˜‘μ—… κ²½ν—˜μ΄ 이번이 μ²˜μŒμ΄μ—ˆλŠ”λ°, μ†Œν†΅μ„ ν•˜λ €λ©΄ ν”„λ‘ νŠΈμ— λŒ€ν•΄μ„œλ§Œ μ•„λŠ” 것이 μ•„λ‹Œ λ°±μ—”λ“œμ˜ 지식을 ν•¨κ»˜ κ²ΈλΉ„ν•΄μ•Ό ν•œλ‹€λŠ” 것을 κΉ¨λ‹«κ²Œ 된 ν”„λ‘œμ νŠΈμ˜€μŠ΅λ‹ˆλ‹€. λ˜ν•œ μ£Όμ–΄μ§„ κΈ°κ°„ μ•ˆμ— ν”„λ‘ νŠΈμ—”λ“œ, λ°±μ—”λ“œ 일정 쑰율이 맀우 μ€‘μš”ν•˜λ‹€λŠ” 것을 λͺΈμ†Œ 느끼게 λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 

μ†Œμœ λ‚˜
1. κ΅¬ν˜„ κΈ°λŠ₯
  
  - 결제 νŽ˜μ΄μ§€ κ΅¬ν˜„ 및 api μ—°κ²°(μž₯λ°”κ΅¬λ‹ˆ/μ˜ˆμ•½ νŽ˜μ΄μ§€μ—μ„œ λ„˜μ–΄μ˜€λŠ” data get)

  - κ²°μ œν•˜κΈ° λ²„νŠΌ api μ—°κ²° 

  - 결제 νŽ˜μ΄μ§€μ—μ„œ μ·¨μ†Œν•˜κΈ° api μ—°κ²°
  
  - 결제 μ™„λ£Œ νŽ˜μ΄μ§€ κ΅¬ν˜„ 및 api μ—°κ²°

  - 전체 μ£Όλ¬Έ λ‚΄μ—­ 확인 νŽ˜μ΄μ§€ κ΅¬ν˜„ 및 api μ—°κ²°


2. μ—λŸ¬ 사항

  - 결제 νŽ˜μ΄μ§€μ—μ„œ μ²΄ν¬λ°•μŠ€λ₯Ό λ¨Όμ € λˆ„λ₯΄κ³  ν•„μˆ˜ μž…λ ₯ 사항을 μž…λ ₯ν•˜λ©΄ λ°”λ‘œ κ²°μ œν•˜κΈ° λ²„νŠΌ ν™œμ„±ν™” μ•ˆ λ˜λŠ” λ¬Έμ œκ°€ μžˆλ‹€


3. 회고
  
  - 처음으둜 λ°±μ—”λ“œμ™€ ν˜‘μ—…ν•΄μ„œ μž‘μ—…ν–ˆλŠ”λ° apiλ₯Ό μ—°κ²°ν•΄μ„œ 데이터λ₯Ό λ°›μ•„μ˜€κ³  μ‚¬μš©ν•˜κ³  λ°±μ—”λ“œμ— 데이터λ₯Ό λ³΄λ‚΄λŠ” 방법을 잘 ν„°λ“ν•œ 것 κ°™λ‹€. 이번 ν˜‘μ—…μ„ ν†΅ν•΄μ„œ λ°±μ—”λ“œ 지식도 κΌ­ ν•„μš”ν•˜κ² κ΅¬λ‚˜λ₯Ό 느꼈고 λΆ€μ‘±ν•œ λΆ€λΆ„κ³Ό μ•žμœΌλ‘œ 더 곡뢀해야할 뢀뢄을 μ•Œκ²Œλœ 것 κ°™λ‹€.



API λ¬Έμ„œ

API λ¬Έμ„œ
β€» Spring REST Docs둜 λ¬Έμ„œν™”ν–ˆμŠ΅λ‹ˆλ‹€.

index

Member API Docs

Product API Docs

Cart API Docs

Reservation API Docs

Reservation Product API Docs

Star API Docs

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5

Languages