๐Ÿ“š Checkbara ์„œ๋น„์Šค ์†Œ๊ฐœ

image

image



๐Ÿ“น ์‹œ์—ฐ์˜์ƒ

AI ์ฑ… ์ถ”์ฒœ

แ„Žแ…ขแ†บแ„‡แ…ฉแ†บ


์ฑ… ๊ฒ€์ƒ‰ & ์„œ์  ์žฌ๊ณ  ํ™•์ธ & ๋Œ€์ถœ ๊ฐ€๋Šฅ ๋„์„œ๊ด€ ํ™•์ธ

__-ezgif com-resize


ํ‚ค๋ฐ”๋‚˜ ํ†ต๊ณ„๋ณด๊ธฐ

แ„แ…ฉแ†ผแ„€แ…จ



๐Ÿ“ก ๋ฐœ์ „ ๋ฐฉํ–ฅ

image



๐Ÿ‘ฅ ํŒ€์› ์†Œ๊ฐœ

suwha yoonju yugyeong dayeon
๐Ÿผ์œ ์ˆ˜ํ™”๐Ÿผ ๐Ÿฑ์†ก์œค์ฃผ๐Ÿฑ ๐Ÿถํ˜„์œ ๊ฒฝ๐Ÿถ ๐Ÿค์–‘๋‹ค์—ฐ๐Ÿค
Server / Data / BE AI / Data / BE Infra / BE / FE BE / FE

be-library-stock


๐Ÿ’ฟ Dynamo DB table ๊ตฌ์กฐ๋„

libCode (PK) libName (SK) latitude longitude

๐Ÿค– API ๋ช…์„ธ

  • URL: BASE_URL/api/book/{์ฑ…์˜ isbn ๊ฐ’}/library?lat={ํ˜„์žฌ ์œ„๋„}&lon={ํ˜„์žฌ ๊ฒฝ๋„}
  • Method: GET
  • ๊ธฐ๋Šฅ ์†Œ๊ฐœ: ํ•ด๋‹น ์ฑ…์„ ์–ด๋Š ๋„์„œ๊ด€์—์„œ ๋Œ€์ถœ์ด ๊ฐ€๋Šฅํ•œ์ง€ ์ง€๋„์— ํ‘œ์‹œํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ

๐Ÿ—ฃ๏ธ Request

โ˜๐ŸปRequest Header

Content-Type: application/json

โœŒ๐ŸปRequest Params

Name Type Description Required
์ฑ…์˜ { isbn ๊ฐ’ } String ์ฑ…์˜ 13์ž๋ฆฌ isbn ๊ฐ’ Required

๐ŸคŸ๐ŸปRequest Query

Name Type Description Required
lat={ ํ˜„์žฌ ์œ„๋„ } String ์‚ฌ์šฉ์ž์˜ ํ˜„์žฌ ์œ„์น˜ ์œ„๋„ Required
lon={ ํ˜„์žฌ ๊ฒฝ๋„ } String ์‚ฌ์šฉ์ž์˜ ํ˜„์žฌ ์œ„์น˜ ๊ฒฝ๋„ Required

๐Ÿ—ฃ๏ธ Response

โ˜๐ŸปResponse Body

{
    "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
    }
}

โœŒ๐Ÿป์‹คํŒจ

  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-library-stock architecture

be-library-stock-archi
  1. ๋„์„œ๊ด€ ์ •๋ณด๋‚˜๋ฃจ์˜ ๋„์„œ๊ด€ ์ •๋ณด ์กฐํšŒ API์™€ go aws sdk๋ฅผ ์ด์šฉํ•ด ๋„์„œ๊ด€ ์ฝ”๋“œ, ์ง€์ ๋ช…, ์œ„๊ฒฝ๋„ ๊ฐ’์„ DynamoDB์— ์ €์žฅ
  2. API Gateway์—์„œ ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด Lambda ์‹คํ–‰
  3. Lambda๋Š” API Gateway์—์„œ ๋ฐ›์•„์˜จ ์ฑ…์˜ isbn ๊ฐ’๊ณผ DynamoDB์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋„์„œ๊ด€๋ณ„ ๋„์„œ์˜ ๋Œ€์ถœ ๊ฐ€๋Šฅ ์—ฌ๋ถ€ ์กฐํšŒ
  4. ๋Œ€์ถœ ๊ฐ€๋Šฅํ•œ ๋„์„œ๊ด€์˜ ์ •๋ณด(๋„์„œ๊ด€ ์ฝ”๋“œ, ๋„์„œ๊ด€ ์ด๋ฆ„, ์žฌ๊ณ  ์ˆ˜, ์œ„๋„, ๊ฒฝ๋„)๋ฅผ ์ „๋‹ฌ