/carrot-market

carrot-market

Primary LanguageTypeScriptMIT LicenseMIT

Search & Profile & Deployment ๐Ÿ”ฅ

  • ์˜ค๋Š˜์˜ ๊ฐ•์˜: ๋ณต์Šต
  • ์˜ค๋Š˜์˜ ๊ณผ์ œ: ์œ„์˜ ๊ฐ•์˜๋ฅผ ์‹œ์ฒญํ•˜์‹  ํ›„, ์•„๋ž˜ ์ฝ”๋“œ ์ฑŒ๋ฆฐ์ง€๋ฅผ ์ œ์ถœํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
  • ์ œ์ถœ๊ธฐ๊ฐ„: ๋‹ค์Œ ์›”์š”์ผ ์˜ค์ „ 6์‹œ๊นŒ์ง€. ๋งˆ์ง€๋ง‰ ์กธ์—…์ž‘ํ’ˆ ์ž…๋‹ˆ๋‹ค ;)

์ฑŒ๋ฆฐ์ง€ ๋ชฉํ‘œ:

์ง€๋‚œ ์„น์…˜์—์„œ ์ƒ์„ฑํ•œ ๊ฐ™์€ ํ”„๋กœ์ ํŠธ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค:

  • Implement the /search page where users should be able to search for tweets by keyword.
  • Implement the /users/[username] page to display the profile of a user and the Tweets the user has posted.
  • If the user is the owner of the profile show a link to the /users/[username]/edit page.
  • In the edit profile page the user should be able to edit the username, email, bio and change password.
  • Use Zod, Server Actions, useOptimistic and revalidatePath.
  • Deploy to Vercel and Vercel Postgres after watching this section.

์ œ์ถœ๋ฐฉ๋ฒ•

  • ์ œ์ถœํ•˜๋Š” ๋งํฌ๊ฐ€ ๋ฐ˜๋“œ์‹œ vercel.app ๋กœ ๋๋‚˜์•ผ ์ •์ƒ ์ œ์ถœ ๋ฉ๋‹ˆ๋‹ค!
  • ์ œ์ถœ๊ธฐ๊ฐ„: ๋‹ค์Œ ์›”์š”์ผ ์˜ค์ „ 6์‹œ๊นŒ์ง€. ๋งˆ์ง€๋ง‰ ์กธ์—…์ž‘ํ’ˆ ์ž…๋‹ˆ๋‹ค!

ํ›„๊ธฐ๋ฅผ ๋‚จ๊ฒจ์ฃผ์„ธ์š”

  • 10์ฃผ ์Šคํ„ฐ๋”” ์–ด๋– ์…จ๋‚˜์š”?
  • ์—ฌ๊ธฐ๊นŒ์ง€ ์˜ค์‹  ์—ฌ๋Ÿฌ๋ถ„! ์ •๋ง ๊ณ ์ƒํ•˜์…จ์Šต๋‹ˆ๋‹ค. ์ž๋ž‘์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค!
  • ์•„๋ž˜ ํ›„๊ธฐ๋ฅผ ๋‚จ๊ฒจ์ฃผ์‹œ๋ฉด. ์Šคํ„ฐ๋””๋ฅผ ์šด์˜ํ•ด๋‚˜๊ฐ€๋Š”๋ฐ ํฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ์งง๋ง‰ํ•˜๊ฒŒ๋‚˜๋งˆ ํ•œ๋งˆ๋””๋ผ๋„ ๋‚จ๊ฒจ์ฃผ์„ธ์š”! ๊ณ ๋ง™์Šต๋‹ˆ๋‹ค.

๊ฐœ์ธ์  ๋ชฉํ‘œ

  • ๊ธฐ๊ฐ„๋‚ด์— ์ฑŒ๋ฆฐ์ง€ ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜์ž! ( ์ŠคํŒŒ๊ฒŒํ‹ฐ ์ฝ”๋“œ.. )
  • [] ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋‹ค ๋ณด๋‹ˆ ์ƒ๊ธด ๋ฌธ์ œ๋“ค์„ ๋ฉ”๋ชจํ•ด ๋ณด์ž.
  • [] ํŠธ์œ„ํ„ฐ ํด๋ก  ์ฝ”๋”ฉ ์ฑŒ๋ฆฐ์ง€๋ฅผ next.js ๋ฒ„์ „์œผ๋กœ ๋„์ „ํ•ด ๋ณด์ž!
  • [] ์ฑŒ๋ฆฐ์ง€ ์ œ์ถœํ›„ ๋ฌดํ•œ ์Šคํฌ๋กค์„ ๊ตฌํ˜„ํ•ด ๋ณด์ž.
  • [] ๊นŒ๋จน๊ณ  ๋กœ๋”ฉํ™”๋ฉด์„ ๊ตฌํ˜„์„ ํ•˜์ง€ ์•Š์•˜์—ˆ๋‹ค.. ๊ตฌํ˜„ ํ•ด๋ณด์ž..
  • [] ์ฑŒ๋ฆฐ์ง€ ์ดํ›„ ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„.
  • [] ์ดํ›„ ๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋งŒ๋“ค์–ด ๋ณด๊ธฐ ( ์œ ์ €, ๊ฒŒ์‹œ๋ฌผ )

์ฝ”๋“œ ์ž‘์„ฑ์‹œ ์ƒ๊ธด ๋ฌธ์ œ๋“ค

  • ํ™€๋ฆฐ๋“ฏ์ด ์ด์ƒํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์žˆ๋‹ค.. ( component์— prisma ์—์„œ ๋ฐ›์€ ๊ฐ’์„ type์œผ๋กœ ์ฃผ๊ณ  ์žˆ๋‹ค.. ๋ญ”์ผ์ด์ง€..)
  • ์ฝ”๋“œ ์ •๋ฆฌ๊ฐ€ ์•ˆ๋˜๊ณ  ์žˆ๋‹ค.. ์ฑŒ๋ฆฐ์ง€ ๋๋‚œ ๋‹ค์Œ๋‚ ๋ถ€ํ„ฐ ๋ฆฌํŒฉํ† ๋ง์„ ํ•ด๋ณด์ž. ( ์ฝ”๋“œ๋ฅผ ํ™€๋ฆฐ๋“ฏ์ด ์ƒ๊ฐ์—†์ด ์งœ๋†“์€ ๋ถ€๋ถ„ ์ค‘ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ค๋Š” ๋ถ€๋ถ„์ด ์ƒ๋‹นํ•˜๋‹ค.. )
  • ์ค‘๋ณต๋˜๋Š” ์ฝ”๋“œ๋ฅผ ๊ณ„์† ์ž‘์„ฑํ•˜๊ณ  ์žˆ๋‹ค.. ( ๋งˆ์ฐฌ๊ฐ€์ง€ ๋ฆฌํŒฉํ† ๋ง )