Skip to content

TEAM-ZIP/Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

280 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

μ„œμ ZIP

Slide 16_9 - 1

πŸ“ https://bookstore-zip.site/μ—μ„œ μ„œμ μ§‘μ„ λ§Œλ‚˜λ³΄μ„Έμš”!

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

이 ν”„λ‘œμ νŠΈλŠ” 개인만의 νŠΉμ„±μ„ λ“œλŸ¬λ‚΄λŠ” λ…λ¦½μΆœνŒλ¬Όμ˜ 감성을 μ¦κΈ°λŠ” μ‚¬μš©μžκ°€ λ…λ¦½μΆœνŒλ¬Όμ„ 더 잘 μ°Ύμ•„λ‚Ό 수 μžˆλ„λ‘, λ…λ¦½μΆœνŒλ¬Όμ„ λΉ„μΉ˜ν•œ μ„œμ μ— λŒ€ν•œ μœ„μΉ˜, ν‚€μ›Œλ“œ, μš΄μ˜μ‹œκ°„ λ“±μ˜ 정보와 λ„μ„œμΆœνŒμ „μ‚°λ§μ— λ“±λ‘λ˜μ§€ μ•Šμ€ λ…λ¦½μΆœνŒλ¬Ό 리뷰 제곡 및 μΆ”μ²œ μ‹œμŠ€ν…œμ„ μ œκ³΅ν•©λ‹ˆλ‹€.

μ£Όμš” κΈ°λŠ₯

Slide 16_9 - 31

  1. BOOKSNAP (μ‚¬μš©μž 리뷰 기반 λ…λ¦½μΆœνŒλ¬Ό 데이터 ꡬ좕)

    • μ‚¬μš©μžκ°€ 직접 λ…λ¦½μΆœνŒλ¬Όμ— λŒ€ν•œ 리뷰λ₯Ό 등둝 (μ±… 제λͺ©, μž‘κ°€, 평점, μ„œμ  사진 λ“±)
    • μ‚¬μš©μž μ°Έμ—¬ 기반 데이터λ₯Ό κ΅¬μΆ•ν•˜μ—¬ λ…λ¦½μΆœνŒλ¬Ό 정보λ₯Ό 확보
    • μΆ•μ λœ 리뷰 데이터λ₯Ό ν™œμš©ν•˜μ—¬ μΆ”μ²œ μ‹œμŠ€ν…œ ν•™μŠ΅ λ°μ΄ν„°λ‘œ ν™œμš© κ°€λŠ₯
  2. μ„œμ  ZIP (지도 기반 μ„œμ  탐색)

    • μ‚¬μš©μžμ˜ ν˜„μž¬ μœ„μΉ˜ λ˜λŠ” 검색 μœ„μΉ˜λ₯Ό κΈ°μ€€μœΌλ‘œ μ£Όλ³€ λ…λ¦½μ„œμ μ„ μ§€λ„μ—μ„œ μ‹œκ°ν™”
    • Kakao 지도 API 및 거리 계산 μ•Œκ³ λ¦¬μ¦˜μ„ ν™œμš©ν•˜μ—¬ μœ„μΉ˜ 기반 필터링, νƒœκ·Έ 기반 λΆ„λ₯˜ 지원
    • μ„œμ λ³„ 보유 λ„μ„œ, 운영 μ‹œκ°„, νƒœκ·Έ 정보 λ“± 상세 정보 제곡
  3. Bookie (RAG 기반 λ…λ¦½μΆœνŒλ¬Ό μΆ”μ²œ)

    • LLM + Vector DBλ₯Ό ν™œμš©ν•œ RAG 기반 AI μΆ”μ²œ μ‹œμŠ€ν…œ
    • μ‚¬μš©μž 리뷰, 검색, 찜 λͺ©λ‘ λ“±μ˜ ν™œλ™ 데이터λ₯Ό λ°”νƒ•μœΌλ‘œ κ°œμΈν™”λœ λ…λ¦½μΆœνŒλ¬Ό μΆ”μ²œ
    • 챗봇 μΈν„°νŽ˜μ΄μŠ€λ₯Ό 톡해 직관적인 μΆ”μ²œ κ²½ν—˜ 제곡

λΆ€κ°€ κΈ°λŠ₯

Slide 16_9 - 51

πŸ› οΈ μ‚¬μš© 기술

