Skip to content

casealot/casealot-backend

Repository files navigation

casealot-logo

πŸ“’ ν”„λ‘œμ νŠΈ μ„€λͺ…

CASE A LOT μ‡Όν•‘λͺ° 개발

βš™ 개발 ν™˜κ²½

운영체제 :  Windows
ν†΅ν•©κ°œλ°œν™˜κ²½(IDE) : IntelliJ
JDK 버전 : JDK 17
데이터 베이슀 : Mysql
λΉŒλ“œ 툴 : Gradle-7.6.1
CI/CD : jenkins
관리 툴 : GitHub
μ›Ή ν˜ΈμŠ€νŒ… : AWS(EC2, S3, RDS, ROUTE 53)

πŸ’» 기술 μŠ€νƒ

Backend

Database

DevOps

Collaboration tool

πŸ‘³β€β™‚οΈ ADMIN

였늘의 할일을 톡해 였늘의 μ£Όλ¬Έ, κ΅ν™˜, μ·¨μ†Œ, 문의 개수λ₯Ό νŒŒμ•…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
였늘의 할일을 톡해 μ£Όλ¬Έ, κ΅ν™˜, μ·¨μ†Œ, 문의 λ‚΄μ—­μ˜ λͺ©λ‘μ„ μ΅œμ‹ μˆœμœΌλ‘œ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.
μ£Όκ°„ 주문건 수, λ§€μΆœμ•‘ , κ°€μž…μž 수, 문의 λ‚΄μ—­ 수λ₯Ό μΌμžλ³„λ‘œ 쑰회 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
μ£Όκ°„ 맀좜 ν˜„ν™©κ³Ό 주문건수λ₯Ό 각각 κ·Έλž˜ν”„λ‘œ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

Product

κ΄€λ¦¬μžλŠ” κ΄€λ¦¬μž ν™”λ©΄μ—μ„œ μƒν’ˆ 등둝, μˆ˜μ •, μ‚­μ œκ°€ κ°€λŠ₯ν•©λ‹ˆλ‹€.
κ΄€λ¦¬μžλŠ” μƒν’ˆ 사진을 등둝 ν•  수 μžˆμŠ΅λ‹ˆλ‹€. (Amazon S3)
μƒν’ˆ λ“±λ‘μ‹œμ—λŠ” 이름, 색상, 가격, μΉ΄ν…Œκ³ λ¦¬λ₯Ό μž‘μ„±ν•΄μ•Όν•©λ‹ˆλ‹€.
μƒν’ˆ μ‚­μ œ μ‹œ ν•΄λ‹Ή μƒν’ˆμ˜ 리뷰와 리뷰 λŒ“κΈ€μ€ λͺ¨λ‘ μ‚­μ œλ©λ‹ˆλ‹€.

QnA

κ΄€λ¦¬μžλŠ” μ‚¬μš©μžμ˜ λ¬Έμ˜μ— 닡변을 μž‘μ„±ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
κ΄€λ¦¬μžλŠ” 닡변을 μˆ˜μ •, μ‚­μ œ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
κ΄€λ¦¬μžλŠ” κ΄€λ¦¬μž ν™”λ©΄μ—μ„œ 닡변이 달리지 μ•Šμ€ 문의λͺ©λ‘μ„ 쑰회 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Notice

κ΄€λ¦¬μžλŠ” 곡지사항을 μž‘μ„±, μˆ˜μ •, μ‚­μ œ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
곡지 μž‘μ„±μ—λŠ” 제λͺ©κ³Ό λ‚΄μš©μ΄ μž‘μ„±λ˜μ–΄μ•Όν•©λ‹ˆλ‹€.

πŸ™β€β™‚οΈ USER

