Skip to content

codestates-seb/seb44_main_020

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ใ„นใ…‡๋กœ๊ณ  ์•ˆ๋…•ํ•˜์„ธ์š”.

MoovDa๋Š” ์˜ํ™”์— ๋Œ€ํ•œ ํ‰๊ฐ€์™€ ๋ฆฌ๋ทฐ๋ฅผ ์ž์œ ๋กญ๊ฒŒ ๊ณต์œ ํ•˜๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค.
๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋“ค์˜ ์˜๊ฒฌ์„ ๋“ฃ๊ณ , ์ž์‹ ๋งŒ์˜ ์˜ํ™” ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค์–ด๋ณด์„ธ์š”.

MoovDa์—์„œ๋Š” ์˜ํ™” ์ œ๋ชฉ, ๊ฐ๋…, ๋ฐฐ์šฐ, ์žฅ๋ฅด ๋“ฑ ๋‹ค์–‘ํ•œ ์ •๋ณด๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์›ํ•˜๋Š” ์˜ํ™”๋ฅผ ์ •ํ™•ํžˆ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด๋ฅผ ํ†ตํ•ด ๋‹น์‹ ์ด ๊ฐ€์žฅ ๋งˆ์Œ์— ๋“œ๋Š” ์ž‘ํ’ˆ์„ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์„ ๊ฑฐ์˜ˆ์š”!

๋‹ค์–‘ํ•œ ์˜ํ™”๋“ค์„ ์‚ดํŽด๋ณด๊ณ , ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋“ค๊ณผ ์˜๊ฒฌ์„ ๊ณต์œ ํ•˜์—ฌ ์˜ํ™”์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ๊ด€์ ์„ ์–ป์–ด๋ณด์„ธ์š”.
์ข‹์•„ํ•˜๋Š” ์˜ํ™”, ์ถ”์ฒœํ•˜๊ณ  ์‹ถ์€ ์ž‘ํ’ˆ, ํŠน๋ณ„ํ•œ ๊ฐ๋™์„ ์ค€ ์˜ํ™” ๋“ฑ ๋‹ค์–‘ํ•œ ์ฃผ์ œ๋กœ ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆ„๋ฉด์„œ ์ฆ๊ฑฐ์šด ์‹œ๊ฐ„ ๋ณด๋‚ด์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.


MoovDa Page View


  • Main

๋ฉ”์ธํŽ˜์ด์ง€


  • Login

๋กœ๊ทธ์ธ ์•ค ๋งˆ์ดํŽ˜์ด์ง€


  • Movie Search

์˜ํ™” ํ•„ํ„ฐ ๊ฒ€์ƒ‰


  • Movie Detail

์˜ํ™” ์ƒ์„ธ


  • Comment

์ฝ”๋ฉ˜ํŠธ ์ž‘์„ฑ


  • Comment Like

์ฝ”๋ฉ˜ํŠธ ์ข‹์•„์š”


  • To Watch

๋ณผ ์˜ํ™” ์ถ”๊ฐ€


  • Question

์งˆ๋ฌธ ์ž‘์„ฑ


  • Answer

๋‹ต๋ณ€ ์ž‘์„ฑ




Team MoovDa

Frontend

  • ์ „์ˆ˜๋นˆ
    ์ž˜ ํ•  ์ˆ˜ ์žˆ์„๊นŒ? ์ฒ˜์Œ ๊ธฐํš๋ถ€ํ„ฐ ๊ฐœ๋ฐœ, ๋ฐฐํฌ๊นŒ์ง€ ํ•˜๋Š” ๊ฑด ์ฒ˜์Œ์ด๋ผ ์ œํ•œ๋œ ๊ธฐ๊ฐ„ ์•ˆ์— "๊ณผ์—ฐ ์ž˜ ํ•  ์ˆ˜ ์žˆ์„๊นŒ?" ๋ผ๋Š” ๋‘๋ ค์›€์„ ๊ฐ€์ง€๊ณ  ์‹œ์ž‘ํ–ˆ์ง€๋งŒ, ์ •์‹ ์—†์ด ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ–ˆ๋”๋‹ˆ ๋‘๋ ค์›€์ด๋ผ๋Š” ๊ฐ์ • ์„ ์žŠ๊ณ  ํ”„๋กœ์ ํŠธ๋ฅผ ๋งˆ์น˜๊ฒŒ ๋˜์—ˆ๋‹ค. ํ›„ํšŒ๋˜๋Š” ๋ถ€๋ถ„์ด ์ •๋ง ๋งŽ์•˜๋‹ค. ์ฒซ๋ฒˆ์งธ๋Š”, ๊ธฐํš๋‹จ๊ณ„์—์„œ ์ด ์ •๋„๋ฉด ๊ธฐํš ์ž˜ ํ–ˆ๋‹ค!๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์—ˆ์ง€๋งŒ, ์ „ํ˜€ ๊ทธ๋ ‡์ง€ ์•Š์•˜๋‹ค. ๊ธฐํš์— ์žˆ์–ด์„œ ์‹œ๊ฐ„์„ ํˆฌ์žํ•œ ๋งŒํผ ๋ฆฌํ„ด๊ฐ’์ด ๋‚˜์˜จ๋‹ค๋Š” ๊ฑธ ํ”„๋กœ์ ํŠธ ์ค‘๋ฐ˜์—์•ผ ๊นจ๋‹ซ๊ฒŒ ๋˜์—ˆ๋‹ค. API ๋ช…์„ธ์„œ๋ผ๋“ ์ง€, ํ™”๋ฉด์ •์˜์„œ, ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋ถ„๋“ค๊ณผ ๋” ๋งŽ์€ ๋Œ€ํ™”๋ฅผ ํ•˜๊ณ  ์ง„ํ–‰ํ–ˆ์œผ๋ฉด ๊ฐœ๋ฐœ ์˜์—ญ์—์„œ ์‹œ๊ฐ„์„ ๋” ๋งŽ์ด ์„ธ์ด๋ธŒ ํ•  ์ˆ˜ ์žˆ์—ˆ์„ ๊ฑฐ ๊ฐ™๋‹ค๋Š” ์•„์‰ฌ์›€์ด ์ •๋ง ์ปธ๋‹ค. ๋‘๋ฒˆ์งธ๋Š”, ํŒ€์žฅ์œผ๋กœ์„œ ์—ญํ• ์ด์˜€๋‹ค. ํšŒ์˜๋ก, ๋ฉ˜ํ† ๋ง ์‹ ์ฒญ, ๊ณผ์ œ ์ œ์ถœ๊ฐ™์€ ๋ถ€๋ถ„์€ ๋‹น์—ฐํžˆ ํŒ€์žฅ์ด ๋งก์•„์„œ ํ•ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐ์„ ํ–ˆ๊ณ  ์‹ค์ฒœํ–ˆ์ง€๋งŒ, ์ค‘๊ฐ„ ์ค‘๊ฐ„ ๋Šฆ๊ฒŒ ๋ฉ˜ํ† ๋ง์„ ์‹ ์ฒญํ•œ๋‹ค๋˜์ง€, ๊ณผ์ œ ์ œ์ถœ์„ ๋’ค๋Šฆ๊ฒŒ ์ œ์ถœ ํ•œ๋‹ค๋˜์ง€ ์ด๋Ÿฐ ๋ถ€๋ถ„์— ์žˆ์–ด์„œ ๊ผผ๊ผผํ•˜๊ฒŒ ํ•˜์ง€ ๋ชปํ•ด์„œ ํŒ€์›๋ถ„๋“ค๊ป˜ ์ฃ„์†กํ–ˆ๋‹ค. ๋‹ค์Œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ์ด๋ฒˆ ๊ฒฝํ—˜์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž˜ํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ๊ฑด ์œ ์ง€ํ•˜๊ณ  ํ›„ํšŒ๋˜๋Š” ๋ถ€๋ถ„์€ ์ˆ˜์ •ํ•ด์„œ ๋” ์ž˜ ํ•  ์ž์‹ ์ด ์ƒ๊ฒผ๋‹ค!
