hyuntaeng / Shimpyo-backend

RESTful API - Accommodation Operation and Reservation Service

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Shimpyo back-end

πŸ“‘ λͺ©μ°¨

πŸ‘‹ ν”„λ‘œμ νŠΈ κ°œμš”

μ‰Όν‘œλŠ” μˆ™μ†Œλ₯Ό 직접 λ“±λ‘ν•˜κ±°λ‚˜ μ˜ˆμ•½ν•  수 μžˆλŠ” 톡합 μˆ™λ°•μ˜ˆμ•½ μ„œλΉ„μŠ€μž…λ‹ˆλ‹€.

  • λΉ„μš© 문제둜 μΈν•˜μ—¬ 2023. 12. 31 κΉŒμ§€ μš΄μ˜λ©λ‹ˆλ‹€.

πŸ“… ν”„λ‘œμ νŠΈ κΈ°κ°„

  1. 06 ~ 2023. 07

πŸ‘ͺ 멀버 ꡬ성

이름 μ—­ν•  κΈ°λŠ₯
μ΄μ§€ν™˜ νŒ€μž₯ AWS EC2 μ„œλ²„ ꡬ좕, 배포 μžλ™ν™”, μˆ™μ†Œ, κ΄€μ‹¬μˆ™μ†Œ
μ΄ν˜Έμ„ νŒ€μ› 배포 μžλ™ν™”, JSON 응닡 λͺ¨λ“ˆν™”, μ˜ˆμ•½, 결제, 리뷰
ν•œμž¬λ―Ό νŒ€μ› DB섀계, νšŒμ›(JWT , SMS 인증, μ†Œμ…œ 둜그인)

πŸ’» 개발 ν™˜κ²½

Architecture

development_map

ERD

KakaoTalk_20230717_170522640 )

API

API λͺ…μ„Έμ„œ λ°”λ‘œκ°€κΈ°

πŸ”§ 기술 μŠ€νƒ

  • Java 11
  • Spring Boot 2.7, Spring Security, Spring Data JPA, Querydsl
  • MySQL, Git, GitHub, GitHub Actions
  • AWS EC2, AWS RDS, AWS S3, AWS CodeDeploy

πŸ’» μ£Όμš” κΈ°λŠ₯ 및 상세

νšŒμ› 관리

κΈ°λŠ₯ λ‚΄μš©
νšŒμ›κ°€μž… 개인 정보λ₯Ό μž…λ ₯λ°›μ•„μ„œ νšŒμ›κ°€μž…μ„ ν•˜κ±°λ‚˜ μ†Œμ…œ 둜그인(넀이버, ꡬ글)을 ν†΅ν•˜μ—¬ μΆ”κ°€ 정보λ₯Ό μž…λ ₯λ°›μ•„μ„œ νšŒμ›κ°€μž…μ„ ν•  수 μžˆλ‹€.
둜그인 Spring Security와 JWT 토큰을 μ΄μš©ν•˜μ—¬ 아이디와 λΉ„λ°€λ²ˆν˜Έλ₯Ό μž…λ ₯ν•΄ λ‘œκ·ΈμΈν•˜κ±°λ‚˜, μ†Œμ…œ 둜그인으둜 λ‘œκ·ΈμΈν•  수 μžˆλ‹€.
νšŒμ› & λΉ„νšŒμ› ꡬ뢄 μŠ€ν”„λ§ μ‹œνλ¦¬ν‹°μ˜ Anonymousλ₯Ό ν†΅ν•˜μ—¬ νšŒμ›κ³Ό λΉ„νšŒμ›μ„ ꡬ뢄할 수 μžˆλ‹€.
νšŒμ› 정보 μˆ˜μ • 이메일, νŒ¨μŠ€μ›Œλ“œ, νœ΄λŒ€ν° 번호 λ“± νšŒμ›μ˜ 정보λ₯Ό μˆ˜μ •ν•  수 μžˆλ‹€.
μ†Œμ…œ 둜그인 카카였, 넀이버, ꡬ글 λ“± μ†Œμ…œ 둜그인이 κ°€λŠ₯ν•˜λ‹€.
JWT 토큰 둜그인 μ‹œ Access Tokenκ³Ό Refresh Token을 λ°œκΈ‰ λ°›μ•„ 인증할 수 μžˆλ‹€.

μˆ™μ†Œ

κΈ°λŠ₯ λ‚΄μš©
μˆ™μ†Œ 및 객싀 등둝 νšŒμ›μ€ λˆ„κ΅¬λ‚˜ μˆ™μ†Œλ₯Ό 등둝할 수 있으며, μˆ™μ†Œ 및 객싀에 λŒ€ν•œ 세뢀적인 정보듀을 μœ λ™μ μœΌλ‘œ 등둝할 수 μžˆλ‹€.
μˆ™μ†Œ λͺ©λ‘ μ˜ˆμ•½ κ°€λŠ₯ν•œ μˆ™μ†Œ λͺ©λ‘μ„ 보여주며, μˆ™μ†Œ μœ ν˜•, 지역, μ˜ˆμ•½μΌμž, 인원 수 등을 ν†΅ν•œ 쑰건뢀 검색이 κ°€λŠ₯ν•˜λ‹€.
μˆ™μ†Œ 상세 정보 μˆ™μ†Œ 및 객싀에 λŒ€ν•œ 정보λ₯Ό μƒμ„Έν•˜κ²Œ 확인할 수 있으며 μ˜ˆμ•½μΌμžλ₯Ό 선택함에 따라 μ˜ˆμ•½ κ°€λŠ₯ μ—¬λΆ€λ₯Ό λ™μ μœΌλ‘œ 확인할 수 있으며, 리뷰 ν˜„ν™©μ„ 확인할 수 μžˆλ‹€.
λ“±λ‘ν•œ μˆ™μ†Œ λͺ©λ‘ μžμ‹ μ΄ λ“±λ‘ν•œ μˆ™μ†Œ λͺ©λ‘μ„ 확인 ν•  수 μžˆλ‹€.
μˆ™μ†Œ μˆ˜μ • μžμ‹ μ΄ λ“±λ‘ν•œ μˆ™μ†Œ 정보λ₯Ό μˆ˜μ •ν•  수 μžˆλ‹€.
객싀 μˆ˜μ • μžμ‹ μ΄ λ“±λ‘ν•œ μˆ™μ†Œμ˜ κ°œλ³„ 객싀에 λŒ€ν•œ 정보λ₯Ό μˆ˜μ •ν•  수 μžˆλ‹€.
μˆ™μ†Œ μ‚­μ œ μžμ‹ μ΄ λ“±λ‘ν•œ μˆ™μ†Œ 정보λ₯Ό μ‚­μ œν•  수 있으며, μˆ™μ†Œλ₯Ό μ‚­μ œν•˜λ©΄ μˆ™μ†Œμ™€ κ΄€λ ¨λœ 객싀 μ •λ³΄λ“€κΉŒμ§€ ν•œλ²ˆμ— μ‚­μ œλœλ‹€.
객싀 μ‚­μ œ μˆ™μ†Œμ˜ κ°œλ³„ 객싀 정보λ₯Ό μ‚­μ œν•  수 μžˆλ‹€.
관심 μˆ™μ†Œ 등둝 νšŒμ›μ€ μ΅œλŒ€ 20κ°œκΉŒμ§€ μ›ν•˜λŠ” μˆ™μ†Œλ₯Ό 관심 μˆ™μ†Œλ‘œ 등둝할 수 μžˆλ‹€.
관심 μˆ™μ†Œ λͺ©λ‘ 관심 μˆ™μ†Œλ‘œ λ“±λ‘ν•œ μˆ™μ†Œλ“€μ˜ λͺ©λ‘μ„ 확인할 수 있으며, μˆ™μ†Œ 상세정보λ₯Ό λ³΄κ±°λ‚˜ 관심 μˆ™μ†Œμ—μ„œ μ‚­μ œν•  수 μžˆλ‹€.
관심 μˆ™μ†Œ μ‚­μ œ 관심 μˆ™μ†Œλ‘œ λ“±λ‘λœ μˆ™μ†Œλ₯Ό 관심 μˆ™μ†Œ λͺ©λ‘μ—μ„œ μ‚­μ œν•  수 μžˆλ‹€.

