Skip to content

juunone/js-todo-list-step3

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

16 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ ์„ธ๋ฒˆ์งธ ๋ฏธ์…˜ - Todo List for Team!

์ด๋ฒˆ ๋ฏธ์…˜์€ ํŒ€์„ ์œ„ํ•œ TodoList๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฏธ์…˜์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ปดํฌ๋„ŒํŠธ์˜ ์ƒํƒœ๊ฐ’์„ ๊ด€๋ฆฌํ•ด์•ผํ•˜๋Š”๋ฐ์š”. TodoList๊ฐ€ 1๊ฐœ ์กด์žฌํ•  ๋•Œ๋ณด๋‹ค ํ›จ์”ฌ ๋” ๊ณ ๋ คํ•  ๊ฒƒ์ด ๋งŽ์Šต๋‹ˆ๋‹ค ๐Ÿ˜€

๐ŸŽฏ index.html ํŒ€ ํŽ˜์ด์ง€ ์š”๊ตฌ์‚ฌํ•ญ

  • 1. ํŒ€ ์ถ”๊ฐ€ํ•˜๊ธฐ
  • 2. ํŒ€ ๋ฆฌ์ŠคํŠธ ๋ถˆ๋Ÿฌ์™€์„œ ํ™”๋ฉด์— ๋ณด์—ฌ์ฃผ๊ธฐ

๐ŸŽฏ kanban.html ํŒ€์˜ ํˆฌ๋‘๋ฆฌ์ŠคํŠธ ํŽ˜์ด์ง€ ์š”๊ตฌ์‚ฌํ•ญ

  • 1. ํŒ€์— ๋ฉค๋ฒ„ ์ถ”๊ฐ€ํ•˜๊ธฐ
  • 2. ํŒ€์›๋ณ„ todoList ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
  • 3. ํŒ€์›๋ณ„ todoItem ์ถ”๊ฐ€ํ•˜๊ธฐ
  • 4. ํŒ€์›๋ณ„ todoItem ์‚ญ์ œํ•˜๊ธฐ
  • 5. ํŒ€์›๋ณ„ todoItem completeํ•˜๊ธฐ
  • 6. ํŒ€์›๋ณ„ todoItem contents ๋‚ด์šฉ ์ˆ˜์ •ํ•˜๊ธฐ
  • 7. todoItem์˜ ์šฐ์„  ์ˆœ์œ„ ์ •ํ•˜๊ธฐ (defulat๊ฐ’:0, 1์ˆœ์œ„:1, 2์ˆœ์œ„: 2)
  • 8. todoList์˜ ์šฐ์ธก ํ•˜๋‹จ์˜ ์ „์ฒด ์‚ญ์ œ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ํ•ด๋‹น ์œ ์ €์˜ ์•„์ดํ…œ์„ ์ „์ฒด ์‚ญ์ œํ•˜๊ธฐ

๐ŸŽฏ๐ŸŽฏ kanban.html ์‹ฌํ™” ์š”๊ตฌ์‚ฌํ•ญ

  • 1. todoItem์˜ ์šฐ์„  ์ˆœ์œ„์— ๋”ฐ๋ผ ์ •๋ ฌํ•˜๊ธฐ



๐Ÿ“ API

ํŒ€ ์ถ”๊ฐ€

method uri
POST /api/teams
{
 requestBody: {
   "name": "string"
 },
 response: {
   "_id": "string",
   "name": "string",
   "members": [...]
  }
}

ํŒ€ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

method uri
GET /api/teams/${teamId}
{
 response: {
   "_id": "string",
   "name": "string",
   "members": [...]
  }
}

ํŒ€ ๋ฆฌ์ŠคํŠธ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

method uri
GET /api/teams
{
 response: [
  {
   "_id": "string",
   "name": "string",
   "members": [...]
  }
  ...
 ]
}

ํŒ€ ์‚ญ์ œ

method uri
DELETE /api/teams/${teamId}
{
 response: {}
}

ํŒ€์— ๋ฉค๋ฒ„ ์ถ”๊ฐ€

method uri
POST /api/teams/${teamId}/members
{
 requestBody: {
   "name": "string"
 },
 response: {
   "_id": "string",
   "name": "string",
   "members": [...]
  }
}

ํŒ€์›๋ณ„ TodoList ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

method uri
GET /api/teams/${teamId}/members/${memberId}
{
 response: [
  {
    "_id": "string",
   "name": "string",
   "todoList": []
  }
 ]
}

ํŒ€์›์˜ TodoItem ์ถ”๊ฐ€ํ•˜๊ธฐ

method uri
POST /api/teams/${teamId}/members/${memberId}/items
{
 requestBody: {
   "contents": "string"
 },
 response: [
   {
   "_id": "string",
   "contents": "string",
   "priority": "string",
   "isCompleted": "boolean",
   }
   ...
 ]
}

ํŒ€์›์˜ TodoItem ์‚ญ์ œํ•˜๊ธฐ

method uri
DELETE /api/teams/${teamId}/members/${memberId}/items/${itemId}
{
 response: {}
}

ํŒ€์›์˜ TodoItem toggleํ•˜๊ธฐ

