Skip to content

๐ŸŽก GraphQL๊ณผ AccuWeather, Naver Shopping REST API๋ฅผ ์—ฐ๋™ํ•œ Node.js ์„œ๋ฒ„

Notifications You must be signed in to change notification settings

pySoo/WeatherCuration-GQL-Server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

20 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Weather Curation QraphQL API Server

REST API์™€ GraphQL ์„œ๋ฒ„๋ฅผ ์—ฐ๋™ํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ•„์š”๋กœ ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋งŒ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๋ฐฐํฌ ์ดํ›„ CORS ์—๋Ÿฌ ์ƒํ™ฉ์„ ๊ฒช์œผ๋ฉด์„œ, apollo server ๋‹จ๋… ์‚ฌ์šฉ์—์„œ express middleware ์‚ฌ์šฉ์œผ๋กœ ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•˜์—ฌ CORS๋ฅผ ํ•ด๊ฒฐํ•˜์˜€์Šต๋‹ˆ๋‹ค.


๐Ÿ› ๏ธ Tech Stack

Area Tech Stack
Backend

โœจ Features

  • ๋„ค์ด๋ฒ„ ๊ฒ€์ƒ‰ ์‡ผํ•‘ API, Accuweather API ์‚ฌ์šฉ
  • Accuweather API์˜ ๊ฒฝ์šฐ ํ•„๋“œ๊ฐ€ 50๊ฐœ ์ด์ƒ์ธ ์‘๋‹ต์˜ Overfetching์„ ํ•ด๊ฒฐํ•˜๊ณ  ์ž‘์€ ์šฉ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ๋“œํ•˜์—ฌ API ํ†ต์‹  ์†๋„๋ฅผ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
  • GitHub Actions๋ฅผ ํ™œ์šฉํ•ด ๋ฐฐํฌ ์ž๋™ํ™”
  • Heroku sleep ๋ฐฉ์ง€๋ฅผ ์œ„ํ•œ Kaffeine ์„ค์ •

๐Ÿ“ฆ Project Structure

๐Ÿ“ฆ
โ”œโ”€โ”€ ๐Ÿ“‚ .github
โ”‚ย ย  โ””โ”€โ”€ ๐Ÿ“‚ workflows
โ”œโ”€โ”€ ๐Ÿ“‚ constants
โ”œโ”€โ”€ ๐Ÿ“‚ node_modules
โ”œโ”€โ”€ ๐Ÿ“‚ utils
โ”œโ”€โ”€ ๐Ÿ“‚ graphql
โ”‚ย   โ”œโ”€โ”€  resolvers.js
โ”‚   โ”œโ”€โ”€  typeDefs.js
โ”‚ย   โ”œโ”€โ”€  shoppingAPI.js
โ”‚ย   โ””โ”€โ”€  weatherAPI.js
โ””โ”€โ”€ index.mjs

๐Ÿš€ Getting Started

npm install
npm start

About

๐ŸŽก GraphQL๊ณผ AccuWeather, Naver Shopping REST API๋ฅผ ์—ฐ๋™ํ•œ Node.js ์„œ๋ฒ„

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published