결제, μ˜ˆμ•½

κΈ°λŠ₯ λ‚΄μš©
결제 및 μ˜ˆμ•½ 생성 μ˜ˆμ•½ν•˜κ³  싢은 μˆ™μ†Œμ˜ λ‚ μ§œλ₯Ό μ„ νƒν•˜κ³  결제 νŽ˜μ΄μ§€ μ§„μž…μ‹œ 결제 μ€€λΉ„ νŽ˜μ΄μ§€κ°€ 화면에 λ‚˜νƒ€λ‚œλ‹€. κ²°μ œν•˜κΈ° λ²„νŠΌ μ„ νƒμ‹œ ν¬νŠΈμ›μ„ μ΄μš©ν•œ 결제창이 μƒμ„±λœλ‹€. νšŒμ›, λΉ„νšŒμ›μ— 따라 등급할인, 쿠폰선택을 ν•  수 μžˆλ‹€.
결제 및 μ˜ˆμ•½ μˆ˜μ • λ“±λ‘ν•œ μ˜ˆμ•½μ„ μˆ˜μ •ν•  수 μžˆλ‹€.
결제 및 μ˜ˆμ•½ μ‚­μ œ λ“±λ‘ν•œ μ˜ˆμ•½μ„ μ‚­μ œν•  수 μžˆλ‹€.
μˆ™μ†Œ μ˜ˆμ•½ λͺ©λ‘ μžμ‹ μ΄ λ“±λ‘ν•œ μˆ™μ†Œλ₯Ό μ„ νƒν•΄μ„œ μˆ™μ†Œλ³„, μ˜ˆμ•½ μƒνƒœλ³„λ‘œ μ˜ˆμ•½ ν˜„ν™©μ„ 확인할 수 μžˆλ‹€.
μ˜ˆμ•½ 쑰회 μ˜ˆμ•½ν•œ μˆ™μ†Œμ˜ 정보, μ˜ˆμ•½ λ‚ μ§œλ₯Ό 확인할 수 있고, μˆ™μ†Œ 주인의 마이 νŽ˜μ΄μ§€λ‘œ 이동이 κ°€λŠ₯ν•˜λ‹€.

마이 νŽ˜μ΄μ§€

κΈ°λŠ₯ λ‚΄μš©
μ˜ˆμ•½ λͺ©λ‘ μ˜ˆμ•½ν•œ ν˜„ν™©μ„ λ³Ό 수 있으며, μ˜ˆμ•½ μˆ˜μ •, μ·¨μ†Œκ°€ κ°€λŠ₯ν•˜λ‹€. μˆ™μ†Œ 이용이 λλ‚œ μƒνƒœλΌλ©΄ λ¦¬λ·°μž‘μ„±μ΄ κ°€λŠ₯ν•˜λ‹€.
리뷰 λͺ©λ‘ 쑰회 μž‘μ„±ν•œ 리뷰듀을 확인할 수 μžˆλ‹€.
리뷰 λͺ©λ‘ μˆ˜μ • μž‘μ„±ν•œ 리뷰듀을 μˆ˜μ •ν•  수 μžˆλ‹€.
리뷰 λͺ©λ‘ μ‚­μ œ μž‘μ„±ν•œ 리뷰듀을 μ‚­μ œν•  수 μžˆλ‹€.

🎬 μ‹œμ—° μ˜μƒ

About

RESTful API - Accommodation Operation and Reservation Service


Languages

Language:Java 98.3%Language:Shell 1.7%