Skip to content

COFFEE-BARA/be-bookstore-stock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📚 Checkbara 서비스 소개

image

image



📹 시연영상

AI 책 추천

챗봇


책 검색 & 서점 재고 확인 & 대출 가능 도서관 확인

__-ezgif com-resize


키바나 통계보기

통계



📡 발전 방향

image



👥 팀원 소개

suwha yoonju yugyeong dayeon
🐼유수화🐼 🐱송윤주🐱 🐶현유경🐶 🐤양다연🐤
Server / Data / BE AI / Data / BE Infra / BE / FE BE / FE

be-bookstore-stock


💿 Dynamo DB table 구조도

bookstore (PK) branch (SK) latitude longitude

🤖 API 명세

  • URL: BASE_URL/api/book/{책의 isbn 값}/bookstore
  • Method: GET
  • 기능 소개: 책의 재고가 존재하는 서점들의 위치를 알려주는 기능

🗣️ Request

☝🏻Request Header

Content-Type: application/json

✌🏻Request Params

Name Type Description Required
책의 { isbn 값 } String 책의 13자리 isbn 값 Required

🗣️ Response

☝🏻Response Body

{
  "code": 200,
  "message": "책의 재고 서점 리스트를 가져오는데 성공했습니다.",
  "data": {
    "isbn" : 9791140708116,
    "title" : "아는 만큼 보이는 백엔드 개발 (한 권으로 보는 백엔드 로드맵과 커리어 가이드)",
    "stockResult":{
      "kyoboStockList":null,
      "ypbookStockList":[
        {
          "type":"영풍문고",
          "name":"용산아이파크몰점",
           "stock":"3",
           "latitude":"37.529128500148",
           "longtitude":"126.9654885873"
        }
      ],
      "aladinStockList":[
        {
          "type":"알라딘",
          "name":"강남점",
          "stock":"있음",
          "latitude":"37.5016428104731",
          "longtitude":"127.026336096148"
        },{
          "type":"알라딘",
          "name":"건대점",
          "stock":"있음",
          "latitude":"37.5410629132034",
          "longtitude":"127.07085938264"
        }
      ]
    }
  }
}

✌🏻실패

  1. 필요한 값이 없는 경우

    {
      "code": 400,
      "message": "isbn값이 없습니다.",
      "data": null
    }
  2. isbn 값에 매칭되는 책이 없을 경우

    {
      "code": 404,
      "message": "없는 책입니다.",
      "data": null
    }
  3. 서버에러

    {
      "code": 500,
      "message": "서버 에러",
      "data": null
    }

🏆 Tech Stack

Programming Language

DB

CI/CD & Deploy

Develop Tool

Communication Tool


🏡 be-bookstore-stock architecture

be-bookstore-stock-archi

1. 각 서점의 홈페이지에서 각 지점명과 주소 스크래핑
2. 주소를 카카오 API를 통해 위도, 경도 좌표로 변환
3. 수집한 정보를 csv 파일로 저장
4. csv 파일을 S3에 업로드
5. DynamoDB의 import from S3 기능 사용해 테이블 구축
6. API Gateway에서 요청이 들어오면 Lambda 실행
7. Lambda는 isbn 값을 이용해 서점의 홈페이지에서 책의 재고를 실시간으로 스크래핑

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages