Git Product home page Git Product logo

frontend's Introduction

๐Ÿด Mission Dashboard

mission ready PR Merged
M001
M002
M003
M004
M005
M006

โ˜•๏ธ ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋ชจ์ž„ - 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 ํด๋”๋ช…

๐Ÿš€ Getting Started

  • mission001/eastjun๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ๋ณธ์ธ์˜ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•˜๊ณ , mission001 ๋””๋ ‰ํ† ๋ฆฌ์˜ ํ•˜์œ„์— ์ž์‹ ์˜ ์•„์ด๋””๋กœ ๋„ค์ด๋ฐํ•˜์—ฌ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋ฏธ์…˜์„ ์‹œ์ž‘ํ•ด์ฃผ์„ธ์š”.
  • ๋ฏธ์…˜ ์ˆ˜ํ–‰ ํ›„ [mission001] mission title ํ˜•ํƒœ๋กœ PR์„ ๋ณด๋‚ด์ฃผ์„ธ์š”.
  • PR์—๋Š” ์ด ๋ฏธ์…˜์˜ issue number๋ฅผ ํƒœ๊ทธ๋กœ ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š”.
  • ์ตœ์†Œ 3๋ช…์˜ ๋ฆฌ๋ทฐ์–ด๊ฐ€ ๋ณธ์ธ์˜ ์ฝ”๋“œ์— ๋Œ€ํ•ด ๋ฆฌ๋ทฐํ•ด์ฃผ๊ณ  approve ํ•ด์ค˜์•ผ๋งŒ PR์ด ๋์ด๋‚˜๊ณ , master์— merge๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

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


๐Ÿ‘ Contributing

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


๐Ÿž Bug Report

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


๐Ÿ“ License

This project is MIT licensed.

frontend's People

Contributors

eastjun-dev avatar ganeodolu avatar stellakim1230 avatar wmakerjun avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

frontend's Issues

[191219] mission002

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

[200109] mission004

template version


๐Ÿ”ฅ Movie List ์‚ฌ์ดํŠธ ๋งŒ๋“ค๊ธฐ

  • https://developers.themoviedb.org/3/movies/get-movie-details
  • ์œ„ ์‚ฌ์ดํŠธ์˜ "Movie" ์นดํ…Œ๊ณ ๋ฆฌ์— ์žˆ๋Š” ์˜คํ”ˆ API๋ฅผ ํ™œ์šฉํ•˜์—ฌ Movie List ์‚ฌ์ดํŠธ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  • ์ž์„ธํ•œ API ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์˜ "API ์‚ฌ์šฉ ๋ฐฉ๋ฒ•"์„ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”.


image

๊ธฐ๋ณธ ์š”๊ตฌ์‚ฌํ•ญ

1. ๋ฉ”์ธ ํ™”๋ฉด์„ ๊ตฌํ˜„ํ•œ๋‹ค.

  • ๋ฉ”์ธ ํ™”๋ฉด์—๋Š” Movie List ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณด์—ฌ์ง„๋‹ค.
  • ์˜ํ™”์˜ ์ œ๋ชฉ, ์˜ํ™” ๊ฐœ๋ด‰ ์—ฐ๋„, ํฌ์Šคํ„ฐ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์—ฌ์ค˜์•ผ ํ•œ๋‹ค.
  • ๋ฉ”์ธ ํ™”๋ฉด์—์„œ, ์Šคํฌ๋กค์ด ํ™”๋ฉด์˜ ๋ฐ”๋‹ฅ์— ๋‹ฟ์„ ๊ฒฝ์šฐ infinity scroll๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜จ๋‹ค.
  • ์ขŒ์ธก ์ƒ๋‹จ์˜ ๋กœ๊ณ ๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋‹ค์‹œ ๋ฉ”์ธ ํ™”๋ฉด์œผ๋กœ ๋Œ์•„์˜จ๋‹ค.

2. ์˜ํ™” ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•œ๋‹ค.

  • ํ™”๋ฉด ์šฐ์ธก ์ƒ๋‹จ์˜ input์—์„œ ์˜ํ™”๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๊ฒ€์ƒ‰์–ด ์ž…๋ ฅ ํ›„, enter ํ‚ค๋ฅผ ๋ˆ„๋ฅด๊ฑฐ๋‚˜ ์˜†์˜ ๋‹๋ณด๊ธฐ ์•„์ด์ฝ˜์„ ํด๋ฆญ ์‹œ ๊ฒ€์ƒ‰๋œ๋‹ค.
  • ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ, <๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค> ๋ผ๋Š” ํ…์ŠคํŠธ๋ฅผ ๋ฟŒ๋ ค์ค€๋‹ค.

image

3. ์˜ํ™” ์ƒ์„ธ ํŽ˜์ด์ง€๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค.

  • ์ƒ์„ธ ํŽ˜์ด์ง€์—์„œ๋Š” ํ•ด๋‹น ์˜ํ™”์˜ backdrop ์ด๋ฏธ์ง€, poster, ์˜ํ™” ์ œ๋ชฉ, ๊ฐœ๋ด‰ ๋‚ ์งœ, ์˜ํ™” ์‹œ๊ฐ„, ์žฅ๋ฅด, overview ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.

์ถ”๊ฐ€ ์š”๊ตฌ์‚ฌํ•ญ

1. ๋ฉ”์ธ ํ™”๋ฉด ์Šคํฌ๋กค ํ›„, ์ƒ์„ธํŽ˜์ด์ง€๋ฅผ ๋‹ค๋…€์™”์„ ๋•Œ, ๋ฉ”์ธ ํ™”๋ฉด์—์„œ์˜ ์Šคํฌ๋กค ์œ„์น˜ ๊ธฐ์–ตํ•˜๊ธฐ

  • ์Šคํฌ๋กค ์œ„์น˜๋ฅผ ๊ธฐ์–ตํ•จ์œผ๋กœ์จ ๋” ์ข‹์€ UX๋ฅผ ์ œ๊ณตํ•œ๋‹ค.


API ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

Movie List ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

Query String

{
  api_key(requirement) : ์ œ ๊ฐœ์ธ API Key ๋ฐœ๊ธ‰๋ฐ›์•„ ๋„ฃ์—ˆ์Šต๋‹ˆ๋‹ค
  language(Optional) : ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค
  reigion(Optional) : ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค
  page(Optional) : ํŽ˜์ด์ง€ ๋„˜๋ฒ„์ž…๋‹ˆ๋‹ค. infinity scroll ๊ตฌํ˜„์„ ์œ„ํ•ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. 
}

Json Data

{
  {
    "page": 1,
    "results": [
      {
        "poster_path": ํฌ์Šคํ„ฐ ์ฃผ์†Œ(string)
        "adult": ์„ฑ์ธ๋ฌผ ์—ฌ๋ถ€(boolean)
        "overview": ํ•œ์ค„ ์š”์•ฝ(string)
       "release_date": ์˜ํ™” ๋ฆด๋ฆฌ์ฆˆ ๋‚ ์งœ(string)
        "genre_ids": ์žฅ๋ฅด id ์ˆซ์ž ๋ฐฐ์—ด(number[])
        "id": ์•„์ด๋””(number)
        "original_title": ์˜ํ™” ์˜ค๋ฆฌ์ง€๋„ ํƒ€์ดํ‹€(string)
        "original_language": ์–ธ์–ด(string)
        **"title": ์˜ํ™” ํƒ€์ดํ‹€(string)**
        "backdrop_path": ๋ฐฐ๊ฒฝ์ด๋ฏธ์ง€ ์ฃผ์†Œ(string)
        "popularity": ์ธ๊ธฐ๋„ (number)
        "vote_count": ํˆฌํ‘œ์ˆ˜ (number)
        "video": ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๋น„๋””์˜ค๊ฐ€ ์žˆ๋Š”๊ฐ€ ์—ฌ๋ถ€(boolean)
        "vote_average": ํˆฌํ‘œ ํ‰๊ท (number)
      },
     ...
     ]
   }
 }

Movie Detail ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

Query String

{
  api_key(requirement) : ์ œ ๊ฐœ์ธ API Key ๋ฐœ๊ธ‰๋ฐ›์•„ ๋„ฃ์—ˆ์Šต๋‹ˆ๋‹ค
  language(Optional) : ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค
  append_to_response(Optional) : ์ •ํ™•ํžˆ ๋ชจ๋ฅด๊ฒ ์œผ๋‚˜.. ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค
}

Json Data

{
  {
  "adult": false,
  "backdrop_path": "/8HqSxB9VLJkbRXRdlocbLq9wxwY.jpg",
  "belongs_to_collection": {
    "id": 141290,
    "name": "The Lord of the Rings Animated Collection",
    "poster_path": "/pQuazFOlGRdn2Lb3oWFJYPeASOc.jpg",
    "backdrop_path": "/uUG532EWfyhtKDzsA0sLb1PsHhL.jpg"
  },
  "budget": 4000000,
  "genres": [
    {
      "id": 12,
      "name": "Adventure"
    },
    {
      "id": 16,
      "name": "Animation"
    },
    {
      "id": 18,
      "name": "Drama"
    },
    {
      "id": 14,
      "name": "Fantasy"
    },
    {
      "id": 10751,
      "name": "Family"
    }
  ],
  "homepage": null,
  "id": 123,
  "imdb_id": "tt0077869",
  "original_language": "en",
  "original_title": "The Lord of the Rings",
  "overview": "The Fellowship of the Ring embark on a journey to destroy the One Ring and end Sauron's reign over Middle-earth.",
  "popularity": 13.134,
  "poster_path": "/1l3WpoF7TX9pOprX4XepCXjQXUV.jpg",
  "production_companies": [
    {
      "id": 60,
      "logo_path": "/oJXpAs4I3W46e4dkaOEzCa4yBko.png",
      "name": "United Artists",
      "origin_country": "US"
    },
    {
      "id": 286,
      "logo_path": null,
      "name": "Fantasy Films",
      "origin_country": ""
    }
  ],
  "production_countries": [
    {
      "iso_3166_1": "US",
      "name": "United States of America"
    }
  ],
  "release_date": "1978-11-15",
  "revenue": 30471420,
  "runtime": 132,
  "spoken_languages": [
    {
      "iso_639_1": "en",
      "name": "English"
    }
  ],
  "status": "Released",
  "tagline": "Fantasy...beyond your imagination",
  "title": "The Lord of the Rings",
  "video": false,
  "vote_average": 6.5,
  "vote_count": 391
}
 }


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

@eastjun

@YongHoonJJo @StellaKim1230 @ganeodolu


@YongHoonJJo

@StellaKim1230 @ganeodolu @s280493


@StellaKim1230

@ganeodolu @s280493 @eastjun


@ganeodolu

@s280493 @eastjun @YongHoonJJo


@s280493

@eastjun @YongHoonJJo @StellaKim1230

mission002๋ฅผ ์ฝ”๋“œ๋ฆฌ๋ทฐ ํ•œ๋‹ค.

๐Ÿ“‹ ๋ฆฌ๋ทฐ ์ง„ํ–‰์ƒํ™ฉ dashboard ๐Ÿ“‹

๋ฆฌ๋ทฐ์ด: @eastjun

  • ๋ฆฌ๋ทฐ์–ด: @s280493
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @StellaKim1230
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @ganeodolu
    • code review
    • approve

๋ฆฌ๋ทฐ์ด: @YongHoonJJo

  • ๋ฆฌ๋ทฐ์–ด: @eastjun
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @s280493
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @ganeodolu
    • code review
    • approve

๋ฆฌ๋ทฐ์ด: @StellaKim1230

  • ๋ฆฌ๋ทฐ์–ด: @s280493
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @ganeodolu
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @YongHoonJJo
    • code review
    • approve

๋ฆฌ๋ทฐ์ด: @ganeodolu

  • ๋ฆฌ๋ทฐ์–ด: @eastjun
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @StellaKim1230
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @YongHoonJJo
    • code review
    • approve

๋ฆฌ๋ทฐ์ด: @s280493

  • ๋ฆฌ๋ทฐ์–ด: @YongHoonJJo
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @StellaKim1230
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @eastjun
    • code review
    • approve

mission003์„ ์ฝ”๋“œ๋ฆฌ๋ทฐ ํ•œ๋‹ค.

๐Ÿ“‹ ๋ฆฌ๋ทฐ ์ง„ํ–‰์ƒํ™ฉ dashboard ๐Ÿ“‹

๋ฆฌ๋ทฐ์ด: @eastjun

  • ๋ฆฌ๋ทฐ์–ด: @YongHoonJJo
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @StellaKim1230
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @ganeodolu
    • code review
    • approve

๋ฆฌ๋ทฐ์ด: @YongHoonJJo

  • ๋ฆฌ๋ทฐ์–ด: @StellaKim1230
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @s280493
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @ganeodolu
    • code review
    • approve

๋ฆฌ๋ทฐ์ด: @StellaKim1230

  • ๋ฆฌ๋ทฐ์–ด: @s280493
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @ganeodolu
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @eastjun
    • code review
    • approve

๋ฆฌ๋ทฐ์ด: @ganeodolu

  • ๋ฆฌ๋ทฐ์–ด: @eastjun
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @s280493
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @YongHoonJJo
    • code review
    • approve

๋ฆฌ๋ทฐ์ด: @s280493

  • ๋ฆฌ๋ทฐ์–ด: @YongHoonJJo
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @StellaKim1230
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @eastjun
    • code review
    • approve

[191214] mission001


template version


๐Ÿ”ฅ TODOS ์‹œ์Šคํ…œ์˜ CRUD๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ

์ด ํ…œํ”Œ๋ฆฟ์€ vanilla javascript๋ฅผ ํ•™์Šต์„ ์œ„ํ•œ todos template์ž…๋‹ˆ๋‹ค.
์ด template์€ ๋งํฌ์˜ ์ €์žฅ์†Œ์—์„œ ํด๋ก ํ•˜์—ฌ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.
์ด๋ฒˆ ๋ฏธ์…˜์—์„œ ์šฐ๋ฆฌ๋Š” ๊ธฐ์กด์— ํ•™์Šต ํ–ˆ๋˜ ๋‚ด์šฉ๋“ค์„ ๋ณต์Šตํ•˜๋ฉฐ todo list๋ฅผ ๋‹ค์‹œ ๋งŒ๋“ค์–ด๋ณด๋Š” ์ž‘์—…์„ ์ง„ํ–‰ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
์š”๊ตฌ์‚ฌํ•ญ์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.


๐Ÿด Missions

  • todo list์— todoItem์„ ํ‚ค๋ณด๋“œ๋กœ ์ž…๋ ฅํ•˜์—ฌ ์ถ”๊ฐ€
  • todo list์˜ ์ฒดํฌ๋ฐ•์Šค๋ฅผ ํด๋ฆญํ•˜์—ฌ complete ์ƒํƒœ๋กœ ๋ณ€๊ฒฝ. (li tag ์— completed class ์ถ”๊ฐ€)
  • todo list์˜ x๋ฒ„ํŠผ์„ ์ด์šฉํ•ด์„œ ํ•ด๋‹น ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ์‚ญ์ œ
  • todo list๋ฅผ ๋”๋ธ”ํด๋ฆญํ–ˆ์„ ๋•Œ input ๋ชจ๋“œ๋กœ ๋ณ€๊ฒฝ. (li tag ์— editing class ์ถ”๊ฐ€) ๋‹จ ์ด๋•Œ ์ˆ˜์ •์„ ์™„๋ฃŒํ•˜์ง€ ์•Š์€ ์ƒํƒœ์—์„œ escํ‚ค๋ฅผ ๋ˆ„๋ฅด๋ฉด ์ˆ˜์ •๋˜์ง€ ์•Š์€ ์ฑ„๋กœ ๋‹ค์‹œ view ๋ชจ๋“œ๋กœ ๋ณต๊ท€
  • todo list์˜ item๊ฐฏ์ˆ˜๋ฅผ countํ•œ ๊ฐฏ์ˆ˜๋ฅผ ๋ฆฌ์ŠคํŠธ์˜ ํ•˜๋‹จ์— ๋ณด์—ฌ์ฃผ๊ธฐ
  • todo list์˜ ์ƒํƒœ๊ฐ’์„ ํ™•์ธํ•˜์—ฌ, ํ•ด์•ผํ•  ์ผ๊ณผ, ์™„๋ฃŒํ•œ ์ผ์„ ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น ์ƒํƒœ์˜ ์•„์ดํ…œ๋งŒ ๋ณด์—ฌ์ฃผ๊ธฐ

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

@eastjun

@YongHoonJJo @StellaKim1230 @ganeodolu


@YongHoonJJo

@eastjun @StellaKim1230 @s280493


@StellaKim1230

@eastjun @ganeodolu @s280493


@ganeodolu

@eastjun @s280493 @YongHoonJJo


@s280493

@YongHoonJJo @StellaKim1230 @ganeodolu


@amorfati0310

@eastjun @YongHoonJJo @StellaKim1230


@HoseokNa

@eastjun @ganeodolu @amorfati0310

[200116] mission005


๐Ÿช ๊ฐ€๊ฒŒ ์ฐพ๊ธฐ

  • ์ „๊ตญ์˜ ๊ฐ€๊ฒŒ๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” ์›นํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์š”๊ตฌ์‚ฌํ•ญ

1. ๋ฉ”์ธ ํ™”๋ฉด์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฉ”์ธ ํ™”๋ฉด์—๋Š” ๊ฒ€์ƒ‰์ฐฝ, ๊ฒ€์ƒ‰๋œ ๊ฐฏ์ˆ˜, ๊ฒ€์ƒ‰๋ชฉ๋ก, ํŽ˜์ด์ง€๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

2. ๊ฐ€๊ฒŒ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

  • ํ™”๋ฉด ์ƒ๋‹จ์˜ ๊ฒ€์ƒ‰์ฐฝ์—์„œ ๊ฐ€๊ฒŒ๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฒ€์ƒ‰์–ด ์ž…๋ ฅ ํ›„, enter ํ‚ค๋ฅผ ๋ˆ„๋ฅด๊ฑฐ๋‚˜ ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ์„ ํด๋ฆญ ์‹œ ๊ฒ€์ƒ‰๋ฉ๋‹ˆ๋‹ค.
  • ๊ฒ€์ƒ‰๋œ ๋ชฉ๋ก์€ ๋ฒˆํ˜ธ, ๊ฐ€๊ฒŒ๋ช…, ์ฃผ์†Œ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

3. ํŽ˜์ด์ง€๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

  • ๊ฒ€์ƒ‰๋ชฉ๋ก์€ ํ•œํŽ˜์ด์ง€๋‹น 10๊ฐœ์”ฉ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.
  • ํŽ˜์ด์ง€๋Š” ํ•œ๋ฒˆ์— 5๊ฐœ๊นŒ์ง€ ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด์ „๊ณผ ๋‹ค์Œ๋ฒ„ํŠผ์œผ๋กœ ์ด๋™๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

demopage


์ถ”๊ฐ€ ์š”๊ตฌ์‚ฌํ•ญ

1. ๊ฒ€์ƒ‰ ํžˆ์Šคํ† ๋ฆฌ

  • ๊ฒ€์ƒ‰ ํžˆ์Šคํ† ๋ฆฌ์— ์žˆ๋Š” ๊ฒ€์ƒ‰์–ด๋ฅผ ํด๋ฆญํ•˜๋ฉด ๋‹ค์‹œ ๊ฒ€์ƒ‰๋ฉ๋‹ˆ๋‹ค.
  • ์ตœ๊ทผ ๊ฒ€์ƒ‰์–ด 5๊ฐœ๊นŒ์ง€ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
  • ๊ฒ€์ƒ‰ ํžˆ์Šคํ† ๋ฆฌ๋Š” ์ค‘๋ณต๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๊ฒ€์ƒ‰ ํžˆ์Šคํ† ๋ฆฌ๋Š” localStorage์— ์ €์žฅ๋˜๋ฉฐ, ์ฒซ ์‹คํ–‰์‹œ ์ €์žฅ๋œ ์ตœ๊ทผ ๊ฒ€์ƒ‰์–ด๋ฅผ ๋ถˆ๋Ÿฌ์˜ต๋‹ˆ๋‹ค.

2. ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ๋Š๋ฆฐ ๊ฒฝ์šฐ ์ฒ˜๋ฆฌ๋ฐฉ๋ฒ•

  • ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ๋Š๋ฆฌ๊ฒŒ ๋‚˜์˜ค๋„๋ก ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ฌ๋•Œ๊นŒ์ง€ ๋กœ๋”ฉ ํšจ๊ณผ ๋“ฑ์œผ๋กœ ์‚ฌ์šฉ์ž์—๊ฒŒ ์•Œ๋ฆฌ๋ฉฐ, ์˜ค์ž‘๋™ํ•˜์ง€ ์•Š๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

