X(Twitter)์ ๋ฏธ๋ ํด๋ก ๋ฒ์ ์ ๋ง๋ค์์ต๋๋ค.
ํ์๊ฐ์
, ๋ก๊ทธ์ธ, ๊ฒ์๊ธ ์ฐ๊ธฐ, ๊ฒ์๊ธ ์ข์์ ๋๋ฅด๊ธฐ ๊ธฐ๋ฅ์ ๋ง๋ค์์ต๋๋ค.
๋ ธ๋ง๋ ์ฝ๋ ๋ฆฌ์กํธ ์คํฐ๋ 3๊ธฐ ์กธ์ ๊ณผ์ ๋ฅผ ์ํด ๋ง๋ค์์ต๋๋ค.
2023.11.06 ~ 2023.11.13
NextJS, TypeScript, TailwindCSS, Prisma๋ฅผ ์ด์ฉํ์ฌ ๊ฐ๋ฐํ์์ต๋๋ค.
๋ฐฐํฌ๋ Vercel๋ก ํ์์ผ๋ฉฐ, DB๋ Supabase์ postgreSQL๋ฅผ ์ด์ฉํ์ต๋๋ค.
/ | /login | ใ ค/joinใ ค |
---|---|---|
============== | ============== | ============== |
/join/create | /tweets |
---|---|
============== | ============== |
/tweets/:id | /tweets/upload |
---|---|
============== | ============== |
- ๋ณธ์ธ ๊ธ ์์ , ์ญ์ ๊ธฐ๋ฅ
- ๋๊ธ ๊ธฐ๋ฅ
- ๋ณธ์ธ ๋๋ค์, ๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ ๊ธฐ๋ฅ
- ํํด ๊ธฐ๋ฅ
npm install
: ๋น์ฐํ ํด์ผํ๋๊ฑฐ์ฃ- ์ต์์ ๊ฒฝ๋ก์
.env.local
ํ์ผ ์์ฑ ํ ์๋ ํ ์ฐธ๊ณ ํด์ ์ฑ์ฐ์์ฃ
KEY | VALUE's description |
---|---|
POSTGRES_PRISMA_URL | your sql url (maybe postgreSQL) |
COOKIE_NAME | your cookie name |
COOKIE_PASSWORD | your cookie password |
npm run prismaDevPush
: Prisma ๋ชจ๋ธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฉํ์ฌ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ ๋ฐ์ดํธํฉ๋๋ค. (๋ชจ๋ธ์ ๋ณ๊ฒฝํ์ผ๋ฉด ์คํํด์ค์๋ค.)npx prisma generate
: Prisma ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ผ๋ก ์ฝ๋๋ฅผ ์๋ ์์ฑํ์ฌ ๊ฐ๋ฐ ์์ฐ์ฑ์ ํฅ์์ํต๋๋ค. (schema.prisma ํ์ผ์ ๋ณ๊ฒฝํ๋ฉด ์คํํด์ค์๋ค.)npm run prismaStudio
: Prisma Studio ๋๊ตฌ๋ฅผ ์คํํ๋ ๋ช ๋ น์ด๋ก, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๊ฐํ์ ํจ์จ์ ์ธ ๋ฐ์ดํฐ ์กฐ์์ ์ ๊ณตํ์ฌ ๊ฐ๋ฐ ๋ฐ ๋๋ฒ๊น ์ ์ฉ์ดํ๊ฒ ํฉ๋๋ค. (Not Required)npm run dev
: Next.js ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐ ์๋ฒ ๋ชจ๋๋ก ์คํํฉ๋๋ค