์ „์ˆ˜๋นˆ Worklog๐Ÿ“œ

Position : Frontend

Stack : Typescript, ReactJS, NextJS, Redux Toolkit, Styled Components

Works :

  1. ๊ฒ€์ƒ‰ ํŽ˜์ด์ง€
    • API response์— ๋‹ด๊ฒจ์˜ค๋Š” params๋ฅผ ํ•„ํ„ฐ์— ๋งž๊ฒŒ ๋ณ€๊ฒฝ
      • ์žฅ๋ฅด์ˆœ, ๊ตญ๊ฐ€์ˆœ, ์—ฐ๋ น์ˆœ, ๋ณ„์ ์ˆœ ํ•„ํ„ฐ ์ ์šฉ
    • Pagination
      • ์˜ํ™” ํฌ์Šคํ„ฐ 5x2
      • ๋‹ค์Œ, ์ด์ „ ํŽ˜์ด์ง€ ๋ฒ„ํŠผ
      • ๊ฐ€์ง€๊ณ ์žˆ๋Š” ๋ฐ์ดํ„ฐ์— ๋งž๊ฒŒ ํŽ˜์ด์ง€ ๊ฐฏ์ˆ˜ ์ ์šฉ
    • ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„โ€จ * ๊ฒ€์ƒ‰์ฐฝ์— ์˜ํ™”, ๊ฐ๋…, ๋ฐฐ์šฐ๋กœ ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅโ€จ
  2. ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€
    • ๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ
      • Oauth2 ๊ตฌ๊ธ€ url๋กœ ์ด๋™
    • ๋กœ๊ทธ์ธ ์™„๋ฃŒ์‹œ ๋ฉ”์ธํŽ˜์ด์ง€๋กœ ์ด๋™โ€จ
  3. ํ—ค๋”, ํ’‹ํ„ฐ
    • ๊ฐ ์•„์ด์ฝ˜์— ๋งž๊ฒŒ ํŽ˜์ด์ง€ ์ด๋™
      • ๋กœ๊ณ  ํด๋ฆญ ์‹œ ๋ฉ”์ธํŽ˜์ด์ง€ ์ด๋™
      • ๊ฒ€์ƒ‰๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๊ฒ€์ƒ‰ํŽ˜์ด์ง€ ์ด๋™
      • ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์ด๋™
        • ๋กœ๊ทธ์ธ ์™„๋ฃŒ ์‹œ ํ—ค๋”์— ๋กœ๊ทธ์•„์›ƒ ์•„์ด์ฝ˜์œผ๋กœ ๋ณ€๊ฒฝ
        • ๋กœ๊ทธ์•„์›ƒ ์•„์ด์ฝ˜ ํด๋ฆญ ์‹œ ๋กœ๊ทธ์ธ ์ •๋ณด ์‚ญ์ œ ํ›„ ๋กœ๊ทธ์ธ ์•„์ด์ฝ˜์œผ๋กœ ๋ณ€๊ฒฝ
    • ํ—ค๋”์— ๋กœ๊ทธ์ธ ์ •๋ณด ์ €์žฅ
    • ํ’‹ํ„ฐ์— ํŒ€์› ๊นƒํ—™ ์ฃผ์†Œ url ์—ฐ๊ฒฐ
  4. Deployment
    • 1์ฐจ ๋ฐฐํฌ Vercel
      • ๊นƒํ—™ dev ๋ธŒ๋Ÿฐ์น˜์— ์—ฐ๊ฒฐ ํ›„ ๋ฐฐํฌ
    • 2์ฐจ ๋ฐฐํฌ AWS S3
      • HTTPS ์ด์Šˆ๋กœ vercel์—์„œ AWS S3๋กœ ๋ณ€๊ฒฝ
    • 3์ฐจ ๋ฐฐํฌ Vercel
      • Next.js ์ •์ ํŒŒ์ผ๋กœ build ์ด์Šˆ๋กœ ์ธํ•ด ๋‹ค์‹œ Vercel๋กœ ์ˆ˜์ •
      • ๊นƒํ—™ main ๋ธŒ๋Ÿฐ์น˜์— ์ž๋™๋ฐฐํฌ ์„ฑ๊ณต

  • ์•ˆํ˜„์ง€
    ์†Œ์ค‘ํ•œ ๊ฒฝํ—˜ ์ž์‚ฐ ํ•œ ๋‹ฌ ์ฑ„ ์•ˆ๋˜๋Š” ๊ธฐ๊ฐ„๋™์•ˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์ •๋ง ๋‹ค์–‘ํ•œ ์ƒํ™ฉ๋“ค์„ ๋งˆ์ฃผํ–ˆ์Šต๋‹ˆ๋‹ค. ์ผ์ •์ด ์งง์•„ ํ•œ์ •๋œ ์‹œ๊ฐ„ ์•ˆ์— ํ”„๋กœ์ ํŠธ ๊ธฐํš๊ณผ ๋””์ž์ธ, ๊ฐœ๋ฐœ๊นŒ์ง€ ์™„์„ฑํ•˜๋Š” ๊ฒƒ์€ ๊ฒฐ์ฝ” ์‰ฌ์šด ์ผ์ด ์•„๋‹ˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ํŒ€์› ๊ฐ„ ์†Œํ†ต์˜ ์ค‘์š”์„ฑ์„ ๋‹ค์‹œ ํ•œ ๋ฒˆ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค. ์ง€์†์ ์ธ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜๊ณผ ํ”ผ๋“œ๋ฐฑ์„ ํ•˜๋ฉด์„œ ์ตœ์„ ์˜ ๊ฒฐ๊ณผ๋ฅผ ๋„์ถœํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํŒ€์› ๋ชจ๋‘๊ฐ€ ํŒ€ ๋‚ด์˜ ์ง„ํ–‰ ์ƒํ™ฉ์„ ํŒŒ์•…ํ•ด๊ฐ€๋ฉฐ ๋‹ค ํ•จ๊ป˜ ํŽ˜์ด์Šค๋ฅผ ๋งž์ถ”๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•œ ์ผ์ž„์„ ๋Š๊ผˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ค‘๊ฐ„์ค‘๊ฐ„ ์–ด๋ ค์›€๊ณผ ์ ˆ๋ง๋„ ์žˆ์—ˆ์ง€๋งŒ ๊ฒฐ๊ตญ ํ•ด๊ฒฐํ•ด๋‚ด๋Š” ๋ชจ์Šต์„ ๋ณด๋ฉด์„œ ์ด ๋˜ํ•œ ์œ ์˜๋ฏธํ•œ ๊ฒฝํ—˜์œผ๋กœ ๋ฐ›์•„๋“ค์ผ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
์•ˆํ˜„์ง€ Worklog๐Ÿ“œ

Position : Frontend

Stack : Typescript, ReactJS, NextJS, Redux Toolkit, Styled Components

Works :

  1. ํŽ˜์ด์ง€ UI ๊ตฌ์„ฑ ๋ฐ ํ”ผ๊ทธ๋งˆ ์ด์šฉํ•ด ํ”„๋กœํ† ํƒ€์ž… ๊ตฌํ˜„

    • ๋ฉ”์ธ ํŽ˜์ด์ง€
    • ์งˆ๋ฌธ ๋ฆฌ์ŠคํŠธ ํŽ˜์ด์ง€
    • ์งˆ๋ฌธ ์ƒ์„ธ ํŽ˜์ด์ง€
  2. MainPoster ์ปดํฌ๋„ŒํŠธ

    • props๋ฅผ ์ „๋‹ฌํ•˜์—ฌ ์กฐ๊ฑด๋ถ€ ๋ Œ๋”๋ง
      • default : ์˜ํ™” ํฌ์Šคํ„ฐ + ์ œ๋ชฉ
      • ๋ณธ์˜ํ™” ์„น์…˜์—์„œ ์‚ฌ์šฉ๋  ๋•Œ, ๋ณ„์  ๋…ธ์ถœ
      • ๋ณผ์˜ํ™” ์„น์…˜์—์„œ ์‚ฌ์šฉ๋  ๋•Œ, (๋งˆ์ดํŽ˜์ด์ง€์˜ ์‚ญ์ œ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด) ์‚ญ์ œ ์•„์ด์ฝ˜ ๋…ธ์ถœ
    • styled-components์˜ ThemeProvider ์ ์šฉ
      • ์ปดํฌ๋„ŒํŠธ์˜ ํฌ๊ธฐ๋ฅผ ์œ ๋™์ ์œผ๋กœ ์กฐ์ •ํ•˜์—ฌ ์—ฌ๋Ÿฌ ํŽ˜์ด์ง€์—์„œ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ
    • ๋ณผ์˜ํ™” ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„
  3. MainPage

    • ์ž๋™ ์žฌ์ƒ๋˜๋Š” ์บ๋Ÿฌ์…€ ์Šฌ๋ผ์ด๋” ๊ตฌํ˜„
      • react-slick ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ (centermode ์ ์šฉ)
    • ์˜ํ™” ํฌ์Šคํ„ฐ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„
  4. MyPage

    • UI ๋””์ž์ธ ์žฌ๊ตฌ์„ฑ
    • ๋กœ๊ทธ์ธํ•œ ๋ณธ์ธ์˜ ๋งˆ์ดํŽ˜์ด์ง€์ธ ๊ฒฝ์šฐ์™€ ํƒ€ ์‚ฌ์šฉ์ž์˜ ํ”„๋กœํ•„์„ ํด๋ฆญํ•˜์—ฌ ๋ฐฉ๋ฌธํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ๊ตฌ๋ถ„ํ•˜์—ฌ ์กฐ๊ฑด๋ถ€ ๋ Œ๋”๋ง
      • ๋กœ๊ทธ์ธํ•œ ์‚ฌ์šฉ์ž ๋ณธ์ธ์˜ ํŽ˜์ด์ง€์ธ ๊ฒฝ์šฐ์—๋งŒ ๋ณผ ์˜ํ™”์˜ ํŽธ์ง‘ ๋ฒ„ํŠผ์„ ๋…ธ์ถœ
        -> ํด๋ฆญํ•˜๋ฉด ๋ฉ”์ธ ํฌ์Šคํ„ฐ ์ปดํฌ๋„ŒํŠธ์˜ ์‚ญ์ œ ์•„์ด์ฝ˜ ๋…ธ์ถœ
      • ๋กœ๊ทธ์ธํ•œ ์‚ฌ์šฉ์ž ๋ณธ์ธ์˜ ํŽ˜์ด์ง€์ธ ๊ฒฝ์šฐ์—๋งŒ ๊ณ„์ • ๊ด€๋ฆฌ ์˜์—ญ ๋…ธ์ถœ
    • ๋ณผ ์˜ํ™”, ๋ณธ ์˜ํ™” ๋ฆฌ์ŠคํŠธ
      • react-slick ์‚ฌ์šฉํ•˜์—ฌ ์บ๋Ÿฌ์…€ ์Šฌ๋ผ์ด๋” ๊ตฌํ˜„
      • ์บ๋Ÿฌ์…€ ๋“œ๋ž˜๊ทธ ์‹œ ํด๋ฆญ ์ด๋ฒคํŠธ(์˜ํ™” ์ƒ์„ธํŽ˜์ด์ง€๋กœ ์ด๋™) ์‹คํ–‰๋˜๋Š” ๊ฒƒ ๋ฐฉ์ง€
    • ํšŒ์› ์ •๋ณด ์กฐํšŒ, ํšŒ์› ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„
  5. MovieDetail Page

    • ์˜ํ™” ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ
    • UI ๋””์ž์ธ ์žฌ๊ตฌ์„ฑ
    • ์ฝ”๋ฉ˜ํŠธ
      • ๋ชจ๋‹ฌ ํŒ์—…
      • ๋ณ„์  ๊ตฌํ˜„
      • ์ฝ”๋ฉ˜ํŠธ CRUD
        • ์ฝ”๋ฉ˜ํŠธ ์ถ”๊ฐ€ ์‹œ ๋ณธ ์˜ํ™” ๋ฆฌ์ŠคํŠธ ์ถ”๊ฐ€
        • ์ฝ”๋ฉ˜ํŠธ ์‚ญ์ œ ์‹œ ๋ณธ ์˜ํ™” ๋ฆฌ์ŠคํŠธ ์‚ญ์ œ
      • ๋ฆฌ์ŠคํŠธ ํŽ˜์ด์ง€๋„ค์ด์…˜ ์ ์šฉ
      • ์ฝ”๋ฉ˜ํŠธ ์ข‹์•„์š” ๊ตฌํ˜„
        • ์ข‹์•„์š” ์•„์ด์ฝ˜ ํด๋ฆญ ์‹œ ๋ฆฌ๋ Œ๋”๋ง ์ „ ๊นŒ์ง€๋Š” ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ UI ์ž„์‹œ ๋ฐ˜์˜(์ข‹์•„์š” ์ˆ˜ ๋ณ€๊ฒฝ, ์ข‹์•„์š” ์ƒํƒœ์— ๋”ฐ๋ฅธ ์•„์ด์ฝ˜ ์ƒ‰ ๋ณ€๊ฒฝ)
    • ๋ณผ ์˜ํ™” ๋ฆฌ์ŠคํŠธ ์ถ”๊ฐ€, ๊ธฐ๋Šฅ ๊ตฌํ˜„
  6. Footer

    • footer UI ์ˆ˜์ •

  • ๊ฐ•์˜ˆํ˜„
    ์„ฑ์žฅ์€ ๊ฒฝํ—˜์—์„œ ๋‚˜์˜จ๋‹ค ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹ค ๋งˆ์น˜๊ณ  ๋‚˜๋‹ˆ ๊ฒฐ๊ณผ๋ฌผ์— ๋Œ€ํ•ด ์•„์‰ฌ์šด ๋งˆ์Œ๋„ ๋“ค์ง€๋งŒ, ๊ทธ ๊ณผ์ •์—์„œ ๋งŽ์€ ๊ฒƒ์„ ๋ฐฐ์› ๊ณ  ๋‹คํ–‰ํžˆ ์„ฑ๊ณต์ ์œผ๋กœ ๋ฐฐํฌ๊นŒ์ง€ ์™„๋ฃŒํ•ด์„œ ๊ธฐ์œ ๋งˆ์Œ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ฒฝํ—˜์„ ํ†ตํ•ด ๊ฐ€์žฅ ํฌ๊ฒŒ ๊นจ๋‹ซ๊ฒŒ ๋œ ๊ฒƒ์€ ํƒ„ํƒ„ํ•œ ๊ธฐํš์ด ํ”„๋กœ์ ํŠธ์˜ ์™„์„ฑ๋„์™€ ์งˆ์„ ๊ฒฐ์ •ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์ž…๋‹ˆ๋‹ค. ์™„๋ฒฝํ•  ์ˆ˜๋Š” ์—†์ง€๋งŒ ์ตœ๋Œ€ํ•œ ๋งŽ์€ ์‹œ๊ฐ„ ๊ณ ๋ฏผํ•˜๋ฉด์„œ ํ”„๋กœ์ ํŠธ์˜ ๋ชฉํ‘œ์™€ ๊ธฐ๋Šฅ์„ ์ฒด๊ณ„์ ์œผ๋กœ ์ •๋ฆฝํ•œ๋‹ค๋ฉด, ๋‚˜์ค‘์— ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋“ค์„ ์˜ˆ๋ฐฉํ•˜๊ณ  ํšจ๊ณผ์ ์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Œ์„ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํŒ€์› ๊ฐ„์˜ ์›ํ™œํ•œ ์†Œํ†ต์ด ์ค‘์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๋Š๋‚„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ค‘๊ฐ„์— ๋ฐœ์ƒํ•œ ์ž‘์€ ์ด์Šˆ๋“ค๋„ ์„œ๋กœ์˜ ์š”๊ตฌ์‚ฌํ•ญ๊ณผ ์ง„ํ–‰ ์ƒํ™ฉ์„ ์ง€์†์ ์œผ๋กœ ๊ณต์œ ํ•˜๋ฉฐ ์กฐ์œจํ–ˆ๋˜ ๊ฒฐ๊ณผ, ๋ฐฐํฌ์— ์„ฑ๊ณตํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํŒ€ ๋‚ด ํ˜‘์—…์˜ ํ•ต์‹ฌ์ด ์–ด๋–ค ๊ฒƒ์ธ์ง€๋ฅผ ๋ชธ์†Œ ์ฒด๊ฐํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์™ธ์—๋„ ๊ฐœ์ธ์ ์œผ๋กœ ๊ณต์‹ ๋ฌธ์„œ์˜ ํ™œ์šฉ ๋ฐฉ๋ฒ•๊ณผ ํšจ์œจ์ ์ธ ๊ฒ€์ƒ‰ ๋ฐฉ๋ฒ• ๋“ฑ ๋งŽ์€ ๊ฒƒ์„ ๋ฐฐ์› ๋˜ ์‹œ๊ฐ„์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋๊นŒ์ง€ ์—ด์ •์„ ๊ฐ€์ง€๊ณ  ํ”„๋กœ์ ํŠธ์— ์ž„ํ•ด์ค€ ํŒ€์›๋“ค ๋•๋ถ„์— ์ž˜ ๋งˆ๋ฌด๋ฆฌํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ  ํ˜‘์—…์—์„œ ์ค‘์š”ํ•œ ๊ฒŒ ์–ด๋–ค ๊ฑด์ง€ ๋งŽ์€ ์ƒ๊ฐ์„ ํ•˜๊ฒŒ ํ•ด์ฃผ์—ˆ๋˜ ํ•œ ๋‹ฌ์ด์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.
๊ฐ•์˜ˆํ˜„ Worklog๐Ÿ“œ

Position : Frontend

Stack : Typescript, NextJs, ReactJs, Redux toolkit, Styled Component

Works :

  1. ํŽ˜์ด์ง€ UI ๊ตฌ์„ฑ ๋ฐ ํ”ผ๊ทธ๋งˆ ์‚ฌ์šฉ์„ ํ†ตํ•œ ํ”„๋กœํ† ํƒ€์ž… ๊ตฌํ˜„

    • ์˜ํ™” ์ƒ์„ธ ํŽ˜์ด์ง€ ์ดˆ๊ธฐ ๋””์ž์ธ
    • ์˜ํ™” ์ฝ”๋ฉ˜ํŠธ ๋ชจ๋‹ฌ
    • ๊ฒ€์ƒ‰ ํŽ˜์ด์ง€ ์ดˆ๊ธฐ ๋””์ž์ธโ€จ
  2. CRA -> NEXT.JS ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋ฐ ์ดˆ๊ธฐ์„ธํŒ…

  3. ์งˆ๋ฌธ ๋ฆฌ์ŠคํŠธ ํŽ˜์ด์ง€

    • UI ๋””์ž์ธ ์ˆ˜์ •
    • ์งˆ๋ฌธ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค์–ด ์—ฌ๋Ÿฌ ์งˆ๋ฌธ ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ์งˆ๋ฌธ ๋ฆฌ์ŠคํŠธ ํŽ˜์ด์ง€๋„ค์ด์…˜(์ˆซ์ž ๋ฒ„ํŠผ) ์ ์šฉํ•ด ํ•œ ํŽ˜์ด์ง€ ๋‹น ์งˆ๋ฌธ ์ปดํฌ๋„ŒํŠธ 10๊ฐœ์”ฉ ๋…ธ์ถœ
    • ์ถ”์ฒœ ๋ฐ›๊ธฐ ๋ฒ„ํŠผ ํด๋ฆญ์‹œ ์งˆ๋ฌธ ์ž‘์„ฑ ํŽ˜์ด์ง€๋กœ ์ด๋™
  4. ์งˆ๋ฌธ ์ž‘์„ฑ ํŽ˜์ด์ง€

    • UI ๋””์ž์ธ ์žฌ๊ตฌ์„ฑ
    • ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ
  5. ์งˆ๋ฌธ ์ˆ˜์ • ํŽ˜์ด์ง€

    • UI ๋””์ž์ธ ์žฌ๊ตฌ์„ฑ
    • ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ
  6. ์งˆ๋ฌธ ์ƒ์„ธ ํŽ˜์ด์ง€

    • UI ๋””์ž์ธ ์žฌ๊ตฌ์„ฑ
    • ์งˆ๋ฌธ ์ปดํฌ๋„ŒํŠธ
      • ์ˆ˜์ •/์‚ญ์ œ ๊ธฐ๋Šฅ
      • ์‚ฌ์šฉ์ž ๋ณธ์ธ์—๊ฒŒ๋งŒ ์ˆ˜์ •/์‚ญ์ œ ๋ฒ„ํŠผ ๋…ธ์ถœ
    • ๋‹ต๋ณ€ ์ž‘์„ฑ ์ปดํฌ๋„ŒํŠธ
      • ์˜ํ™” ๊ฒ€์ƒ‰ ๋ชจ๋‹ฌ์ฐฝ์—์„œ ์„ ํƒํ•œ ์˜ํ™” ์ •๋ณด ํฌํ•จ
      • ์˜ํ™” ์„ ํƒํ•˜๊ธฐ ํด๋ฆญ ์‹œ ์˜ํ™” ๊ฒ€์ƒ‰ ๋ชจ๋‹ฌ์ฐฝ ๋…ธ์ถœ
    • ๋‹ต๋ณ€ ์ปดํฌ๋„ŒํŠธ
      • ์ˆ˜์ •/์‚ญ์ œ ๊ธฐ๋Šฅ
      • ์‚ฌ์šฉ์ž ๋ณธ์ธ์—๊ฒŒ๋งŒ ์ˆ˜์ •/์‚ญ์ œ ๋ฒ„ํŠผ ๋…ธ์ถœ
    • ๋ชฉ๋ก์œผ๋กœ ์ด๋™ํ•˜๊ธฐ ๋ฒ„ํŠผ ํด๋ฆญ์‹œ ์งˆ๋ฌธ ๋ฆฌ์ŠคํŠธ ํŽ˜์ด์ง€๋กœ ์ด๋™
  7. ์˜ํ™” ๊ฒ€์ƒ‰ ๋ชจ๋‹ฌ์ฐฝ

    • UI ๋””์ž์ธ ๊ตฌ์„ฑ
    • ์˜ํ™” ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • ์˜ํ™” ์ œ๋ชฉ, ๊ฐ๋…, ๋ฐฐ์šฐ ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅ
    • ์˜ํ™” ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ํŽ˜์ด์ง€๋„ค์ด์…˜ (์ด์ „, ๋‹ค์Œ ๋ฒ„ํŠผ) ๊ธฐ๋Šฅ ์ ์šฉ

Backend

  • ๊น€์—ฐ์šฐ
    ์ง์ ‘ ํ•ด๋ณด๋‹ˆ ์•Œ๊ฒ ๋‹ค. ๊ธฐํš๋ถ€ํ„ฐ API ๋ช…์„ธ์„œ, ERD, ๊ฐœ๋ฐœ ๊ทธ๋ฆฌ๊ณ  ๋ฐฐํฌ๊นŒ์ง€ ๋ชจ๋“  ๊ณผ์ •์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ํŒ€๊ณผ ์ง์ ‘ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ์–ด๋Š ์ •๋„ ๊ฐ€์ด๋“œ๊ฐ€ ์žˆ์—ˆ๊ฑฐ๋‚˜, ํ…์ŠคํŠธ๋กœ๋งŒ ๋ฐ›์•„๋“ค์ด๋˜ ๊ฒƒ๋“ค์„ ์ง์ ‘ ํ•ด๋ณด๋‹ˆ "์•„ ์ด๋ ‡๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด ์ด๋ž˜์„œ ์ค‘์š”ํ•˜๊ตฌ๋‚˜!" ๋ฅผ ๋ชธ์†Œ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•˜๋ฉด ๊ธฐ๋Šฅ ๊ตฌํ˜„ ์ฆ‰, ์ฝ”๋“œ๋งŒ ์ฃผ๊ตฌ์žฅ์ฐฝ ์ž‘์„ฑํ•  ์ค„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. ํ˜„์‹ค์€ ๊ทธ๋ ‡์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ดˆ๊ธฐ์— ๊ธฐํš ๋‹จ๊ณ„์—์„œ ์™œ ์ถฉ๋ถ„ํžˆ ์‹œ๊ฐ„์„ ํˆฌ์žํ•ด์•ผ ํ•˜๋Š”์ง€, ํ”„๋กœ์ ํŠธ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๋ฌธ์„œํ™”๊ฐ€ ์™œ ์ค‘์š”ํ•œ์ง€ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž์— ๋Œ€ํ•ด ์–˜๊ธฐํ•  ๋•Œ ์†Œํ†ต์ด๋ผ๋Š” ํ‚ค์›Œ๋“œ๊ฐ€ ๋น ์ง€์ง€ ์•Š๋Š”๋ฐ, ์ด์ „์—๋Š” ํฌ๊ฒŒ ์™€๋‹ฟ์ง€ ์•Š์•˜์œผ๋‚˜, ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ํ”„๋ก ํŠธ์—”๋“œ ํŒ€์›๋“ค๊ณผ ๋ฐฑ์—”๋“œ ํŒ€์›๋“ค ๋ชจ๋‘ ์†Œํ†ตํ•  ์ผ์ด ์ •๋ง ๋งŽ์•˜๊ณ  ์˜๊ฒฌ ์ฐจ์ด๋„ ์ข…์ข… ์žˆ์–ด์„œ ์„œ๋กœ ์†Œํ†ตํ•˜๋ฉฐ ํ•ด๊ฒฐํ•œ ๊ฒฝ์šฐ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„์‰ฌ์šด ์ ์ด ์žˆ๋‹ค๋ฉด, ์ฝ”๋“œ ๋ฆฌ๋ทฐ์ž…๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๊ธฐ๋Šฅ์€ ๋™์ž‘ํ•˜๋Š”๋ฐ ์ด ์ฝ”๋“œ๊ฐ€ ์ข‹์€ ์ฝ”๋“œ์ธ์ง€์— ๋Œ€ํ•œ ๊ณ ๋ฏผ์ด ํ•ญ์ƒ ์žˆ์—ˆ๊ณ  ๋งˆ๋•…ํžˆ ๋ฌผ์–ด๋ณผ ์‚ฌ๋žŒ์ด๋‚˜ ์—ฌ์œ ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„์— ์žˆ์–ด์„œ ๊ณต๋ถ€๊ฐ€ ํ•„์š”ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์งง๋‹ค๋ฉด ์งง๊ณ , ๊ธธ๋‹ค๋ฉด ๊ธด ๊ธฐ๊ฐ„ ๋™์•ˆ ์ข‹์€ ํŒ€์›๋“ค๊ณผ ํ•จ๊ป˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜์—ฌ ์ •๋ง ๋งŽ์€ ๊ฒƒ์„ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค.
๊น€์—ฐ์šฐ Worklog๐Ÿ“œ

Position : Backend

Stack : Spring Boot, Spring Data JPA, EC2, RDS, MySQL, Querydsl

Works :

  1. Movie

    • OPEN API ์ด์šฉํ•˜์—ฌ ์˜ํ™” ๋ฐ์ดํ„ฐ ์ €์žฅ <Go To Notion | Thread์— ๋Œ€ํ•œ ์ดํ•ด์™€ ๋ฌธ์ œ ํ•ด๊ฒฐ>
    • ์˜ํ™” ์ƒ์„ธ ํŽ˜์ด์ง€ ๊ตฌํ˜„
    • ์žฅ๋ฅด, ๋‚˜๋ผ, ์—ฐ๋ น, ๋ณ„์  ํ•„ํ„ฐ๋ฅผ ์ด์šฉํ•œ ์˜ํ™” ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๊ตฌํ˜„(Querydsl)
    • ๋ฉ”์ธ ํŽ˜์ด์ง€ ๊ตฌํ˜„, GET ์š”์ฒญ ์‹œ ๋žœ๋ค์œผ๋กœ ์˜ํ™” 10๊ฐœ ์‘๋‹ต
  2. Comment

    • ์ฝ”๋ฉ˜ํŠธ์™€ ๋ณ„์  ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ์ฝ”๋ฉ˜ํŠธ ์ข‹์•„์š” ๊ธฐ๋Šฅ ๊ตฌํ˜„
  3. Watch

    • ๋ณด๊ณ  ์‹ถ์€ ์˜ํ™” ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ์ฝ”๋ฉ˜ํŠธ ์ž‘์„ฑ ์‹œ ๋ณธ ์˜ํ™”์— ์ถ”๊ฐ€
    • ๋งˆ์ด ํŽ˜์ด์ง€ ๋ณผ ์˜ํ™”, ๋ณธ ์˜ํ™” ๋ฆฌ์ŠคํŠธ
  4. Deployment

    • ์„œ๋ฒ„ ๋ฐฐํฌ(AWS EC2(Ubuntu), RDS(MySQL))
    • Load Balancer๋ฅผ ์ด์šฉํ•˜์—ฌ HTTPS ์ ์šฉ
    • Load Balancer๋ฅผ ์ด์šฉํ•˜์—ฌ Scale-Out ์ ์šฉ <Go To Notion | Scale-Out๊ณผ Load Balancer>
  5. Documentation


  • ์ •๋ฏผ์šฐ
    ํ˜‘์—…์˜ ์ค‘์š”์„ฑ ์‚ด์•„์˜ค๋ฉด์„œ ์ด๋ ‡๊ฒŒ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๊ณผ ์ œ๋Œ€๋กœ ํ˜‘์—…์„ ํ–ˆ๋‹ค๊ณ  ๋Š๋‚€ ๊ฒƒ์€ ์ฒ˜์Œ์ด์—ˆ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋Œ€ํ•™์ƒ ๋•Œ๋„ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ–ˆ์—ˆ์ง€๋งŒ ๊ทธ ๋•Œ๋Š” github๋ฅผ ์ด์šฉํ•˜์ง€ ์•Š์•„ ๊ฐœ๋ฐœ์ž๋กœ ํ˜‘์—…์„ ํ•œ๋‹ค๋Š” ๋Š๋‚Œ์ด ๋งŽ์ด ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ฝ”๋“œ์Šคํ…Œ์ด์ธ ์—์„œ ์—ฌ๋Ÿฌ ๊ธฐ์ˆ ๊ณผ ์Šคํƒ์„ ๋ฐฐ์šฐ๊ณ , ์ข‹์€ ํŒ€์›๋ถ„๋“ค์„ ๋งŒ๋‚˜ ์ข‹์€ ํ˜‘์—… ๊ฒฝํ—˜์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์•„์‰ฌ์šด ์ ์€ ์ œ๊ฐ€ ๋‹ค๋ฅธ ํŒ€์›๋“ค์— ๋น„ํ•ด ๋ถ€์กฑํ•จ์ด ๋งŽ์•„์„œ ํŒ€์›๋ถ„๋“ค๊ณผ ๋ฉ˜ํ† ๋ถ„์—๊ฒŒ ์ด๊ฒƒ ์ €๊ฒƒ ๋งŽ์ด ๋ฌผ์–ด๋ณด๊ณ  ๊ตฌ๊ธ€๋งํ•˜๋ฉฐ ์ž‘์—…์„ ํ•ด์„œ ์ œ๊ฐ€ ๋งŒ๋“  ๊ธฐ๋Šฅ์ด ๋งŽ์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜๋„ session์ธ์ฆ๋„ ์ดํ•ด๋„ ๋ฒ„๊ฑฐ์› ๋˜ ์ œ๊ฐ€ oauth์™€ jwt ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ์–ด๋Š์ •๋„ ์™„์„ฑํ–ˆ๋‹ค๋Š” ๊ฒƒ์— ๋งŽ์ด ๋ณด๋žŒ์„ ๋Š๋ผ๋ฉฐ ๋‹ค์Œ์— ๋˜ ์ด๋Ÿฐ ๊ธฐํšŒ๊ฐ€ ์ฐพ์•„์˜จ๋‹ค๋ฉด ๋” ์ž˜ ์ฝ”๋”ฉํ•  ์ž์‹ ์ด ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค.
์ •๋ฏผ์šฐ Worklog๐Ÿ“œ

Position : Backend

Stack : Java, Spring Boot, Spring Data JPA, mySQL, Spring Security

Works :

  1. Member CRUD

    • ๋กœ๊ทธ์ธ ํ›„ DB์— ๋ฉค๋ฒ„ ์ •๋ณด ์ €์žฅ
    • ๋งˆ์ดํŽ˜์ด์ง€์—์„œ ํšŒ์› ํƒˆํ‡ด ๊ฐ€๋Šฅ
  2. JWT ํ† ํฐ

    • JWT ACCESS TOKEN ๋ฐœํ–‰
    • JWT REFRESH TOKEN ๋ฐœํ–‰
  3. ๊ตฌ๊ธ€ OAuth 2.0

    • OAuth 2.0 ๋กœ๊ทธ์ธ ์‹œ JWT ํ† ํฐ์— ๊ตฌ๊ธ€ memberId์™€ ์ด๋ฆ„ ์ €์žฅ
    • ๋กœ๊ทธ์ธ ์„ฑ๊ณต ์‹œ URI์— JWT ํ† ํฐ์„ ๋„ฃ์€ ํ›„ ๋ฉ”์ธ ํ™ˆํŽ˜์ด์ง€๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ
    • ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

  • ๊น€๋ฏผ์„ฑ
    ๋‚จ์˜ ๊ฒƒ์„ ๋‚ด ๊ฒƒ์œผ๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ๋„ ๋Šฅ๋ ฅ์ด๋‹ค. ์ด๋ฒˆ ๋ฉ”์ธ ํ”„๋กœ์ ํŠธ๋ฅผ 2์ฃผ ์ •๋„ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์ •๋ง ๋งŽ์€ ๊ฒƒ์„ ๋ฐฐ์šฐ๊ณ  ๋Š๊ผˆ์Šต๋‹ˆ๋‹ค. ์ €ํฌ๊ฐ€ ์ดˆ๋ฐ˜์— ์„ค๊ณ„ํ•˜๊ณ  ๊ธฐํšํ•œ๋Œ€๋กœ ๋งค๋„๋Ÿฝ๊ฒŒ ์ง„ํ–‰๋˜์ง€๋Š” ์•Š์•˜์ง€๋งŒ ํ•œ ์‚ฌ๋žŒ์ด ์ž‘์—…ํ•˜๋Š”๊ฒƒ์ด ์•„๋‹Œ ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ๋ชจ์—ฌ ํ˜‘์—…์„ ํ•˜๋Š” ๊ณผ์ •์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ถˆ๊ฐ€ํ”ผํ•œ ์ผ์ด๋ผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์˜คํžˆ๋ ค ๊ทธ ๊ณผ์ •์—์„œ ํด๋ผ์ด์–ธํŠธ์™€ ์›ํ™œํ•˜๊ฒŒ ์†Œํ†ตํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋จธ๋กœ์„œ ์†Œํ†ต์€ ์—†์–ด์„œ๋Š” ์•ˆ ๋  ์ค‘์š”ํ•œ ๋Šฅ๋ ฅ์ด๋ผ๊ณ  ์•Œ๊ณ  ์žˆ๊ณ  ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ ๊ทธ ๋Šฅ๋ ฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ์ข‹์€ ๋ฐ‘๊ฑฐ๋ฆ„์ด ๋œ ๊ฒƒ ๊ฐ™๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์งˆ๋ฌธ๊ณผ ๋‹ต๋ณ€ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ํŽ˜์ด์ง€๋„ค์ด์…˜ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•จ์— ์žˆ์–ด์„œ ์–ด๋ ค์›€์„ ๋Š๋ผ๊ณ  ์žˆ์—ˆ๋Š”๋ฐ ํŽ˜์ด์ง€๋„ค์ด์…˜ ์˜ˆ์‹œ๋ฅผ ์ฐพ์•„ ๋ณด๊ณ  ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ๋ ˆํผ๋Ÿฐ์Šค ์ฝ”๋“œ ๋“ค์„ ๋ณด๋ฉด์„œ "์ด ์‚ฌ๋žŒ์€ ์ด๋Ÿฐ์‹์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์„œ ํŽ˜์ด์ง€๋„ค์ด์…˜์„ ๊ตฌํ˜„ํ–ˆ๊ตฌ๋‚˜." , "์ด ์‚ฌ๋žŒ์€ ์ € ์‚ฌ๋žŒ๊ณผ ๋น„์Šทํ•œ๋ฐ ๋ญ”๊ฐ€ ๋” ์ฝ”๋“œ๊ฐ€ ๊น”๋”ํ•˜๊ณ  ๊ฐ€์‹œ์„ฑ์ด ์žˆ๋„ค" ๋“ฑ์„ ๋Š๊ผˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ์‹์œผ๋กœ ๋น„๊ตํ•˜๋ฉด์„œ ์ €ํฌ ํ”„๋กœ์ ํŠธ์— ๋ฐฉํ–ฅ๊ณผ ๋งž๋Š” ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ–ˆ๊ณ  ํ”„๋กœ์ ํŠธ๋ฅผ ์™„์„ฑ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค. ๋‹จ์ˆœ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ชฉ์ ์ด ์•„๋‹Œ ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ์— ๋ฐฉํ–ฅ์ด๋‚˜ ํšจ์œจ์„ฑ ๋“ฑ์— ๋งž๋Š” ์ฝ”๋“œ๋“ค์„ ๊ตฌํ˜„ํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”์ธ ํ”„๋กœ์ ํŠธ ์ฒซ ์‹œ์ž‘ ๋•Œ๋Š” "๋‚ด๊ฐ€ ๊ตฌํ˜„์„ ์ž˜ํ•  ์ˆ˜ ์žˆ์„๊นŒ.." ๋ผ๋Š” ๋ถˆ์•ˆํ•จ์ด๋‚˜ ๊ฑฑ์ •์ด ์•ž์„ฐ์ง€๋งŒ, Sprint3 ํšŒ๊ณ ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์žˆ๋Š” ์ง€๊ธˆ์€ ๋‚ด๊ฐ€ ๋ชฐ๋ž๋˜ ์ƒˆ๋กœ์šด ์ฝ”๋“œ๋“ค์„ ์ ‘ํ• ์ˆ˜ ์žˆ๋‹ค๋Š” ๋‘๊ทผ๊ฑฐ๋ฆผ๊ณผ ๊ธฐ๋Œ€๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งž์ดํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ญ๋‹ˆ๋‹ค. ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ณ„๊ธฐ๋กœ ์ฝ”๋”ฉ์— ๋Œ€ํ•œ ๋‘๋ ค์›€์„ ์—†์• ๊ณ  ์ž์‹ ๊ฐ ์žˆ๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
๊น€๋ฏผ์„ฑ Worklog๐Ÿ“œ

Position : Backend

Stack : Java, mySQL, AWS, Spring Boot JPA

Works :

  1. ์งˆ๋ฌธ CRUD ๊ธฐ๋Šฅ ๊ตฌํ˜„

    • ์งˆ๋ฌธ ์ „์ฒด ์กฐํšŒ (๊ฒŒ์‹œํŒ ๋ฆฌ์ŠคํŠธ)
      • ๋‹ต๋ณ€ ์ˆ˜์™€ ์กฐํšŒ ์ˆ˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • ์ž‘์„ฑ ์ตœ์‹  ์ˆœ์œผ๋กœ ์ •๋ ฌ
      • ํŽ˜์ด์ง€๋„ค์ด์…˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ์งˆ๋ฌธ ์ƒ์„ธ ์กฐํšŒ
      • ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต๋ณ€ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • ๋‹ต๋ณ€ ์ •๋ณด ํŽ˜์ด์ง€๋„ค์ด์…˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • ๋‹ต๋ณ€ ์ž‘์„ฑ ์ตœ์‹  ์ˆœ์œผ๋กœ ์ •๋ ฌ
    • ์งˆ๋ฌธ ์ž‘์„ฑ
      • ์งˆ๋ฌธ ์ž‘์„ฑ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ
    • ์งˆ๋ฌธ ์ˆ˜์ • / ์‚ญ์ œ
      • AccessToken ๋น„๊ตํ•ด์„œ ์งˆ๋ฌธ์„ ์ž‘์„ฑํ•œ ์œ ์ €์ธ์ง€ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • ์งˆ๋ฌธ ์ˆ˜์ • ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ
      • ์˜ˆ์™ธ ์ฝ”๋“œ ์ž‘์„ฑ
  2. ๋‹ต๋ณ€ CRUD ๊ธฐ๋Šฅ ๊ตฌํ˜„

    • ๋‹ต๋ณ€ ์ž‘์„ฑ
      • ๋‹ต๋ณ€ ์ž‘์„ฑ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ
    • ๋‹ต๋ณ€ ์ˆ˜์ • / ์‚ญ์ œ
      • AccessToken ๋น„๊ตํ•ด์„œ ๋‹ต๋ณ€์„ ์ž‘์„ฑํ•œ ์œ ์ €์ธ์ง€ ํ™•์ธํ•˜๋Š” ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • ๋‹ต๋ณ€ ์ˆ˜์ • ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ
      • ์˜ˆ์™ธ ์ฝ”๋“œ ์ž‘์„ฑ




Technologies used

Frontend




Backend




Deployment




Project Management