3. ์นด์นด์˜ค๋งต API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Modal UI๋กœ ํ‘œ์‹œ

  • ๊ฒ€์ƒ‰๊ฒฐ๊ณผ ๋ชฉ๋ก ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜์—ฌ ํด๋ฆญํ•˜๋ฉด Modal UI์— ์นด์นด์˜ค๋งต์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
    (#8 ๋ฏธ์…˜3์—์„œ ์‚ฌ์šฉํ•œ UI๋ฅผ ์ฐธ์กฐ)
  • ์นด์นด์˜ค๋งต์—์„œ ๊ฐ€๊ฒŒ ์ฃผ์†Œ๋กœ ๊ฒ€์ƒ‰ํ•œ ๊ฒฐ๊ณผ๊ฐ€ ํ‘œ์‹œ๋˜๋ฉฐ ๊ฐ€๊ฒŒ๋ช…์ด๋ฆ„์œผ๋กœ ๋งˆ์ปค ๐Ÿ“๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
  • ESC๋ฅผ ๋ˆ„๋ฅด๊ฑฐ๋‚˜ Modal UI๊ฐ€ ์•„๋‹Œ ๊ณณ์„ ๋ˆ„๋ฅด๋ฉด ์ฐฝ์ด ๋‹ซํž™๋‹ˆ๋‹ค.

๋งˆ์ปค


๊ฐ€๊ฒŒ์ฐพ๊ธฐ API ์‚ฌ์šฉ๋ฐฉ๋ฒ•

๊ฐ€๊ฒŒ์ฐพ๊ธฐ API ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

  • API ์„ค๋ช… : https://floating-harbor-78336.herokuapp.com
  • API : https://floating-harbor-78336.herokuapp.com/fastfood
  • ๋ถˆ๋Ÿฌ์˜ค๊ธฐ(๊ธฐ๋ณธ๊ฐ’ : page=1, perPage=10, searchKeyword="")
    fetch('https://floating-harbor-78336.herokuapp.com/fastfood').then()...
    ์˜ˆ์‹œ(ํŒ๊ต๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ , ํŽ˜์ด์ง€๋‹น 10๊ฐœ๋ชฉ๋ก์„ ํ‘œ์‹œํ•  ๋•Œ 1ํŽ˜์ด์ง€ ๋ชฉ๋ก๋ณด๊ธฐ)
    fetch('https://floating-harbor-78336.herokuapp.com/fastfood?searchKeyword=ํŒ๊ต&perPage=10&page=1').then()...
  • json ํ˜•์‹
{
    "list": [
        {
            "name": ๊ฐ€๊ฒŒ๋ช…,
            "addr": ๊ฐ€๊ฒŒ์ฃผ์†Œ,
        }
    ],
    "total": ์ด ๊ฐฏ์ˆ˜
}

์นด์นด์˜ค๋งต API ์‚ฌ์šฉ๋ฐฉ๋ฒ•

์ผ๋ฐ˜์„ค๋ช…

<script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=05384f5ffa79058c52233387b2b1142b"></script>
 - ์ง€๋„๋ฅผ ๋„์šฐ๋Š” ์ฝ”๋“œ ์ž‘์„ฑ
var container = document.getElementById('map'); //์ง€๋„๋ฅผ ๋‹ด์„ ์˜์—ญ์˜ DOM ๋ ˆํผ๋Ÿฐ์Šค
var options = { //์ง€๋„๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ํ•„์š”ํ•œ ๊ธฐ๋ณธ ์˜ต์…˜
	center: new kakao.maps.LatLng(33.450701, 126.570667), //์ง€๋„์˜ ์ค‘์‹ฌ์ขŒํ‘œ(ํ•„์ˆ˜์†์„ฑ).
	level: 3 //์ง€๋„์˜ ๋ ˆ๋ฒจ(ํ™•๋Œ€, ์ถ•์†Œ ์ •๋„)
};
var map = new kakao.maps.Map(container, options); //์ง€๋„ ์ƒ์„ฑ ๋ฐ ๊ฐ์ฒด ๋ฆฌํ„ด
  • API ํ‚ค : 05384f5ffa79058c52233387b2b1142b

์ฃผ์†Œ๋กœ ์žฅ์†Œ ํ‘œ์‹œํ•˜๋Š” ์˜ˆ์‹œ

  • http://apis.map.kakao.com/web/sample/addr2coord/
  • ์œ„ ๋งํฌ์˜ ์•„๋ž˜์ชฝ javascript + html ์˜ˆ์‹œ์ฝ”๋“œ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ์ฃผ์„ธ์š”.
  • ์ฝ”๋“œ์ฃผ์„์˜ ๊ด„ํ˜ธ 3๊ตฐ๋ฐ(APP KEY, ์ฃผ์†Œ์ž…๋ ฅ, ๊ฐ€๊ฒŒ๋ช… ์ž…๋ ฅ์œ„์น˜)๋ฅผ ์ฐธ๊ณ ํ•˜์‹œ๋ฉด์„œ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•ด์ฃผ์„ธ์š”.
// (์•„๋ž˜์— APP KEY๋ฅผ ๋„ฃ์–ด์ฃผ์„ธ์š”)
<script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=05384f5ffa79058c52233387b2b1142b&libraries=services"></script>
<script>
var mapContainer = document.getElementById('map'), // ์ง€๋„๋ฅผ ํ‘œ์‹œํ•  div 
    mapOption = {
        center: new kakao.maps.LatLng(33.450701, 126.570667), // ์ง€๋„์˜ ์ค‘์‹ฌ์ขŒํ‘œ
        level: 3 // ์ง€๋„์˜ ํ™•๋Œ€ ๋ ˆ๋ฒจ
    };  

// ์ง€๋„๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค    
var map = new kakao.maps.Map(mapContainer, mapOption); 

// ์ฃผ์†Œ-์ขŒํ‘œ ๋ณ€ํ™˜ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค
var geocoder = new kakao.maps.services.Geocoder();

// ์ฃผ์†Œ๋กœ ์ขŒํ‘œ๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค (์•„๋ž˜์— ๊ฐ€๊ฒŒ ์ฃผ์†Œ๊ฐ€ ์ž…๋ ฅ๋˜๊ฒŒ ํ•ด์ฃผ์„ธ์š”)
geocoder.addressSearch('์ œ์ฃผํŠน๋ณ„์ž์น˜๋„ ์ œ์ฃผ์‹œ ์ฒจ๋‹จ๋กœ 242', function(result, status) {

    // ์ •์ƒ์ ์œผ๋กœ ๊ฒ€์ƒ‰์ด ์™„๋ฃŒ๋์œผ๋ฉด 
     if (status === kakao.maps.services.Status.OK) {

        var coords = new kakao.maps.LatLng(result[0].y, result[0].x);

        // ๊ฒฐ๊ณผ๊ฐ’์œผ๋กœ ๋ฐ›์€ ์œ„์น˜๋ฅผ ๋งˆ์ปค๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค
        var marker = new kakao.maps.Marker({
            map: map,
            position: coords
        });

        // ์ธํฌ์œˆ๋„์šฐ๋กœ ์žฅ์†Œ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค
        var infowindow = new kakao.maps.InfoWindow({
        // (์•„๋ž˜์— ๊ฐ€๊ฒŒ๋ช…์ด ์ž…๋ ฅ๋˜๊ฒŒ ํ•ด ์ฃผ์„ธ์š”)
            content: '<div style="width:150px;text-align:center;padding:6px 0;">์šฐ๋ฆฌํšŒ์‚ฌ</div>' 
        });
        infowindow.open(map, marker);

        // ์ง€๋„์˜ ์ค‘์‹ฌ์„ ๊ฒฐ๊ณผ๊ฐ’์œผ๋กœ ๋ฐ›์€ ์œ„์น˜๋กœ ์ด๋™์‹œํ‚ต๋‹ˆ๋‹ค
        map.setCenter(coords);
    } 
});    

์ฃผ์˜์‚ฌํ•ญ

  • ์นด์นด์˜ค๋งต API๋Š” ๋“ฑ๋ก๋œ ๋„๋ฉ”์ธ ์ฃผ์†Œ์—์„œ๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
  • ํ˜„์žฌ https://127.0.0.1:5500 ์œผ๋กœ ๋„๋ฉ”์ธ ๋“ฑ๋ก์ด ๋˜์–ด์žˆ๋Š”๋ฐ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•œ ๋ถ„์€ ์•Œ๋ ค์ฃผ์„ธ์š”.
  • ์นด์นด์˜ค๋งต์— ์ฃผ์†Œ ๊ฒฐ๊ณผ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ์—๋Š” ๋งˆ์ปค๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐํƒ€

ํ…œํ”Œ๋ฆฟ

  • ํ…œํ”Œ๋ฆฟ๊ณผ, css ํŒŒ์ผ์€ ๋ธŒ๋žœ์น˜ sample/mission005์— ์—…๋กœ๋“œํ•˜์˜€์œผ๋‹ˆ ์ฐธ๊ณ ํ•˜์„ธ์š”.

์ฐธ๊ณ 

  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ”„๋ก ํŠธ์—”๋“œ ํ”„๋กœ์ ํŠธ ๊ฐ€์ด๋“œ ์ฑ…
  • ์ˆ˜์—…๋•Œ ์ถ”๊ฐ€๋ฏธ์…˜ ์‚ฌํ•ญ

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

์ฝ”๋“œ๋ฆฌ๋ทฐ ๊ฐ€์ด๋“œ

Reviewee

Reviewer x 3


@eastjun

@YongHoonJJo @s280493 @HoseokNa


@YongHoonJJo

@eastjun @StellaKim1230 @amorfati0310


@StellaKim1230

@YongHoonJJo @ganeodolu @HoseokNa


@ganeodolu

@YongHoonJJo @StellaKim1230 @amorfati0310


@s280493

@eastjun @ganeodolu @amorfati0310


@amorfati0310

@ganeodolu @s280493 @HoseokNa


@HoseokNa

@eastjun @StellaKim1230 @s280493


๋ฏธ์…˜์„ ํ™•์ธํ•˜์‹œ๊ณ  ๊ฐœ์„ ์ด ํ•„์š”ํ•œ ๋ถ€๋ถ„์ด ์žˆ์œผ๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”!!

mission001์„ ์ฝ”๋“œ๋ฆฌ๋ทฐ ํ•œ๋‹ค.

๐Ÿ“‹ ๋ฆฌ๋ทฐ ์ง„ํ–‰์ƒํ™ฉ dashboard ๐Ÿ“‹

๋ฆฌ๋ทฐ์ด: @eastjun

  • ๋ฆฌ๋ทฐ์–ด: @YongHoonJJo
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @StellaKim1230
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @ganeodolu
    • code review
    • approve

๋ฆฌ๋ทฐ์ด: @YongHoonJJo

  • ๋ฆฌ๋ทฐ์–ด: @eastjun
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @StellaKim1230
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @s280493
    • code review
    • approve

๋ฆฌ๋ทฐ์ด: @StellaKim1230

  • ๋ฆฌ๋ทฐ์–ด: @eastjun
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @ganeodolu
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @s280493
    • code review
    • approve

๋ฆฌ๋ทฐ์ด: @ganeodolu

  • ๋ฆฌ๋ทฐ์–ด: @eastjun
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @s280493
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @YongHoonJJo
    • code review
    • approve

๋ฆฌ๋ทฐ์ด: @s280493

  • ๋ฆฌ๋ทฐ์–ด: @YongHoonJJo
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @StellaKim1230
    • code review
    • approve
  • ๋ฆฌ๋ทฐ์–ด: @ganeodolu
    • code review
    • approve

[191226] mission003

template version


๐Ÿ”ฅ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ Form ๊ณผ Modal ์— ๋Œ€ํ•œ UI ๋งŒ๋“ค๊ธฐ

์›น ์‚ฌ์ดํŠธ์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ ๋˜๋Š” ๊ฒƒ ์ค‘ ํ•˜๋‚˜๊ฐ€ Form ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
HTML์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐ–๊ณ  ์žˆ๋Š” ํผ์˜ ๊ธฐ๋Šฅ๋„ ๊ฐ•๋ ฅํ•˜์ง€๋งŒ, ๊ทธ ํ•œ๊ณ„๋„ ๋ช…ํ™•ํ•˜๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
ํ•œ ์ž…๋ ฅ ํ•ญ๋ชฉ์ด ๋ณ€ํ™”ํ•จ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ํ•ญ๋ชฉ์„ ์ œํ•œ ํ˜น์€ ํ™•์žฅํ•˜๋Š” ๊ธฐ๋Šฅ ๋“ฑ์ด ๊ทธ๋ ‡๋‹ค๊ณ  ํ•˜๋„ค์š”.

์˜ˆ๋ฅผ ๋“ค๋ฉด,
์‚ฌ์šฉ์ž์˜ ์„ฑ๋ณ„์— ๋”ฐ๋ผ ๋ณด์—ฌ์ค„ ํ•ญ๋ชฉ์„ ๋‹ค๋ฅด๊ฒŒ ํ•œ๋‹ค๋˜๊ฐ€,
์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์ˆซ์ž ์‚ฌ์ด์— - ๋ฅผ ์ž…๋ ฅํ•ด์ค€๋‹ค๊ฑฐ๋‚˜ ํ•˜๋Š” ์ผ ๋“ฑ

๐Ÿด Missions

ํผ์„ ๊ธฐ๋ณธ์œผ๋กœ ๋ชจ๋‹ฌ UI ๊ฐœ๋ฐœ์„ Javascript ๋กœ ํ•ด๋ณด๊ธฐ

Requirement

  1. ์ด๋ฆ„, ์ „ํ™”๋ฒˆํ˜ธ, ์ด๋ฉ”์ผ, ๋น„๋ฐ€๋ฒˆํ˜ธ, ์ž๊ธฐ์†Œ๊ฐœ๋ฅผ ์ž…๋ ฅ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ํผ์„ ๋งŒ๋“ ๋‹ค.
  2. ์ „ํ™”๋ฒˆํ˜ธ ํ˜น์€ ์ด๋ฉ”์ผ์ด ์ž…๋ ฅ๋˜๋ฉด, ์ฒดํฌ๋ฐ•์Šค๋กœ ๊ฐœ์ธ์ •๋ณด๋ณดํ˜ธ๋ฐฉ์นจ์— ๋™์˜ํ•ฉ๋‹ˆ๋‹ค ๋ผ๋Š” ํ•ญ๋ชฉ์ด ๋‚˜ํƒ€๋‚˜๊ฒŒ ํ•œ๋‹ค.
  3. ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ํผ์ด ์ œ์ถœ๋˜๋„๋ก ํ•œ๋‹ค. (HTML native form submit ์„ ์˜๋ฏธํ•จ)
  4. ์ด ํผ์ด ๋ชจ๋‹ฌ UI์˜ ํ˜•ํƒœ๋กœ ํ™”๋ฉด์— ๋‚˜ํƒ€๋‚˜๋„๋ก ๋งŒ๋“ ๋‹ค.
  5. ํ•ญ๋ชฉ์ด ๋ชจ๋‘ ์ž…๋ ฅ๋˜๋ฉด ๋‹ค์Œ ๋ฒ„ํŠผ์ด ๋‚˜ํƒ€๋‚˜๊ณ  ์ด๋ฅผ ํด๋ฆญํ•˜๋ฉด ๊ฐ€์กฑ ๊ตฌ์„ฑ์›์„ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.
  • ์ถ”๊ฐ€ ๋ฅผ ๋ˆ„๋ฅด๋ฉด ์ด๋ฆ„๊ณผ ๊ด€๊ณ„๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋Š” ์ž…๋ ฅ ํผ์„ ๋งŒ๋“ค๊ณ , ์ž…๋ ฅ์„ ๋ฐ›๋„๋ก ํ•œ๋‹ค.
  • ๋‹จ, 1. ํ•ญ๋ชฉ์— ์ €์žฅ๋œ ๋‚ด์šฉ์€ ๋ฉ”๋ชจ๋ฆฌ ํ˜น์€ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ๋“  ์จ๋จน์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.
  • ๋˜ํ•œ 1. ํ•ญ๋ชฉ์— ํ‘œ์‹œ๋˜๋Š” input ํ˜น์€ ๊ธฐํƒ€ html ํƒœ๊ทธ๋“ค์€ ํ™”๋ฉด์— ๋ณด์—ฌ์„œ๋Š” ์•ˆ๋œ๋‹ค.
  • ์ฆ‰ ๋ชจ๋“  ํ•ญ๋ชฉ์„ ์ฆ‰์‹œ์— ์ž…๋ ฅํ•˜๋Š” ๋ฐฉ์‹์ด ์•„๋‹Œ ๋‹จ๊ณ„๋ณ„๋กœ ์ž…๋ ฅํ•˜๋Š” ์ผ์ข…์˜ Wizard ํ˜•ํƒœ๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ
  1. ๊ฐ€์กฑ ๊ตฌ์„ฑ์›์„ ์ž…๋ ฅํ•˜๊ณ  (0๋ช…์ด์–ด๋„ ๋ฌด๋ฐฉ), ํšŒ์›๊ฐ€์ž… ์„ ๋ˆ„๋ฅด๋ฉด ํผ์— ์ž…๋ ฅ๋œ ๋‚ด์šฉ๋“ค์„ ํ™•์ธํ•˜๊ณ  ๊ฐ€์ž… ์™„๋ฃŒ ํ‘œ์‹œ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.
  • ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ์€ ๋‚ด์šฉ์ด ์žˆ์„ ๊ฒฝ์šฐ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.
  1. ํผ์„ ๋‹ซ๊ณ  ํšŒ์›๊ฐ€์ž…์ด ์™„๋ฃŒ๋˜์—ˆ์Œ์„ ์•Œ๋ฆฌ๋Š” ๋ชจ๋‹ฌ ์ฐฝ์„ ๋งŒ๋“ ๋‹ค.

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

@eastjun

@YongHoonJJo @StellaKim1230 @ganeodolu


@YongHoonJJo

@StellaKim1230 @ganeodolu @s280493


@StellaKim1230

@ganeodolu @s280493 @eastjun


@ganeodolu

@s280493 @eastjun @YongHoonJJo


@s280493

@eastjun @YongHoonJJo @StellaKim1230

[200123] mission006

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๋‹ฌ๋ ฅ ๋งŒ๋“ค๊ธฐ

GA์‚ฌ์ดํŠธ ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ๋‹ฌ๋ ฅ ๊ธฐ๋Šฅ์ด ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค. ์ €๋„ ๋‹ฌ๋ ฅ์„ ์ง์ ‘ ๊ตฌํ˜„ํ•ด๋ณธ์ ์ด ์—†๊ณ , ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉํ•ด์„œ ๊ฐœ๋ฐœํ•œ ๊ธฐ์–ต๋ฐ–์— ์—†๋„ค์š”.
์š”๋ฒˆ ๊ธฐํšŒ์— ๋‹ฌ๋ ฅ์„ ๊ฐ™์ด ๊ตฌํ˜„ํ•ด๋ณด๋ฉด์„œ ์„œ๋กœ ๋‹ฌ๋ ฅ์„ ์งœ๋Š” ๋กœ์ง์— ๋Œ€ํ•ด ๊ณ ๋ฏผํ•˜๊ณ  ๋ฆฌ๋ทฐํ–ˆ์œผ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ  ๋‹ฌ๋ ฅ : Antd ๋‹ฌ๋ ฅ

Missions

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๋‹ฌ๋ ฅ ๊ตฌํ˜„ํ•ด๋ณด๊ธฐ.

Requirement

  1. ๊ธฐ๋ณธ์ ์œผ๋กœ antd์˜ ๋‹ฌ๋ ฅ์„ ์ฐธ๊ณ ํ•˜์—ฌ ๋งŒ๋“ ๋‹ค.(๊ผญ antd์ฒ˜๋Ÿผ ๋งŒ๋“ค ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค.)
  2. Antd ๊ธฐ์ค€ Month ํด๋ฆญ์‹œ ๋…„,์›”์— ๋งž๋Š” ๋‚ ์งœ๊ฐ€ ๋‹ฌ๋ ฅ์— ํ‘œ์‹œ๋œ๋‹ค.
  3. Antd ๊ธฐ์ค€ Year ํด๋ฆญ์‹œ 1์›”๋ถ€ํ„ฐ 12์›”๊นŒ์ง€ ํ‘œ์‹œ๋œ๋‹ค.

์ถ”๊ฐ€ ๊ตฌํ˜„์‚ฌํ•ญ ๋ฐ ๊ธฐํƒ€

  1. ์Šคํƒ€์ผ์€ ๊ฐ์ž ๊ฐœ์„ฑ์— ๋งž๊ฒŒ ๊ตฌํ˜„ํ•œ๋‹ค.
  2. todoList๋ฅผ ๋งŒ๋“ค์–ด์„œ, ๊ฐ ๋‹ฌ๋ ฅ์— ํ‘œ์‹œํ•œ๋‹ค. ( + ์ฒดํฌ๋ฐ•์Šค๋กœ ํ• ์ผ ์ฒดํฌ )
  3. Month ํด๋ฆญ์‹œ ์˜ค๋Š˜๋‚ ์งœ ์Šคํƒ€์ผ ๊ฐ•์กฐ, ๋‹ค๋ฅธ๋‚ ์งœ ํด๋ฆญ์‹œ ํด๋ฆญ๋œ ์Šคํƒ€์ผ ๊ฐ•์กฐ
  4. Year ํด๋ฆญ ์‹œ ํ•ด๋‹น์›”์— ์Šคํƒ€์ผ ๊ฐ•์กฐ, ๋‹ค๋ฅธ ์›” ํด๋ฆญ์”จ ํด๋ฆญ๋œ ์›”์— ์Šคํƒ€์ผ ๊ฐ•์กฐ

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

@StellaKim1230

@s280493 @ํ˜ธ์„ @amorfati0310


@s280493

@ํ˜ธ์„ @amorfati0310 @eastjun


@ํ˜ธ์„

@amorfati0310 @eastjun @ganeodolu


@amorfati0310

@eastjun @ganeodolu @YongHoonJJo


@eastjun

@ganeodolu @YongHoonJJo @StellaKim1230


@ganeodolu

@YongHoonJJo @StellaKim1230 @s280493


@YongHoonJJo

@StellaKim1230 @s280493 @ํ˜ธ์„


Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.