๐Ÿ“Œ GitFolio API ๋ช…์„ธ์„œ (์„œ๋น„์Šค ํ”Œ๋กœ์šฐ ๊ธฐ๋ฐ˜ ์žฌ์ •๋ฆฌ)

ํ˜•ํƒœ: Chrome Extension + Backend API

์ฃผ์š” ๊ธฐ๋Šฅ:

1๏ธโƒฃ GitHub ๊ณ„์ • ์—ฐ๋™ ๋ฐ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋“ฑ๋ก

2๏ธโƒฃ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๊ฐœ์š” ์กฐํšŒ ๋ฐ ๊ธฐ์—ฌ ๋ถ„์„

3๏ธโƒฃ ํฌํŠธํด๋ฆฌ์˜ค ์ œ์ž‘ ๋ฐ ๋‹ค์šด๋กœ๋“œ


๐Ÿ“Œ 1. API ๊ฐœ์š”

ํ•ญ๋ชฉ ์„ค๋ช…
API ์ด๋ฆ„ GitFolio API
๊ธฐ๋ฐ˜ ๊ธฐ์ˆ  FastAPI (Python), PostgreSQL, Firebase, GitHub API
์ธ์ฆ ๋ฐฉ์‹ GitHub OAuth 2.0
์‘๋‹ต ํ˜•์‹ JSON (application/json)
ํ˜ธ์ถœ ๋ฐฉ์‹ REST API

๐Ÿ“Œ 2. API ์ƒ์„ธ ๋ช…์„ธ

1๏ธโƒฃ GitHub ๊ณ„์ • ์—ฐ๋™ ๋ฐ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋“ฑ๋ก

1.1 GitHub ๋กœ๊ทธ์ธ (OAuth 2.0)

โ€ข ์„ค๋ช…: ์‚ฌ์šฉ์ž๊ฐ€ GitHub ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๊ณ  ์—ฐ๋™

โ€ข ์š”์ฒญ ๋ฐฉ์‹: GET /auth/github

โ€ข ์š”์ฒญ ์˜ˆ์‹œ:

GET /auth/github

โ€ข ์‘๋‹ต ์˜ˆ์‹œ:

{
  "login_url": "<https://github.com/login/oauth/authorize?client_id=abc123>",
  "message": "Redirect to GitHub login"
}

โ€ข ์ฝœ๋ฐฑ ์‘๋‹ต (GET /auth/callback)