Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
133 changes: 110 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,123 @@
This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).
<img src="./public/logo.svg" alt="Slice ๋กœ๊ณ " width="50" />

## Getting Started
# Slice

First, run the development server:
๋ชฉํ‘œ๋ฅผ ์ž‘์€ ์กฐ๊ฐ(ํ•  ์ผ)์œผ๋กœ ๋‚˜๋ˆ„์–ด ๊ด€๋ฆฌํ•˜๊ณ , ๋Œ€์‹œ๋ณด๋“œ๋กœ ์ง„ํ–‰ ์ƒํ™ฉ์„ ํ™•์ธํ•˜๋ฉฐ, ๋…ธํŠธ๋กœ ํ•™์Šต ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜

```bash
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
```
- ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„ : 2025.11.21 - 2026.01.05
- ๋ฐฐํฌ ์ฃผ์†Œ : [https://slice-todo.vercel.app](https://slice-todo.vercel.app)

Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
## ๊ธฐ์ˆ  ์Šคํƒ

You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
- **Language**: TypeScript
- **Framework**: React 19, Next.js 15 (App Router)
- **State Management**: TanStack Query, Zustand
- **Styling**: Tailwind CSS 4
- **Library**: Tiptap, Framer Motion, Sonner
- **Testing**: Jest, Testing Library, Storybook
- **CI/CD**: GitHub Actions, Vercel

This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.
## ์„œ๋น„์Šค ํ™”๋ฉด

## Learn More
### ๋žœ๋”ฉ ํŽ˜์ด์ง€

To learn more about Next.js, take a look at the following resources:
- ์„œ๋น„์Šค ์†Œ๊ฐœ ๋ฐ ์ฃผ์š” ๊ธฐ๋Šฅ์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.
- `์‹œ์ž‘ํ•˜๊ธฐ` ๋ฒ„ํŠผ์„ ํ†ตํ•ด ๋กœ๊ทธ์ธ ์ƒํƒœ์— ๋”ฐ๋ผ ๋Œ€์‹œ๋ณด๋“œ ๋˜๋Š” ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
| ๋žœ๋”ฉ ํŽ˜์ด์ง€ (<a href="https://github.com/jjinheeWorld">์ด์ง„ํฌ</a>) |
| :----------------------------------------------------------------: |
| <img src="https://placehold.co/1200x700" width="700" /> |

You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!
### ๋กœ๊ทธ์ธ / ํšŒ์›๊ฐ€์ž…

## Deploy on Vercel
- ๋กœ๊ทธ์ธ: ์ด๋ฉ”์ผ๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ์„ ํ†ตํ•ด ๊ณ„์ •์„ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค.
- ํšŒ์›๊ฐ€์ž…: ์ด๋ฆ„, ์ด๋ฉ”์ผ, ๋น„๋ฐ€๋ฒˆํ˜ธ์— ๋Œ€ํ•œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ํ†ตํ•ด ๊ณ„์ •์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
| ๋กœ๊ทธ์ธ / ํšŒ์›๊ฐ€์ž… (<a href="https://github.com/swallowedB">์ตœ๋ณด์•„</a>) |
| :--------------------------------------------------------------------: |
| <img src="https://placehold.co/1200x700" width="700" /> |

Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
### ๋„ค๋น„๊ฒŒ์ด์…˜ ์‚ฌ์ด๋“œ๋ฐ”

- ๋Œ€์‹œ๋ณด๋“œ์™€ ๋ชฉํ‘œ ์ƒ์„ธ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๋„ค๋น„๊ฒŒ์ด์…˜์„ ์ œ๊ณตํ•˜๋ฉฐ, ๋ชฉํ‘œ์™€ ํ•  ์ผ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
- ๋กœ๊ทธ์ธํ•œ ๊ณ„์ • ์ •๋ณด๋ฅผ ํ™•์ธํ•˜๊ณ  ๋กœ๊ทธ์•„์›ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

| ๋„ค๋น„๊ฒŒ์ด์…˜ ์‚ฌ์ด๋“œ๋ฐ” (<a href="https://github.com/swallowedB">์ตœ๋ณด์•„</a>) |
| :----------------------------------------------------------------------: |
| <img src="https://placehold.co/1200x700" width="700" /> |

### ๋Œ€์‹œ๋ณด๋“œ

- ์ตœ๊ทผ ๋“ฑ๋กํ•œ ํ•  ์ผ: ๊ฐ€์žฅ ์ตœ๊ทผ์— ์ƒ์„ฑํ•œ ํ•  ์ผ์„ ํ™•์ธํ•˜๊ณ , `๋ชจ๋‘ ๋ณด๊ธฐ` ๋ฒ„ํŠผ์„ ํ†ตํ•ด ๋ชจ๋“  ํ•  ์ผ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
- ๋‚ด ์ง„ํ–‰ ์ƒํ™ฉ: ์™„๋ฃŒ๋œ ํ•  ์ผ๊ณผ ๋ฏธ์™„๋ฃŒ ํ•  ์ผ์˜ ๋น„์œจ์„ ํ†ตํ•ด ํ˜„์žฌ ์ง„ํ–‰ ์ƒํ™ฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
- ๋ชฉํ‘œ๋ณ„ ํ•  ์ผ: ๋ชฉํ‘œ๋ณ„ ํ•  ์ผ ๋ชฉ๋ก์„ ํ™•์ธํ•˜๊ณ , ๊ฐ ๋ชฉํ‘œ์— ํ•  ์ผ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชฉํ‘œ๊ฐ€ 2๊ฐœ๋ฅผ ์ดˆ๊ณผํ•˜๋ฉด ๋ฌดํ•œ ์Šคํฌ๋กค๋กœ ๋ชฉํ‘œ ๋ชฉ๋ก์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.

| ๋Œ€์‹œ๋ณด๋“œ (<a href="https://github.com/goodaseul">์ •๋‹ค์Šฌ</a>) |
| :----------------------------------------------------------: |
| <img src="https://placehold.co/1200x700" width="700" /> |

### ๋ชฉํ‘œ ์ƒ์„ธ

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

| ๋ชฉํ‘œ ์ƒ์„ธ (<a href="https://github.com/goodaseul">์ •๋‹ค์Šฌ</a>) |
| :-----------------------------------------------------------: |
| <img src="https://placehold.co/1200x700" width="700" /> |

### ๋ชจ๋“  ํ•  ์ผ

- ๋“ฑ๋กํ•œ ๋ชจ๋“  ํ•  ์ผ ๋ชฉ๋ก์„ ํ™•์ธํ•˜๊ณ , ์ƒˆ๋กœ์šด ํ•  ์ผ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•  ์ผ์ด 40๊ฐœ๋ฅผ ์ดˆ๊ณผํ•  ๊ฒฝ์šฐ ๋ฌดํ•œ ์Šคํฌ๋กค๋กœ ํ•  ์ผ ๋ชฉ๋ก์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.
- ํ•ด์•ผ ํ•  ์ผ(TODO)๊ณผ ์™„๋ฃŒ๋œ ์ผ(DONE)๋กœ ํ•„ํ„ฐ๋งํ•˜์—ฌ ํ•  ์ผ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
- ์ผ€๋ฐฅ ๋ฒ„ํŠผ์„ ํ†ตํ•ด ํ•  ์ผ์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋…ธํŠธ ์ž‘์„ฑ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋…ธํŠธ ์ž‘์„ฑํ•˜๊ธฐ ๋˜๋Š” ๋…ธํŠธ ์ˆ˜์ •ํ•˜๊ธฐ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

| ๋ชจ๋“  ํ•  ์ผ (<a href="https://github.com/iyxxnjin">๋‚˜์œค์ง„</a>) |
| :-----------------------------------------------------------: |
| <img src="https://placehold.co/1200x700" width="700" /> |

### ํ•  ์ผ ์ƒ์„ฑ ๋ฐ ์ˆ˜์ • ๋ชจ๋‹ฌ

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

| ํ•  ์ผ ์ƒ์„ฑ ๋ฐ ์ˆ˜์ • ๋ชจ๋‹ฌ (<a href="https://github.com/iyxxnjin">๋‚˜์œค์ง„</a>) |
| :------------------------------------------------------------------------: |
| <img src="https://placehold.co/1200x700" width="700" /> |

### ๋…ธํŠธ ๋ชจ์•„๋ณด๊ธฐ

- ๋ชฉํ‘œ์— ์†ํ•œ ๋ชจ๋“  ํ•  ์ผ์˜ ๋…ธํŠธ๋ฅผ ์ตœ์‹  ์ €์žฅ ์ˆœ์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
- ๊ฐ ๋…ธํŠธ์—๋Š” ๋…ธํŠธ ์ œ๋ชฉ๊ณผ ํ•ด๋‹น ํ•  ์ผ ์ œ๋ชฉ, ํ•ด์•ผ ํ•  ์ผ(TODO) / ์™„๋ฃŒ๋œ ์ผ(DONE)์ด ํ•จ๊ป˜ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
- ๋…ธํŠธ ํด๋ฆญ ์‹œ ๋…ธํŠธ ์ƒ์„ธ๊ฐ€ ์‚ฌ์ด๋“œ ๋ณด๊ธฐ๋กœ ์—ด๋ฆฌ๋ฉฐ, ์ผ€๋ฐฅ ๋ฒ„ํŠผ์„ ํ†ตํ•ด ๋…ธํŠธ ์ˆ˜์ • ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜๊ฑฐ๋‚˜ ๋…ธํŠธ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

| ๋…ธํŠธ ๋ชจ์•„๋ณด๊ธฐ (<a href="https://github.com/jjinheeWorld">์ด์ง„ํฌ</a>) |
| :------------------------------------------------------------------: |
| <img src="https://placehold.co/1200x700" width="700" /> |

### ๋…ธํŠธ ์ž‘์„ฑ ๋ฐ ์ˆ˜์ •

- ํ•  ์ผ์— ๋Œ€ํ•œ ๋…ธํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋งํฌ๋ฅผ ์ฒจ๋ถ€ํ•  ์ˆ˜ ์žˆ๋Š” ์—๋””ํ„ฐ๋ฅผ ํ†ตํ•ด ๋…ธํŠธ ์ œ๋ชฉ๊ณผ ๋ณธ๋ฌธ์„ ์ž…๋ ฅํ•ด ํ•™์Šต ๋‚ด์šฉ์„ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
- ์ฒจ๋ถ€๋œ ๋งํฌ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ, ๋งํฌ ํด๋ฆญ ์‹œ ๋…ธํŠธ ๋‚ด๋ถ€์—์„œ ๋งํฌ ์ฝ˜ํ…์ธ ์˜ ์ž„๋ฒ ๋“œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
- ์ž‘์„ฑ ์ค‘์ธ ๋…ธํŠธ๋Š” 5๋ถ„๋งˆ๋‹ค ์ž๋™์œผ๋กœ ์ž„์‹œ ์ €์žฅ๋˜๋ฉฐ, ์ž„์‹œ ์ €์žฅ ๋ฒ„ํŠผ์„ ํ†ตํ•ด ์ˆ˜๋™ ์ €์žฅ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ €์žฅ๋œ ๋…ธํŠธ๋ฅผ ๋ถˆ๋Ÿฌ์™€ ์ด์ „ ์ž‘์—…์„ ์ด์–ด์„œ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

| ๋…ธํŠธ ์ž‘์„ฑ ๋ฐ ์ˆ˜์ • (<a href="https://github.com/jjinheeWorld">์ด์ง„ํฌ</a>) |
| :----------------------------------------------------------------------: |
| <img src="https://placehold.co/1200x700" width="700" /> |

### ๋…ธํŠธ ์ƒ์„ธ

- ๋…ธํŠธ์˜ ๋ชฉํ‘œ ๋ฐ ํ•  ์ผ ์ œ๋ชฉ, ๋…ธํŠธ ์ œ๋ชฉ, ๋…ธํŠธ ๋งˆ์ง€๋ง‰ ์ €์žฅ์ผ, ์ƒ์„ธ ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
- ์ฒจ๋ถ€๋œ ๋งํฌ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ, ๋งํฌ ํด๋ฆญ ์‹œ ๋…ธํŠธ ๋‚ด๋ถ€์—์„œ ๋งํฌ ์ฝ˜ํ…์ธ ์˜ ์ž„๋ฒ ๋“œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
- ๋…ธํŠธ ์ƒ์„ธ๋Š” ํด๋ฆญ ์‹œ ์‚ฌ์ด๋“œ ๋ณด๊ธฐ๋กœ ์—ด๋ฆฌ๋ฉฐ, URL ์ง์ ‘ ์ ‘๊ทผ์ด๋‚˜ ์ƒˆ๋กœ๊ณ ์นจ ์‹œ ์ „์ฒด ํŽ˜์ด์ง€๋กœ ์ „ํ™˜๋ฉ๋‹ˆ๋‹ค.<br />
(Parallel Routes์™€ Intercepting Routes๋ฅผ ํ™œ์šฉ)

| ๋…ธํŠธ ์ƒ์„ธ (<a href="https://github.com/jjinheeWorld">์ด์ง„ํฌ</a>) |
| :--------------------------------------------------------------: |
| <img src="https://placehold.co/1200x700" width="700" /> |

## ํŒ€์› ์†Œ๊ฐœ

| ์ตœ๋ณด์•„ | ๋‚˜์œค์ง„ | ์ด์ง„ํฌ | ์ •๋‹ค์Šฌ |
| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| <a href="https://github.com/swallowedB"><img src="https://avatars.githubusercontent.com/swallowedB" width="100" /></a><br /><a href="https://github.com/swallowedB">@swallowedB</a> | <a href="https://github.com/iyxxnjin"><img src="https://avatars.githubusercontent.com/iyxxnjin" width="100" /></a><br /><a href="https://github.com/iyxxnjin">@iyxxnjin</a> | <a href="https://github.com/jjinheeWorld"><img src="https://avatars.githubusercontent.com/jjinheeWorld" width="100" /></a><br /><a href="https://github.com/jjinheeWorld">@jjinheeWorld</a> | <a href="https://github.com/goodaseul"><img src="https://avatars.githubusercontent.com/goodaseul" width="100" /></a><br /><a href="https://github.com/goodaseul">@goodaseul</a> |