haileyham / study-now

๐Ÿค“ ๋งž์ถคํ˜•ํ€ด์ฆˆ ยท ์Šคํ„ฐ๋””๋ชจ์ง‘ ยท ์ฑ„์šฉ์ •๋ณด๋ฅผ ์–ธ์ œ ์–ด๋””์„œ๋“  ์ด์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ž๊ธฐ ๊ณ„๋ฐœ์„ ์œ„ํ•œ ๋‹ค๊ธฐ๋Šฅ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.
https://study-now-pink.vercel.app
0 stars 0 forks source link

๐Ÿค“ Study Now

๐Ÿ”— Study Now ๋ฐ”๋กœ๊ฐ€๊ธฐ

[์ฒดํ—˜๊ณ„์ •]
๐Ÿ’™ ๊ณ„์ • ID : studyNow@studynow.com
๐Ÿ”“ ๊ณ„์ • PW : test1T


๐Ÿญ ์„œ๋น„์Šค ์†Œ๊ฐœ
๐Ÿญ ๊ฐœ์š”-ํŠน์ง• ๋ฐ ์„ฑ๊ณผ
๐Ÿญ ์ฃผ์š” ๊ธฐ๋Šฅ ๋ฐ ํŽ˜์ด์ง€
๐Ÿญ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…


๐Ÿค“ Study Now

studyNow ์ด๋ฏธ์ง€

๐Ÿ“– ์„œ๋น„์Šค ์†Œ๊ฐœ

studyNow ๋Š” ๊ณต๋ถ€ ๋“ฑ ์ž๊ธฐ ๊ณ„๋ฐœ์„ ์œ„ํ•ด ์„ค๊ณ„๋œ ๋‹ค๊ธฐ๋Šฅ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ์ž๊ธฐ๊ณ„๋ฐœ์„ ์œ„ํ•œ ํ€ด์ฆˆ, ํšจ๊ณผ์ ์ธ ํ˜‘์—…์„ ์œ„ํ•œ ์Šคํ„ฐ๋””๊ทธ๋ฃน ๋ชจ์ง‘ ๋ฐ ์ฑ„์šฉ์ •๋ณด ์ œ๊ณต, ๊ตฌ์„ฑ์› ๊ฐ„ ์›ํ™œํ•œ ์†Œํ†ต์„ ์œ„ํ•œ ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ์ข…ํ•ฉ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.

  1. ํ€ด์ฆˆ ํ”Œ๋ ˆ์ด๋ฅผ ํ†ตํ•œ ๊ฐœ์ธ ์‹ค๋ ฅ ํ–ฅ์ƒ

    • ๊ฐœ์ธ์˜ ๊ธฐ์ˆ ๊ณผ ์ง€์‹์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ํ€ด์ฆˆ ์ฃผ์ œ์— ๋„์ „ํ•˜๊ณ  ์‹œ๊ฐ„ ๊ฒฝ๊ณผ์— ๋”ฐ๋ฅธ ์ง„ํ–‰ ์ƒํ™ฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ์Šคํ„ฐ๋”” ๊ทธ๋ฃน์„ ํ†ตํ•œ ๊ณตํ†ต ํ•™์Šต ๋ชฉํ‘œ ๋‹ฌ์„ฑ ๋ฐ ํ˜‘์—… ๋Šฅ๋ ฅ ํ–ฅ์ƒ

    • ์Šคํ„ฐ๋”” ๊ทธ๋ฃน์„ ๊ฒŒ์‹œํ•˜๊ณ  ๊ฐ€์ž…ํ•˜์—ฌ ๋‹ค์–‘ํ•œ ํ•™์Šต ์ฃผ์ œ๋ฅผ ํƒ์ƒ‰ํ•˜๊ณ  ์Šคํ„ฐ๋””์›์™€ ํ˜‘๋ ฅํ•˜์—ฌ ๊ณตํ†ต ํ•™์Šต ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. Chatting ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ด ์Šคํ„ฐ๋””์›๊ณผ ์ž์œ ๋กญ๊ฒŒ ๋Œ€ํ™”

    • ์Šคํ„ฐ๋””์›๊ณผ์˜ ์›ํ™œํ•œ ์†Œํ†ต์„ ์œ„ํ•œ ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  4. ์ตœ์‹  ์ฑ„์šฉ ๊ณต๊ณ ์— ๋Œ€ํ•œ ์ตœ์‹  ์ •๋ณด๋ฅผ ์œ ์ง€ํ•˜๊ณ  ๊ตฌ์ง ๊ณผ์ •์„ ๊ฐ„์†Œํ™”

    • ์„œ์šธ์‹œ ์ฑ„์šฉ์ •๋ณด ์—ฐ๊ณ„๋ฅผ ํ†ตํ•œ ์ฑ„์šฉ ์ •๋ณด์— ๋Œ€ํ•œ ์ตœ์‹  ์ •๋ณด ๋ฐ ๊ตฌ์ง ๊ณผ์ •์„ ๊ฐ„์†Œํ™” ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    TOP ๐Ÿ”ผ

๐Ÿ“– ๊ฐœ์š”

๐ŸŽˆ ํ”„๋กœ์ ํŠธ

๐Ÿฃ ํŠน์ง• ๋ฐ ์„ฑ๊ณผ

์ด ํ”„๋กœ์ ํŠธ๋Š” Next.js์™€ TypeScript ๋ฐ MongoDB๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋˜์—ˆ์œผ๋ฉฐ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ํ–ฅ์ƒ๊ณผ ์„ฑ๋Šฅ ์ตœ์ ํ™”์— ์ค‘์ ์„ ๋‘๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ฃผ์š” ํŠน์ง•๊ณผ ์„ฑ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

1. Next.js & TypeScript

2. ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ํ–ฅ์ƒ

3. ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ์ด์ง€๋งŒ ์–ธ์ œ๋“  develope ๊ฐ€๋Šฅํ•˜๋„๋ก


โš™ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ



๐Ÿ“‚ ๊ตฌ์กฐ

TOP ๐Ÿ”ผ

๐Ÿ“– ์ฃผ์š” ๊ธฐ๋Šฅ ๋ฐ ํŽ˜์ด์ง€

๐Ÿ’ก ๋ฉ”์ธ ํŽ˜์ด์ง€

๋ฉ”์ธํŽ˜์ด์ง€(๋ฐ˜์‘ํ˜•์›น) ๋ฉ”์ธํŽ˜์ด์ง€

Nav (layout.tsx)

Carousel


๐Ÿ’ก ์Šคํ„ฐ๋”” ๊ฒŒ์‹œํŒ ํŽ˜์ด์ง€

์Šคํ„ฐ๋”” ๊ฒŒ์‹œํŒ ํŽ˜์ด์ง€(๋ฐ˜์‘ํ˜•)

๐Ÿ’ก ์Šคํ„ฐ๋”” ๋ชจ์ง‘ ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก ํŽ˜์ด์ง€

๋ชจ์ง‘์ƒํƒœ tab ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ๊ฒ€์ƒ‰ ๊ธ€์“ฐ๊ธฐ ํŽ˜์ด์ง€ modal

๐Ÿ’ก๐ŸŒผ ์Šคํ„ฐ๋”” ๋ชจ์ง‘ ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ ํŽ˜์ด์ง€ & ์„œ๋ฒ„ ๊ฐœ๋ฐœ

ํŽธ๋ฆฌํ•œ ์ƒํƒœํ‘œ์‹œ ์œ ํšจ์„ฑ๊ฒ€์‚ฌ ๋ฐ modal ์œ ํšจ์„ฑ ํ†ต๊ณผํ›„ (modal ํ†ต์ผ๊ฐ)

๐Ÿ’ก๐ŸŒผ ์Šคํ„ฐ๋”” ๋ชจ์ง‘ ๊ฒŒ์‹œ๊ธ€ ์ˆ˜์ • & ์„œ๋ฒ„ ๊ฐœ๋ฐœ

dyanamice route ๊ฒŒ์‹œ๊ธ€ ์ˆ˜์ • ๊ฒŒ์‹œ๊ธ€ ์‚ญ์ œ

๐Ÿ’ก ์Šคํ„ฐ๋”” ๋ชจ์ง‘ ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํŽ˜์ด์ง€

๐ŸŒผ ์Šคํ„ฐ๋”” ๋ชจ์ง‘ ์‚ญ์ œ ์„œ๋ฒ„ ๊ฐœ๋ฐœ


๐Ÿ’ก ํ€ด์ฆˆ ํŽ˜์ด์ง€

ํ€ด์ฆˆ ํŽ˜์ด์ง€ (๋ฐ˜์‘ํ˜•)
ํ€ด์ฆˆ ์‚ฌ์šฉ์ž ์„ค์ • ํ€ด์ฆˆ ํ”Œ๋ ˆ์ด(+์‹œ๊ฐ„๊ฒฝ๊ณผ) ํ€ด์ฆˆ ๊ฒฐ๊ณผ ํŽ˜์ด์ง€

๐Ÿ’ก ํ€ด์ฆˆ ์…‹ํŒ… ํŽ˜์ด์ง€

๐Ÿ’ก ํ€ด์ฆˆ ํ”Œ๋ ˆ์ด ํŽ˜์ด์ง€

๐Ÿ’ก ํ€ด์ฆˆ ๊ฒฐ๊ณผ ํŽ˜์ด์ง€


๐Ÿ’ก ์ฑ„์šฉ ํŽ˜์ด์ง€

์ฑ„์šฉํŽ˜์ด์ง€(๋ฐ˜์‘ํ˜•์›น) ๊ฒ€์ƒ‰(์ง€์—ญ)


๐Ÿ’ก ๋งˆ์ด ํŽ˜์ด์ง€

๋งˆ์ดํŽ˜์ด์ง€(๋ฐ˜์‘ํ˜•์›น) ๊ฒ€์ƒ‰(์ง€์—ญ)


๐Ÿ’ก ๋กœ๊ทธ์ธ ๋ฐ ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€

๋กœ๊ทธ์ธ(OAuth/JWT) ํšŒ์›๊ฐ€์ž…(+์œ ํšจ์„ฑ)


๐Ÿ’ก Contact ํŽ˜์ด์ง€

contact ํŽ˜์ด์ง€ modal


๐ŸŒ Common ๊ธฐ๋Šฅ

Modal

Toggle - custom hook

useIntersectionObserver - custom hook

TOP ๐Ÿ”ผ


๐ŸŽƒ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

๐ŸŽƒ (๊ณต๊ณต๋ฐ์ดํ„ฐ) ์™ธ๋ถ€ API - Mixed Content

โ–ถ ์š”์•ฝ

์ฑ„์šฉ ํŽ˜์ด์ง€์˜ ๊ณต๊ณต๋ฐ์ดํ„ฐ ์ฑ„์šฉ์—ฐ๊ณ„ ์ •๋ณด API ์ด์šฉ ์‹œ, ๋ฐฐํฌ ์‚ฌ์ดํŠธ์—์„œ Mixed Content ๋ฌธ์ œ ๋ฐœ์ƒ

โ–ถ ์–ด๋–ค ๋ฌธ์ œ?

โ–ถ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ

  1. (์ž„์‹œ) - nextConfig ๋ฅผ ํ†ตํ•ด source์— fetch ์š”์ฒญ ๊ฒฝ๋กœ๋ฅผ ์กฐ์ •ํ•˜์—ฌ ์™ธ๋ถ€ API ํ˜ธ์ถœ ์ž„์‹œ https์—์„œ http๋กœ ๋ณ€๊ฒฝ
  2. proxy server
  3. API route - serverless function issue๋กœ

๐Ÿ”— GIT ISSUE ์ •๋ฆฌ mixed content issue ๋ฐ”๋กœ๊ฐ€๊ธฐ


๐ŸŽƒ serverless function

โ–ถ ์š”์•ฝ

โ–ถ ์–ด๋–ค ๋ฌธ์ œ?

โ–ถ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ

[Offload serverless functions]

๐Ÿ”— GIT ISSUE ์ •๋ฆฌ [issue ๋ฐ”๋กœ๊ฐ€๊ธฐ]()


๐ŸŽƒ props array

โ–ถ ์š”์•ฝ

ํ€ด์ฆˆ ํ”Œ๋ ˆ์ด ํŽ˜์ด์ง€์— props๊ฐ€ array์— ์ œ๋Œ€๋กœ ๋“ค์–ด์˜ค์ง€ ์•Š๋Š” ๋ฌธ์ œ ๋ฐœ์ƒ

โ–ถ ์–ด๋–ค ๋ฌธ์ œ?

โ–ถ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ

๐Ÿ”— GIT ISSUE ์ •๋ฆฌ [issue ๋ฐ”๋กœ๊ฐ€๊ธฐ]()


๐ŸŽƒ sticky

โ–ถ ์š”์•ฝ

์ฑ„์šฉ์ •๋ณด ํŽ˜์ด์ง€ ๊ฒ€์ƒ‰์ฐฝ ์Šคํฌ๋กค๋ฐ” ๋‚ด๋ฆด ์‹œ, sticky ์ ์šฉ ๋ถˆ๊ฐ€ ๋ฌธ์ œ

โ–ถ ์–ด๋–ค ๋ฌธ์ œ?

โ–ถ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ

๐Ÿ”— GIT ISSUE ์ •๋ฆฌ [issue ๋ฐ”๋กœ๊ฐ€๊ธฐ]()


๐ŸŽƒ local storage build - SSR

โ–ถ ์š”์•ฝ

ํ€ด์ฆˆ ํŽ˜์ด์ง€์—์„œ local storage ์˜ค๋ฅ˜ ๋ฐœ์ƒ

โ–ถ ์–ด๋–ค ๋ฌธ์ œ?

โ–ถ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ

๐Ÿ”— GIT ISSUE ์ •๋ฆฌ [issue ๋ฐ”๋กœ๊ฐ€๊ธฐ]()


๐ŸŽƒ ๋ฐฐํฌ์‚ฌ์ดํŠธ img block

โ–ถ ์š”์•ฝ

โ–ถ ์–ด๋–ค ๋ฌธ์ œ?

โ–ถ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ

๐Ÿ”— GIT ISSUE ์ •๋ฆฌ ๋ฐฐํฌ์‚ฌ์ดํŠธ img block issue ๋ฐ”๋กœ๊ฐ€๊ธฐ


๐ŸŽƒ vercel ๊ตญ๋‚ด DNS ver.app ์ฐจ๋‹จ ์ด์Šˆ

โ–ถ ์š”์•ฝ

๊ตญ๋‚ด DNS ๋„๋ฉ”์ธ ์ฐจ๋‹จ์œผ๋กœ ์ธํ•œ vercel ์ ‘์† ์ด์Šˆ ํ˜„์žฌ ๋ณธ์ธ ์ƒํ™ฉ์—์„œ๋Š” ๋ชจ๋ฐ”์ผ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๊ณ , tablet ๋ฐ ์›น์—์„œ ์ ‘๊ทผ์ด ๋ถˆ๊ฐ€.

โ–ถ ์–ด๋–ค ๋ฌธ์ œ?

์ตœ๊ทผ ๊ตญ๋‚ด์—์„œ Vercel ์ ‘์† ์‹œ ์†๋„ ์ด์Šˆ๊ฐ€ ์žˆ์—ˆ๋˜ ์ƒํ™ฉ์—์„œ ๊ตญ๋‚ด DNS ์—์„œ .vercel.app ๋„๋ฉ”์ธ์— ๋Œ€ํ•œ ์ฐจ๋‹จ์ด ์ด๋ฃจ์–ด์ง„ ๊ฒƒ์œผ๋กœ ๋ณด์ž„ ์ด์ „์— ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋˜ ๊ตญ๋‚ด ISP CloudFlare R2 ์ฐจ๋‹จ ๋•Œ์ฒ˜๋Ÿผ ํ•ด๋‹น DNS๋„ ๋™์ผํ•œ ์ด์Šˆ๊ฐ€ ์•„๋‹Œ๊ฐ€ ์‹ถ์Œ ์–ธ์ œ ํ•ด๊ฒฐ๋ ์ง€๋Š” ๋ฏธ์ง€์ˆ˜์ด์ง€๋งŒ, ํ”„๋กœ์ ํŠธ ๋‚ด ๋„๋ฉ”์ธ ์—ฐ๊ฒฐ ์‹œ ์ ‘๊ทผ ๊ฐ€๋Šฅ(.vercel.app๋งŒ ์•„๋‹ˆ๋ฉด ๋˜๋Š” ๊ฒƒ ๊ฐ™์Œ)

โ–ถ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ

  1. ์ปค์Šคํ…€ ๋„๋ฉ”์ธ ์‚ฌ์šฉ ๋ฐ ๋ณ€๊ฒฝ
  2. ๋‹ค๋ฅธ ๋ฐฐํฌ ์‚ฌ์ดํŠธ ์ด์šฉ - 3์ผ ๋‚ด๋กœ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์„ ๊ฒฝ์šฐ, ํƒ€ ๋ฐฐํฌ ์‚ฌ์ดํŠธ ์ด์šฉ

๐Ÿ”— GIT ISSUE ์ •๋ฆฌ vercel ๊ตญ๋‚ด DNS ๋ฌธ์ œ issue ๋ฐ”๋กœ๊ฐ€๊ธฐ


TOP ๐Ÿ”ผ