Spring Boot Gradle JPA Redis MySQL AWS GitHub Swagger Lombok


πŸ’‘ μ‹œμž‘ν•˜κΈ°

사전쀀비

  • Git

  • Java Development Kit(JDK)

  • λ°μ΄ν„°λ² μ΄μŠ€ μ€€λΉ„

  • InteliJ IDEA

    • localμ—μ„œ ν”„λ‘œμ νŠΈ 싀행을 μœ„ν•΄ ν•„μš”ν•©λ‹ˆλ‹€.
  • λΆ€κ°€ κΈ°λŠ₯ apiν‚€ μ€€λΉ„

    • spring.mail
      • 메일 λ°œμ‹ μž 아이디 (example@example.com이면 example)
      • 메일 μ•± λΉ„λ°€λ²ˆν˜Έ
    • kakao
      • λ‘œκ·ΈμΈμ„ μœ„ν•œ rest api key
    • cloudinary
      • api key
      • clode name
    • ai
      • gpt api key

How to Build

  1. Repository 클둠
git clone https://github.com/TEAM-ZIP/Backend.git
  1. .env
  • 전달받은 .envνŒŒμΌμ„ μ‚¬μš©ν•˜κ±°λ‚˜ 직접 .env 파일의 ν™˜κ²½λ³€μˆ˜λ₯Ό μ„€μ •ν•©λ‹ˆλ‹€.
  • .env 파일의 μœ„μΉ˜λŠ” src/main/resourcesμž…λ‹ˆλ‹€.
ai.base.uri = {ai μ„œλ²„ μ£Όμ†Œ}
BOOKSTORE_CAFE_KEY = { 곡곡데이터포털 μΉ΄νŽ˜κ°€ μžˆλŠ” μ„œμ  api key }
BOOKSTORE_CHILD_KEY = { 곡곡데이터포털 아동 μ„œμ  api key }
BOOKSTORE_INDEP_KEY = {곡곡데이터포털 독립 μ„œμ  api key}
cloudinary.api_key = {cloudniary api key}
cloudinary.api_secret = {cloudniary secret key}
DB_PASSWORD = {MySQL DB λΉ„λ°€λ²ˆν˜Έ}
DB_URL = {MySQL url}
DB_USERNAME = {MySQL DB name}
jwt.secret = {60자 μ΄μƒμ˜ jwt μƒμ„±μš© λ¬Έμžμ—΄}
kakao.client.id = {kakao rest api key}
kakao.redirect-uri = {kakao 둜그인 용 redirect uri}
mail.password = {메일 μ•± λΉ„λ°€λ²ˆν˜Έ}
mail.username = {메일 호트 이름}
openai.api.key = {gpt api key}
spring.redis.host = {redis μ£Όμ†Œ}
spring.redis.port = {redis 포트 번호}
  1. λΉŒλ“œ
cd Capstone-Backend
./gradlew build

How to Install

  • μ„œλ²„ μ‹€ν–‰
cd build/libs
nohup java -jar bszip-0.0.1-SNAPSHOT.jar &

How to Test

  • μ„œλ²„ μ‹€ν–‰ ν›„, http://localhost:8080/ 에 접속

  • api testλ₯Ό μ›ν•˜λ©΄, http://localhost:8080/swagger-ui/index.html#/에 μ ‘μ†ν•˜μ—¬ swaggerλ₯Ό 톡해 api 호좜 ν…ŒμŠ€νŠΈν•  수 있음 image image

  • ν”„λ‘ νŠΈμ™€ μ—°λ™λ˜μ–΄ ν…ŒμŠ€νŠΈ μ§„ν–‰ μ‹œ, ν”„λ‘ νŠΈμ—”λ“œ λΉŒλ“œ/μ‹€ν–‰ν•œ 둜컬 μ£Όμ†Œ ν˜Ήμ€ 배포된 μ£Όμ†Œμ—μ„œ μ‹€μ œ μ΄μš©ν•˜κ³  μžˆλŠ” api 호좜 κ²°κ³Ό 확인 κ°€λŠ₯

    • 배포된 μ£Όμ†Œμ—μ„œ λ‹€μŒκ³Ό 같은 이메일과 λΉ„λ°€λ²ˆν˜Έλ‘œ 둜그인 μ‹œ κΈ°μ‘΄ λ°μ΄ν„°λ‘œ ν…ŒμŠ€νŠΈν•  수 μžˆμŠ΅λ‹ˆλ‹€.
    • email : user@example.com
    • password : password123