μ‚¬μš©μžλŠ” νšŒμ›κ°€μž…μ„ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
νšŒμ›κ°€μž… μ‹œμ—λŠ” 아이디, λΉ„λ°€λ²ˆν˜Έ, 이메일 μ£Όμ†Œ, 이름, μ „ν™”λ²ˆν˜Έ, μ£Όμ†Œλ₯Ό μž…λ ₯ν•΄μ•Όν•˜λ©° μ•„μ΄λ””λŠ” κ³ μœ ν•΄μ•Ό ν•©λ‹ˆλ‹€.
μ‚¬μš©μžλŠ” νšŒμ›κ°€μž…μ‹œ μž…λ ₯ν•œ 아이디, λΉ„λ°€λ²ˆν˜Έλ‘œ λ‘œκ·ΈμΈμ„ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
μ‚¬μš©μžλŠ” Social Login 을 μ§„ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€. (OAuth2 : 카카였, 넀이버)
둜그인이 μ™„λ£Œλ˜λ©΄ JSON Web Token(Access Token & Refresh Token) 이 λ°œκΈ‰λ©λ‹ˆλ‹€.
μ‚¬μš©μžλŠ” νšŒμ›μ •λ³΄, μž₯λ°”κ΅¬λ‹ˆ, μœ„μ‹œλ¦¬μŠ€νŠΈ, 배솑정보λ₯Ό 쑰회 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
μ‚¬μš©μžλŠ” νšŒμ› 정보λ₯Ό μˆ˜μ •ν•  수 있으며, ν”„λ‘œν•„ 사진을 등둝할 수 μžˆμŠ΅λ‹ˆλ‹€.

Token

μ‚¬μš©μžλŠ” λ‘œκ·ΈμΈμ‹œ Access Token κ³Ό Refresh Token을 λΆ€μ—¬λ°›μŠ΅λ‹ˆλ‹€.
Access Token μ‹œκ°„μ΄ 만료되면 Refresh Token 을 톡해 Access Token을 κ°±μ‹ λ°›μŠ΅λ‹ˆλ‹€.
μ‚¬μš©μžμ˜ Access Token 은 λ‘œκ·Έμ•„μ›ƒμ‹œ BlackList Token 에 λ“±λ‘λ©λ‹ˆλ‹€.
BlackList Token 에 λ“±λ‘λœ 토큰은 λ‹€μ‹œ μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

Product

μ‚¬μš©μžλŠ” μƒν’ˆλͺ©λ‘μ„ 쑰회 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
μƒν’ˆλͺ©λ‘μ΄ λ§Žμ„ 수 μžˆμœΌλ―€λ‘œ νŽ˜μ΄μ§• 처리λ₯Ό ν•©λ‹ˆλ‹€.
μ‚¬μš©μžλŠ” μƒν’ˆμ„ μΉ΄ν…Œκ³ λ¦¬λ³„λ‘œ 쑰회 ν•  수 μžˆμŠ΅λ‹ˆλ‹€. (NEW, BEST, CAP, TOP ...)
μ‚¬μš©μžλŠ” μƒν’ˆμ„ 색상, κ°€κ²©μœΌλ‘œ 필터링 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
μ‚¬μš©μžλŠ” μƒν’ˆμ„ μ°œν•œμˆœ, κ°€κ²©μˆœ, ν• μΈμœ¨μˆœ, νŒλ§€λŸ‰μˆœ, ν‰μ μˆœ, 리뷰순으둜 μ •λ ¬ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
μ‚¬μš©μžλŠ” μƒν’ˆμ„ 검색 ν•  수 있으며, μƒν’ˆλͺ… μžλ™μ™„μ„±μ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€.
μ‚¬μš©μžλŠ” νŠΉμ • μƒν’ˆμ˜ 정보λ₯Ό μžμ„Ένžˆ 쑰회 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
νŠΉμ • μƒν’ˆμ˜ μ •λ³΄μ—λŠ” μƒν’ˆλͺ…, 가격, ν• μΈμœ¨, 별점평균, μœ„μ‹œλ¦¬μŠ€νŠΈ λ“±λ‘νšŸμˆ˜, μƒν’ˆμ‚¬μ§„, μƒν’ˆλ¦¬λ·°κ°€ μžˆμŠ΅λ‹ˆλ‹€.

