Skip to content

๐Ÿ“Œ Integration Requirements

J178_์žฅ์ง„ํฌ edited this page Nov 1, 2021 · 8 revisions

๐ŸŽ ์‹œ์Šคํ…œ ๊ตฌ์„ฑ๋„

โš™๏ธ ์‹œ์Šคํ…œ ๊ตฌ์„ฑ๋„ โš™๏ธ Slide1 Slide2


๐ŸŒ ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œ

  1. ์‹œ์ž‘ ํŽ˜์ด์ง€

    • ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ๋งŒ ์ถœ๋ ฅ๋œ๋‹ค.

    • Oauth + ๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

    • ๋กœ๊ทธ์ธ์„ ํ•˜๋ฉด 2. ๋ฉ”์ธํŽ˜์ด์ง€ ์œผ๋กœ ์ด๋™ํ•œ๋‹ค.

  2. ๋ฉ”์ธํŽ˜์ด์ง€

    • ์ „์ฒด ํผ์ฆ ๋ชฉ๋ก

      • ๋ฉ”์ธํŽ˜์ด์ง€๋Š” api๋กœ ์ „์ฒด ํผ์ฆ ๊ฒ€์ƒ‰ ์š”์ฒญ์„ ๋ณด๋‚ด์„œ ์ „์ฒด ํผ์ฆ์„ ํ•œ๋ฒˆ์— 10๊ฐœ์”ฉ ๋ฌดํ•œ ์Šคํฌ๋กค๋กœ ์ถœ๋ ฅํ•œ๋‹ค.

      • ๋””ํดํŠธ ์ •๋ ฌ ์ƒํƒœ๋Š” ์กฐํšŒ์ˆœ์œผ๋กœ ์ถœ๋ ฅ๋œ๋‹ค.

      • ๋ฉ”์ธํŽ˜์ด์ง€์˜ ํผ์ฆ ๋ชฉ๋ก์—์„œ ํผ์ฆ์„ ํด๋ฆญํ•˜๋ฉด 3. ํ”Œ๋ ˆ์ด๋ฃธ์œผ๋กœ ์ด๋™ํ•œ๋‹ค.

    • ๊ฒ€์ƒ‰๋ฐ”

      • ๊ฒ€์ƒ‰๋ฐ”์— ๊ฒ€์ƒ‰ ํ‚ค์›Œ๋“œ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด, api๋กœ ์š”์ฒญ์„ ๋ณด๋‚ด ํ•ด๋‹น ํ‚ค์›Œ๋“œ๋ฅผ ๊ฐ€์ง„ ํผ์ฆ ์ •๋ณด๋ฅผ ์ „์ฒด ํผ์ฆ ๋ชฉ๋ก์— ๊ฐ€์ ธ์˜จ๋‹ค.
    • ํ—ค๋”

      • ๋งˆ์ดํŽ˜์ด์ง€, ๋žญํ‚น ๋ฒ„ํŠผ์ด ์กด์žฌํ•œ๋‹ค.
    • '+' ๋ฒ„ํŠผ

      • '+' ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด, ํผ์ฆ ์ƒ์„ฑ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•œ๋‹ค.

      • ํผ์ฆ์„ ๋งŒ๋“ค ์ด๋ฏธ์ง€, ํ‚ค์›Œ๋“œ, ๋‚œ์ด๋„๋ฅผ ์„ ํƒํ•˜๊ณ  submit ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด, ํผ์ฆ์„ ์ƒ์„ฑํ•˜๊ณ  ์ž์‹ ๋งŒ์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

  3. ํ”Œ๋ ˆ์ด๋ฃธ

    • ํ”Œ๋ ˆ์ด๋ฃธ ์ค‘์•™์— ํผ์ฆํŒ์ด ์žˆ๊ณ , ํผ์ฆํŒ ์ฃผ๋ณ€์— ํผ์ฆ์กฐ๊ฐ์ด ๋ฌด์ž‘์œ„๋กœ ์žˆ๋‹ค.

    • ํผ์ฆ์„ ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ํ•˜์—ฌ ์˜ฎ๊ธธ ์ˆ˜ ์žˆ๋‹ค.

    • ํผ์ฆ์ด ๋งž์ถ”์–ด์ง€๋ฉด ์†Œ๋ฆฌ ์ดํŒฉํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

    • ํ”Œ๋ ˆ์ด๋ฃธ ์šฐ์ธก ํ•˜๋‹จ์˜ ํ”Œ๋Ÿฌ์Šค ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ํžŒํŠธ๋ฒ„ํŠผ๊ณผ ๊ณต์œ ๋ฒ„ํŠผ์ด ์กด์žฌํ•œ๋‹ค.

    • ํžŒํŠธ๋ฒ„ํŠผ์— ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ฆฌ๋ฉด ํžŒํŠธ ์‚ฌ์ง„์ด ์ถœ๋ ฅ๋œ๋‹ค.

    • ๋ฉ€ํ‹ฐ๋ชจ๋“œ

      • ๊ณต์œ ๋ฒ„ํŠผ์— ๋‹ค๋ฅธ ์œ ์ €๊ฐ€ ์ฐธ์—ฌ๊ฐ€๋Šฅํ•œ ํ”Œ๋ ˆ์ด๋ฃธ์˜ url์ด ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌ๋œ๋‹ค.

      • ๋ฉ€ํ‹ฐ๋ชจ๋“œ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ํ•˜๋ฉฐ ๋งํฌ ๋“ฑ์„ ํ†ตํ•ด ํ”Œ๋ ˆ์ด๋ฃธ์— ์ž…์žฅ ์ดˆ๋Œ€ํ•œ๋‹ค.

      • ํผ์ฆ์„ ์„ ์ ํ•˜์—ฌ ๋“ค๊ณ  ์žˆ๋Š” ์œ ์ €์—๊ฒŒ ํผ์ฆ ์„ ํƒ์˜ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ์žˆ๋‹ค.

      • ์ดˆ๋Œ€ ๋ฐ›์€ ์‚ฌ๋žŒ์€ ๋กœ๊ทธ์ธ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‹œ์ž‘ ํŽ˜์ด์ง€๋กœ ์šฐ์„  ์ž…์žฅํ•˜๊ฒŒ ํ•œ๋‹ค.

      • ์ฑ„ํŒ…์œผ๋กœ ๊ฐ™์€ ํ”Œ๋ ˆ์ด๋ฃธ ์•ˆ์˜ ์‚ฌ๋žŒ๋“ค๊ณผ ์†Œํ†ตํ•œ๋‹ค.

    • ํผ์ฆ์ด ์™„์„ฑ๋˜์—ˆ์„ ๋•Œ, ํšจ๊ณผ์Œ๊ณผ ์•Œ๋ฆผ์ฐฝ์„ ์ถœ๋ ฅํ•œ๋‹ค.

  4. ๋งˆ์ดํŽ˜์ด์ง€

    • ๋ช…์˜ˆ์˜ ์ „๋‹น์—์„œ ์™„์„ฑํ•œ ํผ์ฆ๋“ค์˜ ์‚ฌ์ง„๊ณผ ํ”Œ๋ ˆ์ด ํƒ€์ž„์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.

    • ํผ์ฆ์ €์žฅ์†Œ์—์„œ ์ž์‹ ์ด ๋งŒ๋“  ํผ์ฆ๋“ค์˜ ๋ชฉ๋ก์„ ์กฐํšŒํ•˜๊ณ  ํ”Œ๋ ˆ์ด๋ฃธ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

  5. ๋žญํ‚นํŽ˜์ด์ง€

    • ์ „์ฒด ์œ ์ €์—์„œ ํผ์ฆ ์™„์„ฑ๋œ ๊ฐœ์ˆ˜ ์ˆœ์œผ๋กœ ์ƒ์œ„ 10๋ช…์„ ์ถœ๋ ฅํ•œ๋‹ค.

    • ์ž์‹ ์˜ ์ˆœ์œ„๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.


๐Ÿฅ ํ•ต์‹ฌ ๊ธฐ๋Šฅ๋ณ„ ๋™์ž‘ ํ๋ฆ„

  1. Use-Case Diagram

bmPuzzle

  1. Sequence Diagram

BMPUZZLE drawio


๐Ÿ‰ ERD

bmpuzzle_db


๐Ÿ‹ ํ•ต์‹ฌ ๊ธฐ์ˆ  ์š”๊ตฌ์‚ฌํ•ญ

  • ๋ฐ˜๋“œ์‹œ ์„œ๋ฒ„์—์„œ ์ œ๊ณตํ•˜๋Š” API ๋ฅผ ์—ฐ๋™ํ•ด์„œ ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. (์›น)

  • ์™ธ๋ถ€ API ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ์—๋„ ๊ฐœ๋ฐœํ•˜๋Š” ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด์„œ ์—ฐ๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. (์›น)

  • API ๋กœ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์€ ๋ณ„๋„ ๋ฆฌ์†Œ์Šค(์ด๋ฏธ์ง€, ์˜์ƒ ๋“ฑ)๋Š” ๋น„๋™๊ธฐ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. (๊ณตํ†ต)

๐Ÿ”ฎ REST API ๐Ÿ”ฎ


๐Ÿ’ Milestone

  1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

    • ERD ๊ตฌ์ถ•

    • sequelize sql ์—ฐ๋™

  2. ์‹œ์ž‘ํŽ˜์ด์ง€

    1. OAuth ๋กœ๊ทธ์ธ

      • google OAuth ๋“ฑ๋ก, .env ์ƒ์„ฑ

      • ํ”„๋ก ํŠธ์— ๋งํฌ ๋‹ฌ๊ธฐ

      • ํŒจ์ŠคํฌํŠธ ์ ์šฉ

      • ์„ธ์…˜ ์—ฐ๊ฒฐ

      • DB์— ์‚ฌ์šฉ์ž ์ •๋ณด ์ €์žฅ

  3. ํผ์ฆ ์ƒ์„ฑ

    • ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ

    • ์ด๋ฏธ์ง€ ํƒ€์ผ ๋งŒ๋“ค๊ธฐ

    • ํผ์ฆ ์ž๋ฅด๊ธฐ

    • ์ž„์˜์˜ ๋ชจ์–‘ ๋งŒ๋“ค๊ธฐ

    • DB์— ํผ์ฆ ์ •๋ณด ์ €์žฅ

  4. ๋ฉ”์ธ ํŽ˜์ด์ง€

    1. ํผ์ฆ ๊ฒ€์ƒ‰ ๋ฐ ์ •๋ ฌ

      • ํผ์ฆ get, post api ์ƒ์„ฑ

      • ํ”„๋ก ํŠธ fetch๋กœ api ํ˜ธ์ถœ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐ˜ํ™˜

      • ๊ธฐ์ค€๋ณ„ ํผ์ฆ ์ •๋ ฌ

  5. ํผ์ฆ ๋งž์ถ”๊ธฐ

    1. ํผ์ฆ ์„ธํŒ…

      • ํผ์ฆ ์กฐ๊ฐ ๋ฐฐ์น˜ํ•˜๊ธฐ (์ฒ˜์Œ์ด๋ฉด ๋ฌด์ž‘์œ„, ์žฌ๋ฐฉ๋ฌธ์‹œ ์ด์ „ ๊ธฐ๋ก ๋กœ๋“œ)
    2. ํผ์ฆ ์ดํŽ™ํŠธ

      • ํผ์ฆ ์กฐ๊ฐ ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ

      • ํผ์ฆ ๋งž์ท„์„ ๋•Œ ์†Œ๋ฆฌ ์‚ฝ์ž…

    3. ํผ์ฆ ์™„์„ฑ์‹œ

      • ํผ์ฆ ์™„์„ฑ ํ›„ ๋‚˜๊ฐˆ ๋•Œ ํ”Œ๋ ˆ์ด๋ฃธ ์‚ญ์ œ

      • ์™„์„ฑ๋œ ํผ์ฆ ์ด๋ฏธ์ง€ ๊ณต์œ  ๊ฐ€๋Šฅ

  6. ์ €์ž‘๊ถŒ ํ”„๋ฆฌ ํผ์ฆ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€

    • ์‚ฌ์ง„ ์ €์žฅ ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ถ”๊ฐ€
  7. ๋ฉ€ํ‹ฐ ๋ชจ๋“œ

    • ์†Œ์ผ“ ์—ฐ๋™: ๋งํฌ์™€ ์‹œ์ž‘ํŽ˜์ด์ง€ ์—ฐ๊ฒฐ ํ›„ ๋กœ๊ทธ์ธ ์™„๋ฃŒ๋˜๋ฉด ๋งํฌ์— ํ•ด๋‹นํ•˜๋Š” ํ”Œ๋ ˆ์ด ๋ฃธ์œผ๋กœ ์ด๋™์‹œํ‚ค๊ธฐ

    • ์ฑ„ํŒ… ๊ธฐ๋Šฅ(๋ณด์ด์Šค๋กœ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ)

  8. ๋งˆ์ดํŽ˜์ด์ง€

    1. ์ƒ์„ฑ๋œ ํผ์ฆ (ํผ์ฆ์ €์žฅ์†Œ)

      • ์ƒ์„ฑ๋œ ํผ์ฆ์—์„œ ๋งํฌ ์ƒ์„ฑํ•˜์—ฌ ๋ณต์‚ฌํ•˜๊ธฐ ๊ธฐ๋Šฅ
    2. ์™„์„ฑํ•œ ํผ์ฆ (๋ช…์˜ˆ์˜ ์ „๋‹น)

      • ์™„์„ฑํ•œ ํผ์ฆ ์‚ฌ์ง„๊ณผ ํ”Œ๋ ˆ์ดํƒ€์ž„ ์—ด๋žŒ ๊ธฐ๋Šฅ

      • ์‚ฌ์ง„ ๋‹ค์šด๋กœ๋“œ ๊ธฐ๋Šฅ

      • ์‚ฌ์ง„ ๊ณต์œ  ๊ธฐ๋Šฅ

  9. ํ…Œ์ŠคํŠธ ๋ฐ ๋ฆฌํŒฉํ† ๋ง

  10. ๋ฐฐํฌ

    • ์„œ๋ฒ„ ์ƒ์„ฑ ๋ฐ ๊ณ ์ • ip ํ• ๋‹น

    • git ์„ค์ •

    • mysql ์„ค์ •

    • CORS ํ•ด๊ฒฐ

    • NGINX


๐Ÿ‘ Gantt Chart

๊ฐ„ํŠธ์ฐจํŠธ


๐Ÿ ๋””์ž์ธ

๐Ÿงฉ BMPuzzle ๐Ÿงฉ


๐Ÿ ๋ฐฑ๋กœ๊ทธ

๋ฐฑ๋กœ๊ทธ