method uri
PUT /api/teams/${teamId}/members/${memberId}/items/${itemId}/toggle
{
 response: {
   "_id": "string",
   "contents": "string",
   "priority": "string",
   "isCompleted": "boolean",
   }
}

ํŒ€์›์˜ TodoItem contents ์ˆ˜์ •ํ•˜๊ธฐ

method uri
PUT /api/teams/${teamId}/members/${memberId}/items/${itemId}
{
 requestBody: {
   "contents": "string"
 },
 response:    {
   "_id": "string",
   "contents": "string",
   "priority": "string",
   "isCompleted": "boolean",
   }
}

ํŒ€์›์˜ TodoItem ์šฐ์„ ์ˆœ์œ„ ์ˆ˜์ •ํ•˜๊ธฐ

method uri
PUT /api/teams/${teamId}/members/${memberId}/items/${itemId}/priority
{
 requestBody: {
   "priority": "FIRST"
 },
 response: {
   "_id": "string",
   "contents": "string",
   "priority": "string",
   "isCompleted": "boolean",
 }
}

ํŒ€์›์˜ TodoItem ์ „๋ถ€ ์‚ญ์ œ

method uri
DELETE /api/teams/${teamId}/members/${memberId}/items/
{
 response: {}
}



โ˜•๏ธ ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋ชจ์ž„ - Black Coffee


'ํ›Œ๋ฅญํ•œ ์˜์‚ฌ์†Œํ†ต์€ ๋ธ”๋ž™์ปคํ”ผ์ฒ˜๋Ÿผ ์ž๊ทน์ ์ด๋ฉฐ, ํ›„์— ์ž ๋“ค๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค'.
A.M. ๋ฆฐ๋“œ๋ฒ„๊ทธ(๋ฏธ๊ตญ์˜ ์ž‘๊ฐ€, ์ˆ˜ํ•„๊ฐ€) -


๋ธ”๋ž™์ปคํ”ผ์ฒ˜๋Ÿผ ์„œ๋กœ๋ฅผ ์ž๊ทนํ•ด์ฃผ๊ณ , ๋™๊ธฐ๋ถ€์—ฌ ํ•ด์ฃผ๋ฉฐ, ๊ทธ ์„ฑ์žฅ๊ณผ์ •์œผ๋กœ ์ธํ•ด ์˜๋ฏธ์žˆ๋Š” ๊ฐ€์น˜๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๊ณ ์ž ํ•˜๋Š”
ํ”„๋ก ํŠธ์—”๋“œ ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋ชจ์ž„ โ˜•๏ธ Black Coffee์ž…๋‹ˆ๋‹ค.


โš™๏ธ Before Started

Tip ๋กœ์ปฌ์—์„œ ์„œ๋ฒ„ ๋„์›Œ์„œ ์†์‰ฝ๊ฒŒ static resources ๋ณ€๊ฒฝ ๋ฐ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•

๋กœ์ปฌ์—์„œ ์›น์„œ๋ฒ„๋ฅผ ๋„์›Œ html, css, js ๋“ฑ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์†์‰ฝ๊ฒŒ ํ…Œ์ŠคํŠธํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” ์šฐ์„  npm์ด ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ๊ธ€์— npm install ์ด๋ž€ ํ‚ค์›Œ๋“œ๋กœ ๊ฐ์ž์˜ ์šด์˜์ฒด์ œ์— ๋งž๊ฒŒ๋” npm์„ ์„ค์น˜ํ•ด์ฃผ์„ธ์š”. ์ดํ›„ ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์‹ค์‹œ๊ฐ„์œผ๋กœ ์›นํŽ˜์ด์ง€๋ฅผ ํ…Œ์ŠคํŠธํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

npm install -g live-server

์‹คํ–‰์€ ์•„๋ž˜์˜ ์ปค๋งจ๋“œ๋กœ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

live-server ํด๋”๋ช…

๐Ÿ‘จโ€๐Ÿ’ป Code Review ๐Ÿ‘ฉโ€๐Ÿ’ป

์•„๋ž˜ ๋งํฌ๋“ค์— ์žˆ๋Š” ๋ฆฌ๋ทฐ ๊ฐ€์ด๋“œ๋ฅผ ๋ณด๊ณ , ์ข‹์€ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฌธํ™”๋ฅผ ๋งŒ๋“ค์–ด ๋‚˜๊ฐ€๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ‘ Contributing

๋งŒ์•ฝ ๋ฏธ์…˜ ์ˆ˜ํ–‰ ์ค‘์— ๊ฐœ์„ ์‚ฌํ•ญ์ด ๋ณด์ธ๋‹ค๋ฉด, ์–ธ์ œ๋“  ์ž์œ ๋กญ๊ฒŒ PR์„ ๋ณด๋‚ด์ฃผ์„ธ์š”.


๐Ÿž Bug Report

๋ฒ„๊ทธ๋ฅผ ๋ฐœ๊ฒฌํ•œ๋‹ค๋ฉด, Issues ์— ๋“ฑ๋ก ํ›„ @eastjun์—๊ฒŒ dm์„ ๋ณด๋‚ด์ฃผ์„ธ์š”.


๐Ÿ“ License

This project is MIT licensed.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 55.6%
  • CSS 41.3%
  • JavaScript 3.1%