πŸ‘‹πŸ» Members

ν™μ§€ν˜• μ†Œν˜„μ•„

πŸ“ μ•„ν‚€ν…μ²˜

architecture

πŸ—‚οΈ 폴더 ꡬ쑰

πŸ“‚ src/main/java/com/capstone/bszip
β”œβ”€ πŸ“‚ Book             ▢️ λ„μ„œ κ΄€λ ¨ κΈ°λŠ₯ λͺ¨λ“ˆ
β”‚   β”œβ”€ πŸ“‚ controller
β”‚   β”œβ”€ πŸ“‚ domain
β”‚   β”œβ”€ πŸ“‚ dto
β”‚   β”œβ”€ πŸ“‚ repository
β”‚   └─ πŸ“‚ service
β”œβ”€ πŸ“‚ Bookie           ▢️ 챗봇 κ΄€λ ¨ κΈ°λŠ₯ λͺ¨λ“ˆ
β”‚   β”œβ”€ πŸ“‚ controller
β”‚   ..
β”‚   └─ πŸ“‚ service
β”œβ”€ πŸ“‚ Bookstore        ▢️ μ„œμ  κ΄€λ ¨ κΈ°λŠ₯ λͺ¨λ“ˆ
β”‚   β”œβ”€ πŸ“‚ controller
β”‚   ..
β”‚   └─ πŸ“‚ service
β”œβ”€ πŸ“‚ Member           ▢️ νšŒμ› κ΄€λ ¨ κΈ°λŠ₯ λͺ¨λ“ˆ
β”‚   β”œβ”€ πŸ“‚ controller
β”‚   ..
β”‚   └─ πŸ“‚ service
β”œβ”€ πŸ“‚ auth             ▢️ 인증 κ΄€λ ¨ λͺ¨λ“ˆ 
β”‚   β”œβ”€ πŸ“‚ blackList    ▢️ λ‘œκ·Έμ•„μ›ƒ 
β”‚   β”œβ”€ πŸ“‚ dto          ▢️ 토큰 μš”μ²­/응닡 객체 
β”‚   β”œβ”€ πŸ“‚ refreshToken ▢️ Refresh 토큰 
β”‚   β”œβ”€ πŸ“‚ security     ▢️ Jwt
β”‚   β”œβ”€ AuthController
β”‚   └─ AuthService
β”œβ”€ πŸ“‚ cloudinary       ▢️ ν΄λΌμš°λ””λ„ˆλ¦¬ 이미지 μ—…λ‘œλ“œ κ΄€λ ¨ κΈ°λŠ₯
β”‚   └─ πŸ“‚ service
β”œβ”€ πŸ“‚ commonDto        ▢️ 곡톡 응닡 객체 및 μ˜ˆμ™Έ 처리
β”‚   β”œβ”€ πŸ“‚ exception
β”‚   β”œβ”€ ErrorResponse
β”‚   └─ SuccessResponse
β”œβ”€ πŸ“‚ config           ▢️ μ „μ—­ μ„€μ •
└─ BszipApplication    ▢️ 메인 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ‹€ν–‰ 클래슀
  • controller: HTTP μš”μ²­μ„ λ°›μ•„ μ²˜λ¦¬ν•˜λŠ” μ§„μž…μ 
  • service: λΉ„μ¦ˆλ‹ˆμŠ€ 둜직 κ΅¬ν˜„
  • repository: λ°μ΄ν„°λ² μ΄μŠ€μ— μ ‘κ·Όν•˜λŠ” 계측
  • domain: λ°μ΄ν„°λ² μ΄μŠ€ 맀핑을 μœ„ν•œ 도메인 λͺ¨λΈ
  • dto: μš”μ²­/응닡에 μ‚¬μš©λ˜λŠ” 데이터 전솑 객체

πŸ“š μ˜€ν”ˆμ†ŒμŠ€

Backend Libraries & Tools

  1. Spring Boot : Spring Boot Official Site
  2. Lombok : Lombok Official Site
  3. MySQL : MySQL Official Site
  4. Redis : Redis Official Site
  5. Swagger : Swagger Official Site

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 2

  •  
  •