Skip to content

Hanghae99-5-Team1/TeamQue-FE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

์„œ๋น„์Šค ๋ฐ”๋กœ๊ฐ€๊ธฐ

ํ!




Group 914 ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

์งˆ ๋†’์€ ๋น„๋Œ€๋ฉด ์˜จ๋ผ์ธ ์ˆ˜์—…์„ ์œ„ํ•œ ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆฌ๋ฐ ๊ต์œก ํ”Œ๋žซํผ

ํŒ€์› ์†Œ๊ฐœ Group 915

์ด๋ฆ„ ์—ญํ•  Github
๊ณต์ •์šฉ ๋ฐฑ์—”๋“œ https://gitdub.com/XPECTER
์กฐ์ƒํ˜„ ๋ฐฑ์—”๋“œ https://github.com/ChoSangHyeon
๋ฌธ์„ฑํ˜„ ํ”„๋ก ํŠธ์—”๋“œ https://gitdub.com/SunghyeonMoon
๊น€์šฐํ˜„ ํ”„๋ก ํŠธ์—”๋“œ https://gitdub.com/woohyun1031
๋ฐ•์ง„ํฌ ๋””์ž์ธ
์ดํ˜„์ฃผ ๋””์ž์ธ

๊ธฐ์ˆ  ์Šคํƒ

FE




BE





ETC




ํ”„๋ก ํŠธ์—”๋“œ ๊ธฐ์ˆ  ์„ ์ • ์ด์œ 

FE

  1. React
    1. ํ”„๋กœ์ ํŠธ์— ์ฑ„ํŒ…, ๋‹ฌ๋ ฅ ์ผ์ • ํ‘œ์‹œ, ํ•  ์ผ ๋ชฉ๋ก ํ‘œ์‹œ ๋“ฑ, ๋™์ ์ธ ์š”์†Œ๊ฐ€ ๋งŽ์•„์„œ ํšจ์œจ์ ์œผ๋กœ ์œ ์ง€ ๋ณด์ˆ˜ํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋„์ž…
    2. ์•ž์„œ ์–˜๊ธฐํ–ˆ๋˜ ๋ณต์žกํ•œ ์ปดํฌ๋„ŒํŠธ๋“ค์„ ๋‹จ์œ„๋ณ„๋กœ ์ชผ๊ฐœ์„œ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ƒ์‚ฐ์„ฑ๊ณผ ์œ ์ง€ ๋ณด์ˆ˜์„ฑ์„ ๋†’์—ฌ์ค€๋‹ค.
    3. JSX๋ฅผ ํ†ตํ•ด์„œ Javascript ํ•˜๋‚˜๋งŒ์œผ๋กœ ๋งˆํฌ์—…๊ณผ ๋กœ์ง์„ ์งค ์ˆ˜ ์žˆ๋‹ค.
    4. Virtual DOM์„ ํ†ตํ•œ ๋žœ๋”๋ง ๊ณผ์ •์˜ ํšจ์œจ์„ฑ ์ฆ๊ฐ€
  2. Redux
    1. ์ „์—ญ ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋„์ž… ์ด์œ  - ์œ ์ € ์ •๋ณด, ๋ชจ๋‹ฌ ๋“ฑ ์ผํšŒ์„ฑ์ด์ง€ ์•Š๊ฑฐ๋‚˜, ๋‹จ์ผ ์ปดํฌ๋„ŒํŠธ ๋‚ด์—์„œ๋งŒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ƒํƒœ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด
    2. Redux ์„ ํƒ ์ด์œ 
      1. ์ƒํƒœ ๊ด€๋ฆฌ๋ฅผ store ํ•˜๋‚˜์—์„œ ๊ด€๋ฆฌํ•จ์œผ๋กœ์จ ์ƒํƒœ์˜ ์ค‘์•™ํ™”๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.
      2. Reducer๋ฅผ ํ†ตํ•ด์„œ ์ƒํƒœ ๋ณ€๊ฒฝ์„ ์‹œ์ผœ์„œ Side Effect๊ฐ€ ์—†์ด ์ง๊ด€์ ์ธ ์ƒํƒœ ๊ด€๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.
      3. Recoil๋„ ์ ์€ ์ฝ”๋“œ๋Ÿ‰๊ณผ ์กฐ๊ธˆ ๋” ๋ฆฌ์•กํŠธ์Šค๋Ÿฝ๊ฒŒ ์ƒํƒœ ๊ด€๋ฆฌ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์—์„œ ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์˜ ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•˜์˜€์œผ๋‚˜, ๊ฐœ์ธ์ ์œผ๋กœ ์•„์ง๊นŒ์ง€๋Š” ๋‹ค์–‘ํ•œ ํŒจํ„ด์— ๋Œ€ํ•œ ์˜ˆ์‹œ๊ฐ€ ๋ถ€์กฑํ•˜๋‹ค๊ณ  ์ƒ๊ฐ์ด ๋˜์–ด Redux๋ฅผ ์„ ํƒ.
      4. Recoil์— ๋น„ํ•ด ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ๋งŽ๊ณ , ์‚ฌ์šฉ์ž ํ’€์ด ๋„“๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์ง€๋งŒ, ๊ณผ๋„ํ•˜๊ฒŒ ๋งŽ์€ ๋ณด์ผ๋Ÿฌ ํ”Œ๋ ˆ์ดํŠธ๋ผ๋Š” ๋‹จ์ ์ด ์กด์žฌ. ํ•˜์ง€๋งŒ Redux Toolkit์„ ๋„์ž…ํ•จ์œผ๋กœ์จ ๋‹จ์  ์ƒ์‡„
  3. Styled-Components
    1. ๋กœ์ง๊ณผ ์Šคํƒ€์ผ์„ ํ•œ ํŒŒ์ผ ๋‚ด์—์„œ ๊ฐ™์ด ๊ด€๋ฆฌํ•˜์—ฌ ๋ชจ๋“ˆํ™”ํ•˜๊ธฐ ์‰ฝ๋‹ค.
    2. className์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ค‘๋ณต์„ ํ”ผํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ•œ ํŒŒ์ผ ๋‚ด์—์„œ๋„ ์Šคํƒ€์ผ๊ณผ ๋กœ์ง์„ ๋ถ„๋ฆฌํ•ด์„œ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ž‘์—… ํŽธ๋ฆฌ์„ฑ์„ ๋†’์—ฌ์ค€๋‹ค.
    3. ์Šคํƒ€์ผ์„ ์ฃผ์ž…ํ•˜๋ ค๋ฉด ๋ชจ๋‘ ์ปดํฌ๋„ŒํŠธ๋กœ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค๋Š” ๋‹จ์ ์ด ์กด์žฌ, ํ•˜์ง€๋งŒ Nesting ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•ด์„œ ๋‹จ์ ์„ ์ƒ์‡„ํ•  ์ˆ˜ ์žˆ๊ณ , ์˜คํžˆ๋ ค HTML ํƒœ๊ทธ ํ•˜๋‚˜ํ•˜๋‚˜์— ์ž์ฒด์ ์ธ ์ด๋ฆ„์„ ๋ถ€์—ฌํ•จ์œผ๋กœ์จ ๋”์šฑ ๋” ์ง๊ด€์ ์ธ ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ์ƒ๊ฐ๋œ๋‹ค.
  4. Typescript
    1. ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ ๊ฐ™์ด ๊ทœ๋ชจ๊ฐ€ ์ž‘๊ฑฐ๋‚˜, ํ˜ผ์ž ์ž‘์—…ํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋ผ๋ฉด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์ž‘์„ฑํ•˜๋”๋ผ๋„ ์—๋Ÿฌ๋ฅผ ๋น„๊ต์  ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๊ณ , ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทœ๋ชจ๊ฐ€ ์žˆ๋Š” ํŒ€ ํ”„๋กœ์ ํŠธ๋ผ๋ฉด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ฒ„๊ทธ๋ฅผ ์ฐพ๊ธฐ๊ฐ€ ์ ์  ๋” ์–ด๋ ค์›Œ์ง€๊ณ  ๋‹ค๋ฅธ ๊ทธ ์ฝ”๋“œ๊ฐ€ ํƒ€์ธ์˜ ์ฝ”๋“œ๋ผ๋ฉด ๋”์šฑ ๋” ์–ด๋ ค์›Œ์ง„๋‹ค. ํƒ€์ž… ์Šคํฌ๋ฆฝํŠธ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๊ณ ์งˆ์ ์ธ ๋ฌธ์ œ์ธ Type๊ด€๋ จ ์ƒ์„ธํ•œ ๋ฉ”์„ธ์ง€๋ฅผ ์ œ๊ณตํ•จ์œผ๋กœ์จ ๊ฐœ๋ฐœ์— ์žˆ์–ด์„œ ์‹ค์ˆ˜๋ฅผ ์ค„์—ฌ์ค€๋‹ค.
    2. ๋‹ค๋งŒ Typescript๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด interface, type ๋“ฑ ๋ถ€๊ฐ€์ ์ธ ์ฝ”๋“œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ , ๋•Œ๋•Œ๋ก  ์–ด๋–ค ํƒ€์ž…์„ ์ง€์ •ํ•ด์•ผ ํ•˜๋Š”์ง€ ๋ชฐ๋ผ์„œ ์˜คํžˆ๋ ค ๊ฐœ๋ฐœ ์‹œ๊ฐ„์„ ์ง€์—ฐ ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์•ž์„œ ์–˜๊ธฐํ–ˆ๋˜ type๊ด€๋ จ ์—๋Ÿฌ ๋ฐฉ์ง€์™€, IDE์—์„œ ์ œ๊ณตํ•˜๋Š” ์ž๋™ ์™„์„ฑ, ํƒ€์ž… ํ™•์ธ ๊ธฐ๋Šฅ๋“ค์„ ํ†ตํ•ด์„œ ์˜คํžˆ๋ ค ์žฅ๊ธฐ์ ์ธ ๊ด€์ ์—์„œ ๊ฐœ๋ฐœ ์‹œ๊ฐ„์„ ๋‹จ์ถ•์‹œ์ผœ์ค€๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์ด์œ ๋“ค๋กœ ํ˜„์žฌ ํ”„๋กœ์ ํŠธ์— ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ๋„์ž…
  5. JWT
    1. ์ฟ ํ‚ค์— ๋น„ํ•ด ๋†’์€ ๋ณด์•ˆ์„ฑ, ์‹œ๊ทธ๋‹ˆ์ฒ˜๋ฅผ ํ†ตํ•œ ์œ„๋ณ€์กฐ ๋ง‰์„ ์ˆ˜ ์žˆ๋‹ค.
    2. ํ† ํฐ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ค๋ฅธ ๋กœ๊ทธ์ธ ์‹œ์Šคํ…œ์— ์ ‘๊ทผ ๋ฐ ๊ถŒํ•œ ๊ณต์œ ๊ฐ€ ๊ฐ€๋Šฅํ•ด์„œ ์นด์นด์˜ค๋‚˜ ๊ตฌ๊ธ€ ๋“ฑ์˜ ๋‹ค๋ฅธ ์‹ ๋ขฐ๋„ ์žˆ๋Š” ๊ธฐ์—…์˜ ์ธ์ฆ์„ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์žˆ๋‹ค(๊ฐ€์žฅ ์ค‘์š” - ๋ฌด๋ถ„๋ณ„ํ•œ ๊ฐ€์ž…์„ ๋ง‰๋˜ ๊ฐ€์ž…์€ ํŽธ๋ฆฌํ•˜๋„๋ก).
    3. ์„œ๋ฒ„์—์„œ ๋ณ„๋„์˜ ์ €์žฅ์†Œ๊ฐ€ ํ•„์š” ์—†์–ด์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ธ์ฆ ์ ˆ์ฐจ๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.
    4. ๊ทธ๋Ÿฌ๋‚˜ ํ† ํฐ์„ ํƒˆ์ทจ ๋‹นํ–ˆ์„ ๋•Œ ๋Œ€์ฒ˜ํ•˜๊ธฐ๊ฐ€ ํž˜๋“ค๋‹ค. ๊ทธ๋ž˜์„œ Interceptor๋ฅผ ํ†ตํ•œ Access Token๊ณผ ํ•จ๊ป˜ Refresh ํ† ํฐ์„ ๋ฐœ๊ธ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์˜€๋‹ค. ์ด๋ ‡๊ฒŒ ํ•œ๋‹ค๋ฉด ์„œ๋ฒ„๊ฐ€ Refresh token์„ ๋งŒ๋ฃŒ ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์„ธ์…˜๊ณผ ๋น„์Šทํ•œ ์žฅ์ ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ, ์•ž์„œ ์–˜๊ธฐํ–ˆ๋˜ ์„œ๋ฒ„์— ๋ณ„๋„์˜ ์ €์žฅ ๊ณต๊ฐ„์ด ํ•„์š”ํ•ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ์•ž์„œ ๋งํ•œ ์žฅ์  ํ•˜๋‚˜๋ฅผ ํฌ๊ธฐํ•ด์•ผ๊ฒ ์ง€๋งŒ, ํ˜„์žฌ ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐ€์žฅ ์ ์ ˆํ•œ ๋ฐฉ์•ˆ์ด๋ผ ์ƒ๊ฐ๋˜์–ด ์ด ๋ฐฉ์‹์„ ์ฑ„ํƒํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.


์„œ๋น„์Šค ์•„ํ‚คํ…์ณ

์„œ๋น„์Šค

About

๐Ÿซnon face to face online class platform

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages