ํ๋ก์ ํธ/๐ ๊ธ์ต ์ปค๋ฎค๋ํฐ
๋ญ๊ฐ ์ค๋ ๋ ํด๋ก ์ฝ๋ฉ ์ฒ๋ผ ๋์์ง๋ง ๊ธฐ๋ฅ์ ๊ณต๋ถํ๋ฉด์ ๋ฌดํ์คํฌ๋กค ๋ฐ ๋ค์ํ UI/UX ์ ์ฉ์ ํ์ผ๋ ๋ง์กฑํ๋ค. ์ด์ ๋ ๋ณธ์
์ ํ๋ฌ ๋์๊ฐ ์๊ฐ์ด๋ค. ์ถํ ์ด์ด์ ํ๋๋ก ํ๊ฒ ๋ค. ์ ์ ์ฃผ์๋ ๋ค์๊ณผ ๊ฐ๋ค.https://richable.cyber-luna.com/ ๋ฆฌ์น์์ด๋ธ - ๋ก๊ทธ์ธ๋ ๋์ ์ฑ์ฅ์ ์ํ ์ปค๋ฎค๋ํฐrichable.cyber-luna.com
ํ๋ก์ ํธ/๐ ๊ธ์ต ์ปค๋ฎค๋ํฐ
1.์ค๋ ๋ ๊ธฐ๋ฅ๊ทผ๋ ์ต๊ทผ ๋์จ ์ค๋ ๋์ ๋์์ธ์ ์ฐธ๊ณ ํ์ฌ ๋ชจ๋ฐฉ ๊ตฌํ ํด๋ณด์๋ค.ํ๋ฉด์กฐํ ์์ฑ ๋ฐ์ดํฐ ๋ฒ ์ด์ค ์คํค๋งmodel Thread { id String @id @default(cuid()) content String User User @relation(fields: [userId], references: [id], onDelete: Cascade) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt userId String ThreadComment ThreadComment[]}model Thr..
ํ๋ก์ ํธ/๐ ๊ธ์ต ์ปค๋ฎค๋ํฐ
๊ฐ๋ฐ๋ชฉ์ ํ๋์ฌํ์ ๋ค์ด์๋ ์ฌ๋๋ค์ด ์ ๋ง๋ค ์์ ์ ์ฅ์ ์ ํํํ๊ณ ์ถ์ ์๊ตฌ๊ฐ ์๋ค. ๋ณดํต ์ฌ๋๋ค์ ์จ๋ผ์ธ ๊ณต๊ฐ์ ์ด์ผ๊ธฐ๋ฅผ ํ๊ฒ๋๋ฉด ์๊ธฐ ์งํฌ๋ฅผ ๋ฐ๊ฒ๋๋ค. ์ด๋ฌํ ์๊ตฌ๋ฅผ ์ถฉ์กฑํ ์ ์๋๋ก ์ฌํ์ ํฉ์ํ์ ์๋์ด ์ฉ์ธ๋ ๊ณณ์์ ์์ ๋กญ๊ฒ ์์ฌ๊ตํ์ ํ๋ฉด ์ข๊ฒ ๋ค๊ณ ์๊ฐ์ ํ์ฌ ๋ค์์ ๊ธ์ต ์ปค๋ฎค๋ํฐ๋ฅผ ๋ง๋ค๊ณ ์ ํ๋ค. ๊ฐ๋ฐ์ผ์งNext.js ๊ธฐ๋ฐ์ Auth.js๋ก ์ธ์ฆ ์ธ๊ฐ๋ฅผ ์ ์ฉ ํ ํ์ ๊ฐ์
์ ์ด๋ฉ์ผ ์ธ์ฆ์ ํตํ์ฌ ๋ก๊ทธ์ธ ๊ฐ๋ฅํ๊ฒ ๊ตฌํํ์๋ค. ์์ฒด ์ด๋ฉ์ผ ์๋ฒ๋ฅผ ๊ตฌ์ถ์ ํ์ฌ ๋ฐ์ก ์ ์ฉ ๊ณ์ ์ ์์ฑํ๋ค. ์ถํ ์๋น์ค๊ฐ ์คํ๋๋ฉด ์ด๋ฉ์ผ/๋ฉ์ ์ ์๋น์ค ์ถ๊ฐ๋ ๊ณ ๋ ค ์์ ์ด๋ค. ๋ฉ์ธํ๋ฉด์ ํธ์ํฐ์ ์ปจ์์ผ๋ก ํผ๋๋ฅผ ์์ฑํ ์ ์์ผ๋ฉฐ ๋ฐ๋ก ์ ํต์ ์ธ ์ปค๋ฎค๋ํฐ ๊ฒ์ํ์ ๋ง๋ จํ์๋ค. ์ถํ ํฌ์ธํธ ์ ๋๋ฅผ ํตํด์ ๊ฐ ๊ฒ์ํ์ ๋๊ฒฐ๊ตฌ..