Skip to content

[191219] mission002ย #7

@eastjun-dev

Description

@eastjun-dev

template version


๐Ÿ”ฅ TODOS ์‹œ์Šคํ…œ์— ๋น„๋™๊ธฐ/์˜จ์˜คํ”„๋ผ์ธ์„ ๊ณ ๋ คํ•˜์—ฌ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ

mission001์—์„œ TodoList์˜ ๊ธฐ๋ณธ์ ์ธ CRUD๋ฅผ ๋ณต์Šตํ•˜์˜€๋Š”๋ฐ์š”. ์ด ๊ธฐ๋Šฅ๋“ค์— ๋น„๋™๊ธฐ ํ†ต์‹ ๊ณผ, ์˜จ์˜คํ”„๋ผ์ธ์„ ๊ณ ๋ คํ•œ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์š”๊ตฌ์‚ฌํ•ญ์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๐Ÿด Missions

fetch๋ฅผ ์ด์šฉํ•ด ๋ฐ์ดํ„ฐ CRUD ํ•˜๊ธฐ

fetch๋ฅผ ์ด์šฉํ•ด Todo ๋ชฉ๋ก data๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ณ , ํŠน์ • Todo๋ฅผ ์‚ญ์ œํ•˜๊ณ , ์™„๋ฃŒ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋Š” ๊ฒƒ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

json data

{
  "_id": ํ•  ์ผ์˜ ๊ณ ์œ ๊ฐ’. ์ˆซ์ž์™€ ๋ฌธ์ž๊ฐ€ ์„ž์—ฌ์žˆ๋Š” ๋ฌธ์ž๋กœ ๋˜์–ด์žˆ์Œ,
  "content": ํ•  ์ผ text,
  "isCompleted": ํ•  ์ผ์˜ ์™„๋ฃŒ์—ฌ๋ถ€
}

1. ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

api์—๋Š” username์ด ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. ๋ณธ์ธ์˜ username์ด ๋“ค์–ด๊ฐ€๊ฒŒ ๋„ฃ์–ด์ฃผ์„ธ์š”

fetch('http://todo-api.roto.codes/eastjun').then()...

2. ์ถ”๊ฐ€ํ•˜๊ธฐ

api์—๋Š” username์ด ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. ๋ณธ์ธ์˜ username์ด ๋“ค์–ด๊ฐ€๊ฒŒ ๋„ฃ์–ด์ฃผ์„ธ์š”

fetch('http://todo-api.roto.codes/eastjun', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    content: 'mission review ํ•˜๊ธฐ'
  })
}).then(function(){
  ....
})

3. ์‚ญ์ œํ•˜๊ธฐ

์„œ๋ฒ„์—์„œ ๋ถˆ๋Ÿฌ์˜จ todo ๋ฐ์ดํ„ฐ์— ์žˆ๋Š” _id๋ฅผ ์ด์šฉํ•ด์ฃผ์„ธ์š”.

fetch('http://todo-api.roto.codes/roto/5d11cf671e050d3f7c583166', {
  method: 'DELETE'
}).then(function(){
  ....
})

4. ํ† ๊ธ€

์„œ๋ฒ„์—์„œ ๋ถˆ๋Ÿฌ์˜จ todo ๋ฐ์ดํ„ฐ์— ์žˆ๋Š” _id๋ฅผ ์ด์šฉํ•ด์ฃผ์„ธ์š”.

fetch('http://todo-api.roto.codes/roto/5d11cf671e050d3f7c583166/toggle', {
  method: 'PUT'
}).then(function(){
  ....
})

5. localStorage์— ๋ฐ์ดํ„ฐ ๋„ฃ๊ธฐ

  • ํ•˜๋“œ์ฝ”๋”ฉ ๋œ mock๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋ชจ๋‘ ์‚ญ์ œํ•ด์ฃผ์„ธ์š”.
  • localStorage๋ฅผ ํ™œ์šฉํ•ด todo data๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ๋งˆ๋‹ค localStorage์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ํ”„๋กœ๊ทธ๋žจ์— ์ดˆ๊ธฐ์— ์ ‘๊ทผํ•  ๋•Œ localStorage์— ์ €์žฅํ•ด๋‘” ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋‹ค๋ฉด todo data๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

localStorage


๐Ÿ‘จโ€๐Ÿ’ป Reviewer Match ๐Ÿ‘ฉโ€๐Ÿ’ป

์ฝ”๋“œ๋ฆฌ๋ทฐ๊ฐ€ ๋ง‰๋ง‰ํ•˜๋‹ค๋ฉด ์•„๋ž˜ ๊ฐ€์ด๋“œ๋ฅผ ์ฝ์–ด๋ณด์‹œ๋ฉด ๋„์›€์ด ๋  ๊ฑฐ์—์š”~!
์ฝ”๋“œ๋ฆฌ๋ทฐ ๊ฐ€์ด๋“œ

@eastjun

@s280493 @StellaKim1230 @ganeodolu


@YongHoonJJo

@eastjun @s280493 @ganeodolu


@StellaKim1230

@s280493 @ganeodolu @YongHoonJJo


@ganeodolu

@eastjun @StellaKim1230 @YongHoonJJo


@s280493

@YongHoonJJo @StellaKim1230 @eastjun


@amorfati0310

@eastjun @s280493 @ganeodolu


@HoseokNa

@eastjun @YongHoonJJo @StellaKim1230

Metadata

Metadata

Assignees

Labels

missionImprovements or additions to documentation

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions