Frontend ๊ฐœ๋ฐœ์ž - hyo.loui

Project : helprogrammers - S.A ๋ณธ๋ฌธ

Project

Project : helprogrammers - S.A

hyo.loui 2022. 12. 22. 20:15

S.A (Starting Assignments) 

 

helprogrammers 

๐Ÿ’ก ํ”„๋กœ์ ํŠธ ์ œ๋ชฉ : ํ—ฌํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
( ํ—ฌํ”„ + ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ), ( ํ—ฌ + ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค )

ํ”„๋กœ์ ํŠธ ๊ฐ„๋‹จ ์„ค๋ช… : ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ์–ด๋ ค์›Œํ•˜๋Š” ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ ๋Œ€์› ๋ถ„๋“ค์„ ์œ„ํ•ด ์งˆ๋ฌธ์„ ๊ฒŒ์‹œํ•˜๊ณ , ๋Œ“๊ธ€๋กœ ํžŒํŠธ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ต์‹ฌ์€ ๋Œ“๊ธ€์ด ๊ฐ€๋ ค์ง„ ์ƒํƒœ๋กœ ์›ํ•˜๋Š” ์ˆ˜์ค€์˜ ํžŒํŠธ๋งŒ ์—ด์–ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์•„์ด๋””์–ด Goal

  • ์ ์‹ฌ๋ฉ”๋‰ด ๊ณต์œ  ์‚ฌ์ดํŠธ, ๋ญ๋จน์ง€@DRAM
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค, ์•Œ๊ณ ๋ฆฌ์ฆ˜ Q&A @์˜์ง„ ์ตœ ———————์ฑ„ํƒ๐ŸŽ‰
  • ์ž์ทจ๋Ÿฌ ํ•„์ˆ˜ํ…œ/๊ฟ€ํŒ ๊ณต์œ , ์ปค๋ฎค๋‹ˆํ‹ฐ @๊ฐ•์ต ์†

 


 

[๋ฆฌ์•กํŠธ A-4์กฐ ํ”„๋กœ์ ํŠธ ๊ฐœ์š”]

 

ํ™”์ดํŠธ๋ณด๋“œ

๐Ÿ’ก ์—ฌ๊ธฐ์ €๊ธฐ ๋Œ์•„๋‹ค๋‹ ํ•„์š” ์—†์ด ํ”„๋กœ์ ํŠธ ๋‚ด๋ถ€ ์ž๋ฃŒ๋ฅผ ์ด๊ณณ์— ๋ชจ์•„ ํ•œ๋ˆˆ์— ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๐Ÿ” ๋‹ค์ด์–ด๊ทธ๋žจ์„ ํ™œ์šฉํ•œ ์›Œํฌ ํ”Œ๋กœ์šฐ

 

 


ํ•„์ˆ˜ ์š”๊ตฌ ์‚ฌํ•ญ

  • ๋™์  ๋ผ์šฐํŒ…์„ ์‚ฌ์šฉ.
  • 1๊ฐœ ์ด์ƒ์˜ Custom Hook์„ ๊ตฌํ˜„.
  • Form์— ์œ ํšจ์„ฑ ๊ฒ€์ฆ ๊ธฐ๋Šฅ์„ ์ ์šฉ. ์•„๋ž˜ ์˜ˆ์‹œ
    • ex: ์ œ๋ชฉ์„ 10๊ธ€์ž ์ด์ƒ ๊ธฐ์ž…ํ•˜์ง€ ์•Š์œผ๋ฉด, ๊ธ€์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์—†๋„๋ก ์ œํ•œ → Alert ์œผ๋กœ ์•ˆ๋‚ด
    • ex: Form์—์„œ ๋ชจ๋“  input์— ๊ฐ’์„ ์ž…๋ ฅํ•˜์ง€ ์•Š์œผ๋ฉด, ๋ฒ„ํŠผ์ด ๋น„ํ™œ์„ฑํ™”
  • ๋ฒ„ํŠผ ์ปดํฌ๋„ŒํŠธ 1๊ฐœ๋กœ ๋ชจ๋“  ๋ฒ„ํŠผ์„ ๊ตฌํ˜„. ๋ชจ๋“  ์Šคํƒ€์ผ๊ณผ ๊ธฐ๋Šฅ์„ ๋ฒ„ํŠผ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋งŒ๋Šฅ ๋ฒ„ํŠผ์„ ๋งŒ๋“ค๊ฒƒ.
  • development ํ™˜๊ฒฝ์—์„œ๋งŒ redux devtool์ด ํ™œ์„ฑํ™” ๋˜๋„๋ก ์ฒ˜๋ฆฌ.
  • ๋ฐฐํฌ๋œ ๊ฒฐ๊ณผ๋ฌผ์—์„œ๋Š” console.log() ๊ฐ€ ๋ณด์ด์ง€ ์•Š๋„๋ก ์ฒ˜๋ฆฌ.
  • .env ๋ฅผ ์ด์šฉํ•ด์„œ API ์„œ๋ฒ„์˜ URL ์ฝ”๋“œ์ƒ์—์„œ ์ˆจ๊ธฐ๋„๋ก ์ฒ˜๋ฆฌ.

 

๐Ÿ’ก features : ํ•„์ˆ˜๋กœ ๊ตฌํ˜„ํ•ด์•ผ ํ•  ๊ธฐ๋Šฅ

  1. ๊ณตํ†ต
    • UI ๊ตฌํ˜„ํ•˜๊ธฐ
    • API ๋ช…์„ธ์„œ ์ž‘์„ฑํ•˜๊ธฐ
  2. ์งˆ๋ฌธ ๊ฒŒ์‹œ๊ธ€ - CRUD ๊ตฌํ˜„
    • ์งˆ๋ฌธ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ํ•˜๊ธฐ(๋ฉ”์ธ ๊ฒŒ์‹œ๊ธ€ ์Šค๋ ˆ๋“œ) - ๋‹ค์˜
    • ์งˆ๋ฌธ ์กฐํšŒ ํ•˜๊ธฐ(์ƒ์„ธํŽ˜์ด์ง€) - ์Šนํšจ, ํƒœ์–ธ
    • ์งˆ๋ฌธ ์ถ”๊ฐ€ ํ•˜๊ธฐ(๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ ํŽ˜์ด์ง€) - ํƒœ์–ธ, ๊ฐ•์ต
    • ์งˆ๋ฌธ ์‚ญ์ œ ํ•˜๊ธฐ(์ƒ์„ธํŽ˜์ด์ง€) - ํƒœ์–ธ, ๊ฐ•์ต
    • ์งˆ๋ฌธ ์ˆ˜์ • ํ•˜๊ธฐ(์ƒ์„ธํŽ˜์ด์ง€) - ์Šนํšจ, ๊ฐ•์ต
  3. ์งˆ๋ฌธ ๊ฒŒ์‹œ๊ธ€์˜ ๋Œ“๊ธ€ - CRUD ๊ตฌํ˜„
    • ๋Œ“๊ธ€ ์กฐํšŒ ํ•˜๊ธฐ - ์˜์ง„, ์Šนํšจ, ๋‹ค์˜
    • ๋Œ“๊ธ€ ์ถ”๊ฐ€ ํ•˜๊ธฐ - ์˜์ง„, ์Šนํšจ, ๋‹ค์˜
    • ๋Œ“๊ธ€ ์‚ญ์ œ ํ•˜๊ธฐ - ์˜์ง„, ์Šนํšจ, ๋‹ค์˜
    • ๋Œ“๊ธ€ ์ˆ˜์ • ํ•˜๊ธฐ - ์˜์ง„, ์Šนํšจ, ๋‹ค์˜
  4. ๋ฐฐํฌ
    • json-server ์„œ๋ฒ„ ๋ฐฐํฌ (heroku ์‚ฌ์šฉ) - ํƒœ์–ธ
    • ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ (S3, vercel ๋“ฑ)
  5. ์ถ”๊ฐ€๊ธฐ๋Šฅ
    • ๊ฒ€์ƒ‰๊ธฐ๋Šฅ - ์˜์ง„
    • ํŽ˜์ด์ง€ ๋ชจ๋“œ ๋ณ€ํ™˜ - ๋‹ค์˜

 

API

 

API

A new tool for teams & individuals that blends everyday work apps into one.

www.notion.so

 

 


 

๐ŸŒ ํŒ€ ๋‚ด ๋ฌธํ™” (Ground Rule)

  1. ๋ฌด์กฐ๊ฑด ์„œ๋กœ๋ฅผ ~๋‹˜์ด๋ผ๊ณ  ํ˜ธ์นญํ•˜๊ธฐ
  2. ์„œ๋กœ ์กด์ค‘ํ•˜์ž, ์ƒ๋Œ€ ์ž…์žฅ์—์„œ๋„ ํ•œ๋ฒˆ ์ƒ๊ฐํ•˜๊ธฐ
  3. ์•„์นจ์กฐํšŒ๋Š” 9์‹œ์— ZEP์— ์ ‘์†ํ•˜๊ธฐ
  4. ์ €๋…ํšŒ์˜๋Š” 7์‹œ์— ZEP์— ์ ‘์†ํ•˜๊ธฐ
  5. ์ž‘์—… ์ค‘์— ๋ง‰ํžˆ๋Š” ๋ถ€๋ถ„(์˜ค๋ฅ˜, ๊ฒ€์ƒ‰ํ•ด์„œ ์ž˜ ๋‚˜์˜ค์ง€ ์•Š๋Š” ๋ถ€๋ถ„)๋“ค์„ ๋„ˆ๋ฌด ์˜ค๋ž˜ ๊ณ ๋ฏผํ•˜์ง€๋ง๊ณ  1์‹œ๊ฐ„ ํ˜น์€ 2๋ฒˆ ์ด์ƒ ๊ณ ๋ คํ•ด๋„ ์•ˆ๋  ๋•Œ → ํŒ€์› ํ˜น์€ ํŒ€์žฅ์—๊ฒŒ ๊ณต์œ ํ•ด์„œ ๋นจ๋ฆฌ ํ•ด๊ฒฐํ•  ๊ฒƒ → ๊ณต์œ ํ•  ๋• ๊ตฌ์ฒด์ ์ธ ๋ฌธ์ œ์˜ ์›์ธ, ์ƒํ™ฉ์„ ์„ค๋ช… ํ•  ๊ฒƒ
  6. ์ฝ”๋“œ ๋ฆฌ๋ทฐํ•  ๊ฒฝ์šฐ ์™œ? ๋ผ๋Š” ์งˆ๋ฌธ ๋งŽ์ด ํ•˜๊ธฐ, ๊ธฐ๋ถ„ ๋‚˜๋น ํ•˜์ง€ ์•Š๊ธฐ
  7. ํŒ€์žฅ์—๊ฒŒ ์ž‘์—…์ด ๋๋‚˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ๋•Œ ํ˜„์žฌ ์ƒํ™ฉ์„ ์—…๋ฐ์ดํŠธ.

 


 

 ์ตœ์ข… ์ •๋ฆฌ 

  1. helprogrammers ์ปค๋ฎค๋‹ˆํ‹ฐ ์„œ๋น„์Šค ๊ฐœ๋ฐœ
  2. Redux-toolkit ์œผ๋กœ ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ, json-server๋ฅผ ํ†ตํ•ด ์ž„์‹œ API๋ฅผ ๊ตฌ์ถ•
  3. ์งˆ๋ฌธ๊ณผ ๋Œ“๊ธ€ ๊ธฐ๋Šฅ์ด ํ•ต์‹ฌ์ธ CRUD ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ
  4. ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด Redux, redux-toolkit, axios, custom-hooks๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฃผํŠน๊ธฐ ์ˆ™๋ จ