책 검색 & 서점 재고 확인 & 대출 가능 도서관 확인
🐼유수화 🐼
🐱송윤주 🐱
🐶현유경 🐶
🐤양다연 🐤
Server / Data / BE
AI / Data / BE
Infra / BE / FE
BE / FE
libCode (PK)
libName (SK)
latitude
longitude
URL: BASE_URL/api/book/{책의 isbn 값}/library?lat={현재 위도}&lon={현재 경도}
Method: GET
기능 소개: 해당 책을 어느 도서관에서 대출이 가능한지 지도에 표시해주는 기능
☝🏻Request Header
Content-Type: application/json
Name
Type
Description
Required
책의 { isbn 값 }
String
책의 13자리 isbn 값
Required
Name
Type
Description
Required
lat={ 현재 위도 }
String
사용자의 현재 위치 위도
Required
lon={ 현재 경도 }
String
사용자의 현재 위치 경도
Required
{
"code" : 200 ,
"message" : " 책의 대출 가능 도서관 리스트를 가져오는데 성공했습니다." ,
"data" : {
"isbn" : " 9791140708116" ,
"title" : " 아는 만큼 보이는 백엔드 개발 (한 권으로 보는 백엔드 로드맵과 커리어 가이드)" ,
"libraryList" : [
{
"code" : " 111110" ,
"name" : " 구립증산정보도서관" ,
"latitude" : " 37.582973" ,
"longtitude" : " 126.907543"
},
{
"code" : " 111511" ,
"name" : " 신당누리도서관" ,
"latitude" : " 37.5633821" ,
"longtitude" : " 127.012303"
}
]
}
}
{
"code" : 200 ,
"message" : " 책의 대출 가능 도서관 리스트를 가져오는데 성공했습니다." ,
"data" : {
"isbn" : 9791140708116 ,
"title" : " 아는 만큼 보이는 백엔드 개발 (한 권으로 보는 백엔드 로드맵과 커리어 가이드)" ,
"bookStoreList" : null
}
}
필요한 값이 없는 경우
{
"code" : 400 ,
"message" : " isbn값이 없습니다." ,
"data" : null
}
isbn 값에 매칭되는 책이 없을 경우
{
"code" : 404 ,
"message" : " 없는 책입니다." ,
"data" : null
}
서버에러
{
"code" : 500 ,
"message" : " 서버 에러" ,
"data" : null
}
🏡 be-library-stock architecture
도서관 정보나루의 도서관 정보 조회 API와 go aws sdk
를 이용해 도서관 코드, 지점명, 위경도 값을 DynamoDB에 저장
API Gateway에서 요청이 들어오면 Lambda 실행
Lambda는 API Gateway에서 받아온 책의 isbn 값과 DynamoDB에 저장된 데이터를 바탕으로 도서관별 도서의 대출 가능 여부 조회
대출 가능한 도서관의 정보(도서관 코드, 도서관 이름, 재고 수, 위도, 경도)를 전달