- ํ๋ก์ ํธ ์๊ฐ
- ๊ธฐํ
- ๋์์ธ ์์(Figma)
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ERM
- ์๋ํ๋ฉด
- ์ฃผ์๊ธฐ๋ฅ
- ๊ธฐ๋ฅ๋ณ ํ์ด์ง ๋ถ์
- ํ์ ํ๊ณ
๐ Dream์ ํ๊ฒฝ ๋ณดํธ์ ์ฌํ ๊ณตํ์ ๋์์ ์คํํ๋ ๊ฑฐ๋, ์ค๊ณ ํ๋งค ์จ๋ผ์ธ ํ๋ซํผ์ ๋๋ค. ์ฌ์ฉํ์ง ์๋ ์ท์ ๋ฒ๋ฆฌ๋ ๋์ ํ์ํ ์ฌ๋๋ค์๊ฒ ํ๋งคํ๊ณ , ํ๋งค ์์ต์ ์ฌํ ๊ณตํ ํ๋์ ๊ธฐ๋ถ๋ฉ๋๋ค.
๐จโ๐ฉโ๐งโ๐ฆIntroducing the team
๐จโ๐ ์ ์๋ฆฐ : https://github.com/lin0211
๐จโ๐ ๊ฐํ์ฑ : https://github.com/Taewook1212
๐จโ๐ ์กฐํ๋ : https://github.com/chohyundon
๐จโ๐ ์ฌ์์ค : https://github.com/yeo-seoyun
- ํ๋ก์ ํธ ์ด๋ฆ : Dream
- ํ๋ก์ ํธ ๊ธฐ๊ฐ : 2024 2์ 19์ผ ~ 3์ 14์ผ
- ํ๋ก์ ํธ ์ค์น ๋ฐฉ๋ฒ :
ํจํค์ง ์ค์นnpm i npm run dev
- ํ๋ก์ ํธ vacel URL :
https://dream8.vercel.app/
- ๊ธฐ์ ์คํ

๊ธฐํ ๋ฐํ URL : https://www.canva.com/design/DAF9ZAMC0L4/PgiIeWpvj1BTwMY_7Yckog/edit
์ต์ข
๋ฐํ URL : https://www.canva.com/design/DAF_Xhuhykg/E4Co7XP5L8P3ZyPKtsqCnw/edit
- ๋์์ธ ์์ ์ฃผ์ : https://www.figma.com/file/q0xtysWbr782sTQhpVn4AL/Untitled?type=design&node-id=620%3A2429&mode=design&t=6ICEgpSdzUAjXh5p-1
- ํ๋ฉด ๊ตฌ์ฑ:
- ํ๋ก์ ํธ ์ค์น ๋ฐฉ๋ฒ : clone ํ npm i
- ์ ์ ํ๋ก์ฐ :













Button, Input ๊ฐ์ด ์ฌ์ฌ์ฉ์ฑ์ด ๋์ ์์๋ ์ํ ๋ฏน ์ปดํฌ๋ํธ๋ก ์ ์
ํ๋งคํ์ด์ง
- Pocketbase/PocketHost๋ฅผ ์ด์ฉํ ์ํ์ isSale๊ฐ ์ฐธ์ธ ์ํ ๋ฆฌ์คํธ ๋ ๋๋ง
- ๋ฆฌ์คํธ์ ์นดํ ๊ณ ๋ฆฌ๋ณ ์ํ๋ฆฌ์คํธ ํํฐํ์ฌ ๋ฆฌ์คํธ ๋ ๋๋ง
- ์ํ์ ๋ฑ๊ธ๋ณ, ๊ฐ๊ฒฉ๋ณ, ๊ทธ๋ฆฌ๊ณ created ๋ ์๊ฐ์ ์์์ ๋ฐ๋ผ ์ ๋ ฌํ์ฌ ๋ฆฌ์คํธ ๋ ๋๋ง
- ๊ฒ์ ํ์ฌ ์ํ title์ ๋ถํฉํ๋ ๋ฆฌ์คํธ ๋ ๋๋ง
- Lazy Loading์ ์ฌ์ฉํ์ฌ ๋น๋๊ธฐ ์ฒ๋ฆฌ ์ฑ ์ฑ๋ฅ ์ต์ ํ
ํ๋งค๋ํ ์ผ ํ์ด์ง
- ์ฃผ์์ฐฝ์ ์ ์ฅ๋ params๋ฅผ ๋ถ๋ฌ์ ์ํ์ ์์ด๋์ ๋ง๋ ๋ฐ์ดํฐ์ ์์ธ ๋ด์ญ์ ๋ ๋๋ง
- ์ํ์ ์นดํ ๊ณ ๋ฆฌ์ ๋ง์ผ๋ฉฐ, ์์ธํ์ด์ง์ ๋ณด์ฌ์ฃผ๋ ์ํ์ ์ ์ธํ ์ํ ๋ฆฌ์คํธ(๊ด๋ จ์ํ)๋ฅผ ๋ ๋๋ง
- ์ธ๋ค์ผ ํด๋ฆญ์ ์ํ์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๊ธฐ๋ฅ
- ๊ตฌ๋งคํ๊ธฐ ๋ฒํผ์ผ๋ก ์ํ์ ์ฅ๋ฐ๊ตฌ๋ ๋ฐ์ดํฐ์ ์ ์กํ๊ณ ์ฅ๋ฐ๊ตฌ๋ ยท ๊ฒฐ์ ํ์ด์ง์ผ๋ก ์ด๋
- ์ฅ๋ฐ๊ตฌ๋ ๋ฒํผ์ผ๋ก ์ํ์ ์ฅ๋ฐ๊ตฌ๋ ๋ฐ์ดํฐ์ ์ ์กํ๋ฉฐ ๋ณด๊ณ ์๋ ํ์ด์ง์ ๋จธ๋ฌด๋ฅผ์ง ์ฅ๋ฐ๊ตฌ๋ ยท ๊ฒฐ์ ํ์ด์ง๋ก ์ด๋ํ ์ง ์ฌ๋ถ ์ ํ ๋ชจ๋ฌ์ฐฝ์ผ๋ก ํ์ธ
์ฅ๋ฐ๊ตฌ๋ ยท ๊ฒฐ์ ํ์ด์ง
- ์ฅ๋ฐ๊ตฌ๋ ๋ฐ์ดํฐ ๋ ๋๋ง
- x ๋ฒํผ์ผ๋ก ์ฅ๋ฐ๊ตฌ๋ ๋ฐ์ดํฐ์์ ์ญ์ ๋๊ณ ๋ฆฌ์คํธ์ ๋ณด์ด์ง ์๋๋กํ๊ธฐ ์ํด refetch
- ์ํ์ ์ฒดํฌ ๋ฐ์ค ํด๋ฆญ์ ์ ํ๋ ์ํ๋ค์ ๊ฐ๊ฒฉ์ ๊ณ์ฐํ์ฌ ๊ตฌ๋งค ์ ๋ณด์ ํ์
- ๊ฒฐ์ ํ๊ธฐ ๋ฒํผ ํด๋ฆญ์ ์ ํ๋ ์ํ์ ์ํ๊ฐ isSale ๊ฑฐ์ง์ด ๋์ด ํ๋งค๋ฆฌ์คํธ์์ ์ ์ธ๋๋๋ก ๋ฐ์ดํฐ ์ ๋ฐ์ดํธ
- ๊ฒฐ์ ํ๊ธฐ ๋ฒํผ ํด๋ฆญ์ ์ฅ๋ฐ๊ตฌ๋ ๋ฐ์ดํฐ์ isPayed๋ ์ฐธ์ด ๋๊ณ ๋ฆฌ์คํธ์ ๋ณด์ด์ง ์๋๋กํ๊ธฐ ์ํด refetch
๋ชจ๋ฌ์ฐฝ
- createPortal์ ์ด์ฉํ์ฌ ๋ชจ๋ฌ์ ์ต์์ ๋ ๋ฒจ์์ ๋ ๋๋งํ์ฌ ๋ค๋ฅธ ์์๋ค๊ณผ ๊ฒน์น์ง ์๊ณ ๋ ๋ฆฝ์ ์ผ๋ก ๋์
- ์ฌ์ฌ์ฉ์ฑ์ ์ํด ์ ๋ชฉ๊ณผ ๋ณธ๋ฌธ์ ์์ฑํ ์ ์๊ฒ ๋ง๋ฌ
ํ์๊ฐ์ /๋ก๊ทธ์ธ ํ์ด์ง
- ๋ก๊ทธ์ธ ์ฌ๋ถ์ ๋ก๊ทธ์ธ ์ ์ ์ ์ ๋ณด๋ฅผ zustand useLoginFormStore.tsx ์ ์ ์ฅํ๊ณ psersist ๋ผ์ด๋ธ๋ฒ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ sessionStorage๋ก ์ค์ , ์๋ก๊ณ ์นจ ๋ฌธ์ ํด๊ฒฐ๊ณผ ๋ก๊ทธ์์ ๋ก๊ทธ์ธ ์ํ ํด๊ฒฐ
- ํ๋ฉด ์ฐ์ธก ์๋จ์ [๋น ๋ก๊ทธ์ธ] ์ ํ์๊ฐ์ , ๋ก๊ทธ์ธ ํ์, [๋ก๊ทธ์ธ] ์ ๋ง์ดํ์ด์ง, ๋ก๊ทธ์์ ํ์
- ๋น๋ฐ๋ฒํธ ํ์ธ์ ํตํด validation ์ ์ฉ, ์นด์นด์ค ์ง๋ api๋ฅผ ํตํ ์ฃผ์ ์ ๋ ฅ ๊ธฐ๋ฅ
- ํ์๊ฐ์ ํ ๋ก๊ทธ์ธ ํ๋ฉด์ผ๋ก ์ด๋ ๋ก๊ทธ์ธ์ ์คํจ ์ ๊ฒฝ๊ณ ์ฐฝ ์ถ๋ ฅ
๋ง์ด ํ์ด์ง
- Mypage ๊ฒฝ๋ก ์์ ๊ฐ ํ์ด์ง๋ค์ children ์ผ๋ก route์ ๊ตฌ์ฑ, ๊ฐ ์นดํ ๊ณ ๋ฆฌ๋ณ๋ก pb ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์์ ๋ก๊ทธ์ธ ์ ์ ์ ํ๋๋ด์ญ์ ์ถ๋ ฅ
- tanstack Query staleTime 10์ด ์ค์ ํ ๋น๋๊ธฐ ๋ฐ์ดํฐ ์บ์ฑํ์ฌ ๋ถํ์ํ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๊ฐ์์ ์๋ ๊ฐ์
- ์ถํ ๊ฐํธ ๋ก๊ทธ์ธ์ ํตํด ์ถ๊ฐ ์ด๋ฏธ์ง ๋ฑ๋ก์ ์ํ ์กฐ์น ๊ฐ๋ฅ
์๋ฆผ ํ์
- ๋ก๊ทธ์ธ ์ํ์ ๋ฐ๋ผ ๋ง์ถคํ๋ ์๋ฆผ์ ์ ๊ณตํฉ๋๋ค. [๋น ๋ก๊ทธ์ธ]์ ๋ก๊ทธ์ธ ์ผ๋ก ์ ๋
- ์๋ฆผ๋ฆฌ์คํธ๋ฅผ ๋ด๊ธฐ ์ํ notification DB๋ฅผ ๋ฐ๋ก ๋ง๋ค๊ณ ์๋ฆผ DB์ pb์ realtime์ ์ํ ์ฝ๋์ธ subscribe๋ฅผ ์ฌ์ฉํ์ฌ ํด๋น ์๋ฆผ DB์ ๊ตฌ๋ ์ํ๋ฅผ ๋ง๋ค๊ณ , ๋ฌผ๊ฑด์ ์ฌ๊ฑฐ๋ ํ์๋ฑ๋ก ์ ๊ทธ ์๋ฆผ DB์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด ์ค์ผ๋ก ์จ ์ ๋ฐ์ดํธ.
- ์๋ฆผ๊ฐฏ์๋ useCountStore.tsx store์ ์ ์ญ์ํ๋ก ๊ด๋ฆฌํ๊ณ ์ฝ๊ฒ ๋๋ฉด clear๊ธฐ๋ฅ์ ๋ง๋ค์ด ์ด๊ธฐํ.
ํ์๊ฐ์ /๋ก๊ทธ์ธ ํ์ด์ง
- ๋ก๊ทธ์ธ ์ฌ๋ถ์ ๋ก๊ทธ์ธ ์ ์ ์ ์ ๋ณด๋ฅผ zustand useLoginFormStore.tsx ์ ์ ์ฅํ๊ณ psersist ๋ผ์ด๋ธ๋ฒ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ sessionStorage๋ก ์ค์ , ์๋ก๊ณ ์นจ ๋ฌธ์ ํด๊ฒฐ๊ณผ ๋ก๊ทธ์์ ๋ก๊ทธ์ธ ์ํ ํด๊ฒฐ
- ํ๋ฉด ์ฐ์ธก ์๋จ์ [๋น ๋ก๊ทธ์ธ] ์ ํ์๊ฐ์ , ๋ก๊ทธ์ธ ํ์, [๋ก๊ทธ์ธ] ์ ๋ง์ดํ์ด์ง, ๋ก๊ทธ์์ ํ์
- ๋น๋ฐ๋ฒํธ ํ์ธ์ ํตํด validation ์ ์ฉ, ์นด์นด์ค ์ง๋ api๋ฅผ ํตํ ์ฃผ์ ์ ๋ ฅ ๊ธฐ๋ฅ
- ํ์๊ฐ์ ํ ๋ก๊ทธ์ธ ํ๋ฉด์ผ๋ก ์ด๋ ๋ก๊ทธ์ธ์ ์คํจ ์ ๊ฒฝ๊ณ ์ฐฝ ์ถ๋ ฅ
๊ตํํ์ด์ง
- Pocketbase/PocketHost๋ฅผ ์ด์ฉํ ์ํ์ isExchange๊ฐ ์ฐธ์ธ ์ํ ๋ฆฌ์คํธ ๋ ๋๋ง
- ํฌ์ผ๋ฒ ์ด์ค exchange์ ์๋ ๋ฐ์ดํฐ ๋ฆฌ์คํธ ๋ ๋๋ง
- ๋๋ณด๊ธฐ ๋ฒํผ์ผ๋ก ๋ฆฌ์คํธ๋ค ๋ ๋ณผ์ ์๋๋ก ๊ตฌํ
๊ตํ๋ํ ์ผ ํ์ด์ง
- ๊ฐ ๋ฆฌ์คํธ๋ค์ id๋ฅผ useParams๋ก ๊ฐ์ ธ์์ ๊ฐ ํ์ด์ง ๋ ๋๋ง
- ๊ฒ์๊ธ ์์ฑํ๋ค๋ฉด ์์ ํ๊ธฐ, ์ญ์ ํ๊ธฐ ๊ธฐ๋ฅ ์ถ๊ฐ
- ๊ฒ์๊ธ์ ์์ฑํ์ง ์์ ๋ค๋ฅธ ์ฌ์ฉ์๋ ์ฑํ ๋ง ๊ฐ๋ฅ
๊ตํ๊ธ ์์ฑ ํ์ด์ง
- ๊ตํ์ ์ํ๋ ์ํ์ด ์์์ form ๋ฐ์ดํฐ๋ก ๊ธ์ ์์ฑํ ์ ์๋ ํจ์ด์ง ๊ตฌํ
- ์ ์ฒญ ํผ์ ๊ธ์ ๋น์ฐ๊ฒ ๋๋ฉด ์ค๋ฅ๊ฐ ๋๋๋ก validation ๊ตฌํ
- ๊ตํ ์์ธ ํ์ด์ง์ 300๊ธ์ ๋์ด๊ฑฐ๋ฉด ์ค๋ฅ ์๊ธฐ๋๋ก validation ๊ตฌํ
๊ตํ๊ธ ์์ ํ์ด์ง
- ๊ฒ์๊ธ์ ์์ฑํ ์ฌ๋์ด ๊ธ์ ์์ ํ๊ณ ์์ ๋ ์์ ํ ์ ์๋๋ก ๊ตฌํ
- ์ ์ฒญ ์์์๋ ๊ธฐ๋ณธ์ ์ธ ์ ์ ์ฌ์ฉํ๋ ๋ชฉ๋ก์ ๊ฐ์ ธ์์ ๋ ๋๋ง
- ์์ ๊ธ์ ์๋ฌด๊ฒ๋ ์์ ํ์ง ์์๋ค๋ฉด ์ค๋ฅ ๋๋๋ก validation ๊ตฌํ
์ฑํ ํ์ด์ง
- ๋ฆฌ์ผ ํ์ ๋ฐ์ดํฐ ๋ฒ ์ด์ค๋ก ์ฌ์ฉ์๋ค ๋ผ๋ฆฌ 1๋1 ์ฑํ ๊ตฌํ
- ์์ง ์๋ฒฝํ๊ฒ ๊ตฌํ์ x
๋ฉ์ธํ์ด์ง
- GSAP์ ์ฌ์ฉํ์ฌ ๋ถ๋๋ฌ์ด ์คํฌ๋กค ํจ๊ณผ ์ ์ฉ
- ์์ญ๋ง๋ค ์คํฌ๋กค ์ GSAP ์ ๋๋ฉ์ด์ ์ ์ฉ
- ๋๋ฆผ์์ ์์ญ์ ์นด๋ ํด๋ฆญ ์ ๊ฐ๊ฐ์ ๋ํ ์ผ ํ์ด์ง๋ก ์ด๋
์์ํ์ด์ง
- tanstackQuery๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ์ฒ๋ฆฌ
- PocketBase์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ ๋ ๋๋ง
- ๋ฆฌ์คํธ ํด๋ฆญ ํ๋ฉด ํด๋นํ๋ ๋ฐ์ดํฐ์ ์์ธ์ ๋ณด ์ถ๋ ฅ
ํ์, ํ์์ ์ฒญํ์ด์ง
- ๋ก๊ทธ์ธํ ์ ์ ๋ง ์ ์ฒญ์ ์์ฑ ๊ฐ๋ฅ
- ํผ ๋ฏธ์์ฑ ์ ์๋ด ํ์
- ํผ์์ฑ ํ ๋ฐ์ดํฐ ๋ก์ปฌ์คํ ๋ฆฌ์ง์ ์ ์ฅ (์ญ์ ๊ฐ๋ฅ)
- ์์ฑ๋ ๋ฐ์ดํฐ ํฌ์ผ๋ฒ ์ด์ค๋ก ์ ์ก
- ์ ์๋ฆฐ : ํ๋ก์ ํธ ์ ๋ ๊น์ง๋ ๋ถ์ํด์ ์ ์ ๋ชป์ค๋๊ฑฐ ๊ฐ์์. ํ์ง๋ง ๋ง์ ์์ํ๋ฉด์ ๋ชจ๋ฅด๋ ๋ถ๋ถ์ ๋ํด ์ด์ผ๊ธฐ๋ ๋๋๊ณ ์ง์ ์ฝ๋๋ฅผ ์์ฑํ๋ฉฐ ์์
๋๋ ์ดํด ๋ชปํ๋ ๋ถ๋ถ๋ค์ ํ๋ํ๋ ์ดํด ๋๋ ์๊ฐ์ด ์์์ต๋๋ค.
๋๋ฌธ์ ๋ฟ๋ฏํ ์๊ฐ์ ๋ณด๋๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ค์์ ์๋ก ๋ง๋ ํ๋ก์ ํธ์์๋ ๊ธฐ์ต์ด ๋ ์๋๋ ฅ์ด ๋ ๊ฒ ๊ฐ์ต๋๋ค. - ๊ฐํ์ฑ : ์ปดํฌ๋ํธํ๊ฐ ์์ฒญ ์ค์ํ๋ค๋ผ๋ ๊ฒ์ ์๊ฒ ๋์๊ณ , ๋ฌธ์ํ๋ ์ค์ํ๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค. ์ฒ์๋ถํฐ ๊ธฐํ๊ณผ ๋์์ธ ๊ฐ๋ฐ ๋ฐํ๊น์ง ๋ชจ๋ ๊ฒ์ ํ๋๋ผ ์๊ฐ์ด ๋ถ์กฑํ์ง๋ง, ๊ทธ๋งํผ ์ ์ฒด๋ฅผ ๋ณด๋ ์๋ชฉ์ด ์๊ฒผ์ต๋๋ค. ์ถ๊ฐ์ ์ธ ๋ฆฌํฉํ ๋ง์ ํ ์์ ์ ๋๋ค.
- ์ฌ์์ค : ๊ธฐํ๋ถํฐ ๋ฐฐํฌ๊น์ง ์งํํ๋ ๋์ ํ์๊ณผ์ ์ํต์ ํตํ์ฌ ๋ฆฌ์กํธ์ ๊ธฐ๋ฅ๊ณผ ์๋ ์๋ฆฌ์ ๋ํด ๋์ฑ ์๊ฒ ๋๋ ์๊ฐ์ด์์ต๋๋ค.
ํ๋ก์ ํธ ์์ ์ ์๋ ๊ฑฑ์ ์ด ๋ง์์ง๋ง ํ์๋ค ๋๋ถ์ ๋ฌด์ฌํ ๋๋ผ ์ ์์๊ณ , ํ๋ก์ ํธ ์ ๊ณผ ๋น๊ตํ์๋ ๋ง์ด ์ฑ์ฅํ๋ค๊ณ ์๊ฐํ์ง๋ง ์์ง์ ๋ถ์กฑํ ๋ถ๋ถ์ด ๋ง์ ๊ฒ ๊ฐ์ ์ถํ์ ๋ณด์ํ๊ณ ์ถ์ต๋๋ค.
์ด๋ฒ ํ๋ก์ ํธ๋ฅผ ํตํด ๊ทธ๋์์ ํ์ต์ ๋์ ๋ณผ ์ ์์๊ณ , ๋ค์์ ๋ ๋ง์ ๊ธฐ๋ฅ ๊ตฌํ์ ๋์ ํด๋ณด๊ฒ ์ต๋๋ค. - ์กฐํ๋
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์ ๋ฏธํก(์ฑํ ์ ๊ฒฝ์ฐ ์์ง๋ฅผ ๋ชปํด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ ์๋ชปํ๋ค...)
๋์์ธ ์์์ ์ฒ์ ๋ง๋ค๋ค ๋ณด๋ ๋งค์ฐ ๋ฏธํกํ๋ ์ ๋ค
๋๋ฌด ๋ง์ ๊ธฐ์ ๋ค์ ํ๋ฒ์ ์๋ํ ๋ ค๋ค ๋ณด๋ ์์ฑ๋๊ฐ ์๊ฐ๋ณด๋ค ๋จ์ด์ก๋ค...