REVIEW

μƒν’ˆμ„ κ΅¬λ§€ν•œ μ‚¬μš©μžμ— ν•œν•΄ 리뷰λ₯Ό μž‘μ„± ν•  수 있고 리뷰 μž‘μ„±μ€ ν•œλ²ˆλ§Œ κ°€λŠ₯ν•©λ‹ˆλ‹€.
λ¦¬λ·°μ—λŠ” λ‚΄μš©κ³Ό 별점을 μž‘μ„±ν•˜λ©°, 본인의 리뷰λ₯Ό μˆ˜μ •, μ‚­μ œν•  수 μžˆμŠ΅λ‹ˆλ‹€.
리뷰에 λŒ€ν•œ λŒ“κΈ€μ„ μž‘μ„±ν•  수 있으며, 본인의 λŒ“κΈ€μ„ μˆ˜μ •, μ‚­μ œν•  수 μžˆμŠ΅λ‹ˆλ‹€.

CART

μ‚¬μš©μžλŠ” νŠΉμ • μƒν’ˆμ„ μ›ν•˜λŠ” μˆ˜λŸ‰λ§ŒνΌ μž₯λ°”κ΅¬λ‹ˆμ— μΆ”κ°€ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
μž₯λ°”κ΅¬λ‹ˆμ—μ„œ μƒν’ˆμ˜ μˆ˜λŸ‰μ„ 증가 λ˜λŠ” κ°μ†Œ ν•  수 있으며 μ‚­μ œκ°€ κ°€λŠ₯ν•©λ‹ˆλ‹€.
νŠΉμ • μƒν’ˆμ˜ 썸넀일, μƒν’ˆλͺ…, 가격, 할인 가격, μˆ˜λŸ‰, 총 κΈˆμ•‘μ„ 쑰회 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
μ‚¬μš©μžλŠ” μž₯λ°”κ΅¬λ‹ˆμ— λ‹΄κΈ΄ μƒν’ˆλ“€μ„ μ£Όλ¬Έν•  수 μžˆμŠ΅λ‹ˆλ‹€.

WISHLIST

μ‚¬μš©μžλŠ” νŠΉμ • μƒν’ˆμ„ μœ„μ‹œλ¦¬μŠ€νŠΈμ— 등둝 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
νŠΉμ • μƒν’ˆμ΄ 이미 μœ„μ‹œλ¦¬μŠ€νŠΈμ— λ“±λ‘λ˜μ–΄ 있으면 μœ„μ‹œλ¦¬μŠ€νŠΈμ— 등둝 ν•  수 μ—†μŠ΅λ‹ˆλ‹€.
μ‚¬μš©μžλŠ” μœ„μ‹œλ¦¬μŠ€νŠΈλ₯Ό μ‚­μ œ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Q&A

μ‚¬μš©μžλŠ” λ¬Έμ˜κΈ€μ„ 등둝, 쑰회, μˆ˜μ •, μ‚­μ œ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
본인이 μž‘μ„±ν•œ κΈ€μ˜ 경우 μˆ˜μ •, μ‚­μ œκ°€ κ°€λŠ₯ν•©λ‹ˆλ‹€  
등둝, μˆ˜μ •μ‹œμ—λŠ” 제λͺ©, λ‚΄μš© μž…λ ₯이 κ°€λŠ₯ν•©λ‹ˆλ‹€.
Q&A의 κ²Œμ‹œκΈ€μ΄ λ§Žμ„ 수 μžˆμœΌλ―€λ‘œ νŽ˜μ΄μ§• 처리λ₯Ό ν•©λ‹ˆλ‹€.

NOTICE

μ‚¬μš©μžλŠ” 곡지사항 λͺ©λ‘μ„ 쑰회 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
κ³΅μ§€μ‚¬ν•­μ˜ κ²Œμ‹œκΈ€μ΄ λ§Žμ„ 수 μžˆμœΌλ―€λ‘œ νŽ˜μ΄μ§• 처리λ₯Ό 톡해 λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
μ‚¬μš©μžλŠ” νŠΉμ • 곡지사항을 쑰회 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
μ‚¬μš©μžλŠ” νŠΉμ • 곡지사항에 λŒ“κΈ€μ„ μž‘μ„± ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
μ‚¬μš©μžλŠ” 본인이 μž‘μ„±ν•œ λŒ“κΈ€μ„ μˆ˜μ •, μ‚­μ œ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

ORDER

μ‚¬μš©μžλŠ” μƒν’ˆμ„ λ°”λ‘œκ΅¬λ§€ λ˜λŠ” μž₯λ°”κ΅¬λ‹ˆμ— λ‹΄κΈ΄ μƒν’ˆλ“€μ„ μ£Όλ¬Έ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
μ‚¬μš©μžλŠ” 본인의 주문을 μ·¨μ†Œν•  수 μžˆμŠ΅λ‹ˆλ‹€.
μ£Όλ¬Έ 생성 μ‹œ 랜덀 μ£Όλ¬Έλ²ˆν˜Έκ°€ μƒμ„±λ˜κ³  κ²°μ œλ‹¨κ³„λ‘œ λ„˜μ–΄κ°‘λ‹ˆλ‹€.

PAYMENT

μ£Όλ¬Έ 생성 μ‹œ 얻은 정보와 결제 정보λ₯Ό λΉ„κ΅ν•˜μ—¬ 검증을 μ§„ν–‰ν•©λ‹ˆλ‹€.
검증이 μ™„λ£Œλ˜λ©΄ μΉ΄λ“œμ •λ³΄λ₯Ό μž…λ ₯ν•˜κ³  결제λ₯Ό μ§„ν–‰ν•©λ‹ˆλ‹€.
κ²°μ œκ°€ μ™„λ£Œλ˜λ©΄ 랜덀 솑μž₯λ²ˆν˜Έκ°€ μƒμ„±λ˜κ³  λ°°μ†‘λ‹¨κ³„λ‘œ λ„˜μ–΄κ°‘λ‹ˆλ‹€.
μ‚¬μš©μžλŠ” κ²°μ œκ°€ μ™„λ£Œλœ 본인의 주문내역을 쑰회 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
μ‚¬μš©μžλŠ” 본인의 결제λ₯Ό μ·¨μ†Œν•  수 μžˆμŠ΅λ‹ˆλ‹€.

DELIVERY

본인의 주문건에 ν•΄λ‹Ήν•˜λŠ” 솑μž₯번호둜 ν˜„μž¬ 배솑 μƒνƒœλ₯Ό 쑰회 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
μ‹€μ œ 솑μž₯번호λ₯Ό μ‚¬μš©ν•  수 μ—†μ–΄ μž„μ˜μ˜ 솑μž₯번호λ₯Ό μƒμ„±ν•˜κ³ , μŠ€μΌ€μ₯΄λ§μ„ 톡해 λ°°μ†‘μƒνƒœλ₯Ό λ³€κ²½μ‹œν‚΅λ‹ˆλ‹€.
μŠ€μΌ€μ₯΄λ§μ€ 3μΌλ‹¨μœ„λ‘œ 배솑전, 배솑쀑, λ°°μ†‘μ™„λ£Œ 순으둜 μƒνƒœκ°€ λ³€κ²½λ©λ‹ˆλ‹€.

πŸ–¨ Backend Architecture

image

πŸ“œ SWAGGER

img.png

πŸ“ƒ ERD

image

About

🧒 μΌ€μ΄μŠ€μ–΄λž μ‡Όν•‘λͺ° ν”„λ‘œμ νŠΈ - backend

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages