Skip to content
This repository has been archived by the owner on Jul 7, 2023. It is now read-only.
/ school-menu-api Public archive

๐Ÿซ ํ•™๊ต API - ์ดˆยท์ค‘ยท๊ณ ๋“ฑํ•™๊ต ์‹๋‹จ ๋ฐ ํ•™๊ต์ •๋ณด ์‰ฝ๊ฒŒ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

Notifications You must be signed in to change notification settings

5d-jh/school-menu-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ํ•™๊ต์‹๋‹จ API

ํ•™๊ต์‹๋‹จ API, ํ•™๊ต์ •๋ณด API๋Š” 2023๋…„ 8์›” 1์ผ๋ถ€๋กœ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค.

๊ฐœ์š” ๋ฐ ํŠน์ง•

๋”์šฑ ์ •ํ™•ํ•œ ์ •๋ณด๋ฅผ ๋ณด์žฅํ•˜๋Š” ๋‚˜์ด์Šค ๊ต์œก์ •๋ณด ๊ฐœ๋ฐฉํฌํ„ธ ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

HTTP GET ์š”์ฒญ์„ ํ†ตํ•ด ํ•™๊ต ์‹๋‹จ์„ JSON์œผ๋กœ ๋ฐ›์•„ ์–ด๋–ค ํ”Œ๋žซํผ์—์„œ๋“  ์‰ฝ๊ฒŒ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. school-api ํ”„๋กœ์ ํŠธ๊ฐ€ ์ œ์ž‘์— ํฐ ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์‹๋‹จ์„ ํ•œ ๋ฒˆ ์ด์ƒ ์š”์ฒญ ์‹œ ์š”์ฒญํ•œ ํ•™๊ต, ๋…„, ์›”๋ณ„๋กœ ์‹๋‹จ์ด ์„œ๋ฒ„์— ์ €์žฅ๋˜์–ด ์‘๋‹ต ์†๋„๊ฐ€ ๋Œ€ํญ ๊ฐœ์„ ๋ฉ๋‹ˆ๋‹ค.

์ดˆ๋“ฑํ•™๊ต, ์ค‘ํ•™๊ต, ๊ณ ๋“ฑํ•™๊ต๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

ํ•™๊ต ์œ ํ˜•

  • ์ดˆ๋“ฑํ•™๊ต: elementary
  • ์ค‘ํ•™๊ต: middle
  • ๊ณ ๋“ฑํ•™๊ต: high

ํ•™๊ต ์ฝ”๋“œ

์—ฌ๊ธฐ์—์„œ ํ•™๊ต ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹๋‹จ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

https://school-api.xyz/api/[ํ•™๊ต์œ ํ˜•]/[ํ•™๊ต์ฝ”๋“œ]๋กœ ํ˜„์žฌ ๋‹ฌ์˜ ์‹๋‹จ์„ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‘๋‹ต ๋ฐ์ดํ„ฐ๋Š” JSON ์ž…๋‹ˆ๋‹ค.

๋งค๊ฐœ๋ณ€์ˆ˜(์„ ํƒ์‚ฌํ•ญ)

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฃผ์†Œ ๋์— ๋ณ€์ˆ˜๋ช…๊ณผ ๊ฐ’์„ ์ ์–ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

https://school-api.xyz/api/[ํ•™๊ต์œ ํ˜•]/[ํ•™๊ต์ฝ”๋“œ]?[๋ณ€์ˆ˜๋ช…1]=[๊ฐ’1]&[๋ณ€์ˆ˜๋ช…2]=[๊ฐ’2]

๋ณ€์ˆ˜๋ช… ์„ค๋ช… ๊ธฐ๋ณธ๊ฐ’
year ํŠน์ •ํ•œ ๋…„๋„๋ฅผ ์ง€์ •ํ•˜์—ฌ ํ•ด๋‹น ๋…„๋„์— ํ•ด๋‹นํ•˜๋Š” ์‹๋‹จ์„ ๋ถˆ๋Ÿฌ์˜ต๋‹ˆ๋‹ค. ํ˜„์žฌ ๋‚ ์งœ์˜ ์—ฐ๋„
month ํŠน์ •ํ•œ ๋‹ฌ์„ ์ง€์ •ํ•˜์—ฌ ํ•ด๋‹น ๋‹ฌ์— ํ•ด๋‹นํ•˜๋Š” ์‹๋‹จ์„ ๋ถˆ๋Ÿฌ์˜ต๋‹ˆ๋‹ค. ํ˜„์žฌ ๋‚ ์งœ์˜ ์›”
date ํŠน์ •ํ•œ ์ผ์„ ์ง€์ •ํ•˜์—ฌ ํ•ด๋‹น ๋‚ ์งœ์— ํ•ด๋‹นํ•˜๋Š” ์‹๋‹จ์„ ๋ถˆ๋Ÿฌ์˜ต๋‹ˆ๋‹ค. ํ˜„์žฌ ๋‚ ์งœ์˜ ์ผ
allergy hidden์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ์•Œ๋ ˆ๋ฅด๊ธฐ ์ •๋ณด๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์œผ๋ฉฐ, formed๋กœ ์„ค์ •ํ•˜๋ฉด ์ •๋ณด๊ฐ€ ๊ตฌ์กฐํ™”๋˜์–ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์—†์Œ

์˜ˆ์‹œ

Node.js

const request = require('request');

const url = 'https://school-api.xyz/api/high/X123456789?date=23';
request(url, (err, res, body) => {
    var json = JSON.parse(body);
    console.log(json);
});

Python

import requests
import json

url = 'https://school-api.xyz/api/middle/X123456789?year=2018&month=5'
response = requests.get(url)
school_menu = json.loads(response.text)
print(school_menu)

์‘๋‹ต

{
    menu: [
        ...,
        {
            date:"5",
            breakfast:["์ฐน์Œ€๋ฐฅ","ํ™ํ•ฉ๋ฏธ์—ญ๊ตญ5.6.","๋‹ญ๊ฐˆ๋น„5.6.13.","๊น€๊ตฌ์ด13.","๋ฐฐ์ถ”๊น€์น˜9.13.","๋ฐฉ์šธํ† ๋งˆํ† 12."],
            lunch:["ํ‘๋ฏธ๋ฐฅ","์ฝฉ๋‚˜๋ฌผ๊ตญ5.13.","๋ผ์ง€๋“ฑ๋ผˆ๊น€์น˜์ฐœ9.10.13.","๋„ํ† ๋ฆฌ๋ฌต๋ฌด์นจ5.6.13.","์ด๊ฐ๊น€์น˜9.13.","์ฒญํฌ๋„"],
            dinner:["์ฐน์Œ€๋ฐฅ","์˜ค์ง•์–ด์งฌ๋ฝ•๊ตญ5.6.","๋ฐฐ์ถ”๊ฒ‰์ ˆ์ด13.","ํฌ๋„์ฅฌ์Šค5.13.","๋งŒ๋‘์˜ค๊ผฌ๋…ธ๋ฏธ์•ผ๋ผ1.5.6.10.12.13."]
        },
        ...
    ],
    server_message: ["foo", "bar", ...]
}

๊ธฐํƒ€ ์‚ฌํ•ญ

์ง์ ‘ ๋นŒ๋“œ ๋ฐ ๋ฐฐํฌํ•˜๊ธฐ

์ค€๋น„์‚ฌํ•ญ

  • Node.js 16
  • Firebase CLI
  • Firebase Console์—์„œ ์ƒ์„ฑํ•œ ํ”„๋กœ์ ํŠธ

ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์— ์œ„์น˜ํ•œ .firebaserc ํŒŒ์ผ์—์„œ firebase project id๋ฅผ ์ˆ˜์ •ํ•œ ํ›„, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

firebase deploy

์ €์ž‘๊ถŒ

ํ•ด๋‹น ํ”„๋กœ์ ํŠธ๋Š” MIT ๋ผ์ด์„ ์Šค ํ•˜์— ๋ฐฐํฌ๋˜๋ฉฐ, ์ˆ˜์ •, ๋ณต์ œ, 2์ฐจ ์ฐฝ์ž‘, ์˜๋ฆฌ์  ์‚ฌ์šฉ, ๋‹ค๋ฅธ ๋ผ์ด์„ ์Šค ํ•˜์— ์žฌ๋ฐฐํฌ ๋“ฑ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์™€ ๊ด€๋ จ๋œ ํ”ผํ•ด์— ๋Œ€ํ•ด ์ฑ…์ž„์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

About

๐Ÿซ ํ•™๊ต API - ์ดˆยท์ค‘ยท๊ณ ๋“ฑํ•™๊ต ์‹๋‹จ ๋ฐ ํ•™๊ต์ •๋ณด ์‰ฝ๊ฒŒ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages