๋ํ์๋ค์ ๋ฏ์ ์ด์๊ฒ ๋ฌผ๊ฑด์ ๋น๋ ค์ฃผ๊ธฐ์๋ ๋ถ์ํ๊ณ , ํ์ํ ๋ฌผํ์ ์ฆ์ ๋น๋ฆด ๋ง๋ ํ ๊ณณ๋ ์์ต๋๋ค.
ZIGU(์ง๊ตฌ)๋ ํ๊ต ์ธ์ฆ๊ณผ ์ค์๊ฐ ์ฑํ ์ ํตํด ์์ ํ๊ณ ๋น ๋ฅธ ๋์ฌ ๊ฒฝํ์ ์ ๊ณตํ๋ P2P ๋์ฌ ํ๋ซํผ์ ๋๋ค.
์ฐ๋ฆฌ๋ ๋ถํ์ํ ์๋น, ๊ณต๊ฐ ๋ญ๋น, ์ ๋ขฐ ๋ถ์กฑํ ๊ฑฐ๋๋ก๋ถํฐ ๋ฒ์ด๋ ๋ํ์ ์ปค๋ฎค๋ํฐ ๋ด์์ ๋ฏฟ๊ณ ๋น๋ฆฌ๊ณ , ๋น๋ ค์ฃผ๋ ์ํ ํ๋ซํผ์ ๋ง๋ค๊ณ ์ ํฉ๋๋ค.
| As-Is | To-Be |
|---|---|
| ์์ฃผ ์ฐ์ง ์๋ ๋ฌผ๊ฑด์ด์ง๋ง ํ๊ธฐ์ ๊ฐ๋ ํ์ํด์, ๊ฒฐ๊ตญ ๊ณต๊ฐ๋ง ์ฐจ์งํ๊ฒ ๋จ. | ์์ฃผ ์ฐ์ง ์๋ ๋ฌผ๊ฑด์ ํ์ํ ์๊ฐ์๋ง ๋น๋ ค์ฃผ์ด ์์ฐํ ํ ์ ์์ |
| ๋ชจ๋ฅด๋ ์ฌ๋๊ณผ ๊ฑฐ๋ํ๊ณ ํ์, ๋ถ์ค์ ๋ํ ์ฌ๋ฆฌ์ ๋ถ๋ด์ด ํผ | ๊ฐ์ ๋ํ๊ต ์ปค๋ฎค๋ํฐ ์์์, ์ ์์ด ๋ณด์ฅ๋์ด ์์ฌํ๊ณ ๋ฌผ๊ฑด์ ๋น๋ ค์ค ์ ์์ |
| ํ์ํ ๋ฌผ๊ฑด์ ๊ตฌํ๊ธฐ ์ํด ์คํ๋ผ์ธ ์ง์ธ ์์กด์ด๋ ์ง์ ๋ฐํ์ ํ์์ผ ํจ | ํ๋ซํผ์์ ์ํ๋ ๋ฌผ๊ฑด์ ๊ฒ์ํ๊ณ , ์จ๋ผ์ธ์ผ๋ก ์ฆ์ ๋์ฌ ์ ์ฒญ ๊ฐ๋ฅ |
| ์ผํ์ฑ ์ฌ์ฉ์ ์ํด ๋ฐ๋ณต์ ์ผ๋ก ๋ถํ์ํ ๋ฌผ๊ฑด์ ๊ตฌ๋งคํ๊ฒ ๋จ | ํ์ํ ๋๋ง ๋น๋ ค ์ฐ๋ฉฐ, ๋ถํ์ํ ์๋น์ ์์ ๋ญ๋น๋ฅผ ์ค์ผ ์ ์์ |
PM |
Designer |
Server(๋ฐฑ์๋) |
Web(ํ๋ก ํธ์๋) |
Web(ํ๋ก ํธ์๋) |
Web(ํ๋ก ํธ์๋) |
GZ๋ **Next.js 15 (Pages Router)**์ TypeScript๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ๋์ฌ ์๋น์ค ํ๋ซํผ์ ํ๋ก ํธ์๋ ์ฝ๋์ ๋๋ค. ์ฌ์ฉ์ ๊ฒฝํ์ ๊ณ ๋ คํ ์ค์๊ฐ ์ฑํ , ์ด๋ฏธ์ง ์ต์ ํ ๋ฑ ๋ค์ํ UI/UX ๊ธฐ๋ฅ์ ํฌํจํ๊ณ ์์ต๋๋ค.
- ํ๋ก์ ํธ ๊ฐ์
- ๋๋ ํฐ๋ฆฌ ๊ตฌ์กฐ
- ๊ธฐ์ ์คํ
- ์ฃผ์ ๊ธฐ๋ฅ
- ํ๋ ์์ํฌ: Next.js 15 (Pages Router)
- ์ธ์ด: TypeScript
- ์คํ์ผ๋ง: Tailwind CSS
- ์ค์๊ฐ ์ฑํ : SendBird
- ์ด๋ฏธ์ง ์ต์ ํ: OptimizedImage ์ปดํฌ๋ํธ
GZ/src/
โโโ pages/ # Page Router ๊ธฐ๋ฐ ํ์ด์ง
โ โโโ _app.tsx # ์ฑ ์ด๊ธฐํ
โ โโโ _document.tsx # ์ปค์คํ
Document
โ โโโ cert/ # ์ธ์ฆ (๋ก๊ทธ์ธ/ํ์๊ฐ์
)
โ โโโ home/ # ํ ํ๋ฉด
โ โโโ detail/ # ์ํ ์์ธ
โ โโโ items/ # ๋ด ๋ฌผ๊ฑด ๊ด๋ฆฌ
โ โโโ rentals/ # ๊ฑฐ๋ ๋ด์ญ
โ โโโ profile/ # ํ๋กํ
โ โโโ channels.tsx # ์ฑํ
์ฑ๋ ๋ฆฌ์คํธ
โโโ components/ # ์ฌ์ฌ์ฉ UI ์ปดํฌ๋ํธ
โ โโโ home-header.tsx
โ โโโ Footer.tsx
โ โโโ chat-components/ # ์ฑํ
UI
โ โโโ detail/ # ์์ธ ํ์ด์ง ์ปดํฌ๋ํธ
โ โโโ Term-components/ # ์ฝ๊ด ์ปดํฌ๋ํธ
โ โโโ loading-components/ # ๋ก๋ฉ ์ปดํฌ๋ํธ
โ โโโ OptimizedImage.tsx # ์ด๋ฏธ์ง ์ต์ ํ
โโโ lib/ # ์ ํธ๋ฆฌํฐ ๋ฐ ์ค์
โ โโโ api.ts # API ํธ์ถ ํจ์
โ โโโ firebase.ts # Firebase ํด๋ผ์ด์ธํธ ์ด๊ธฐํ ์ค์
โ โโโ firebase-functions.ts # Firebase Functions ํธ์ถ ๋ํผ
โ โโโ sendbird.ts # SendBird ์ค์
โ โโโ rentals.types.ts # ํ์
์ ์
โ โโโ hooks/ # ์ปค์คํ
ํ
โโโ styles/ # ์คํ์ผ
โ โโโ globals.css # ์ ์ญ ์คํ์ผ
โ โโโ detail.module.css # ์ํ ์์ธ ์คํ์ผ
โ โโโ onboarding.module.css # ์จ๋ณด๋ฉ ์คํ์ผ
โโโ utils/ # ์ ํธ๋ฆฌํฐ ํจ์
โโโ imageCompression.ts # ์ด๋ฏธ์ง ์์ถ ์ ํธ๋ฆฌํฐ
src/lib/
โโโ firebase.ts # Firebase ์ฑ ์ด๊ธฐํ ์ค์ (ํ๋ก์ ํธ ํค, ์ธ์ฆ ๋ฑ)
โโโ firebase-functions.ts # Firebase Functions ํธ์ถ ๋ํผ (sendCode, verifyCode ๋ฑ)
- ๐ ์ธ์ฆ: ๋ํ์ ์ธ์ฆ
- ๐ ํ & ์ํ ๊ฒ์: ๋ฌผ๊ฑด ๋ฑ๋ก, ๊ฒ์, ํํฐ ๊ธฐ๋ฅ
- ๐ ์ํ ์์ธ: ์์ธ ์ ๋ณด ์กฐํ, ์ด๋ฏธ์ง ์ต์ ํ
- ๐ฆ ๋ด ๋ฌผ๊ฑด ๊ด๋ฆฌ: ๋ฑ๋กํ ๋ฌผ๊ฑด ๋ณด๊ธฐ/์์ /์ญ์
- โ๏ธ ์ ์ฒญ ์๋ฝ: ๋ฉ์ผ์ ํตํด ์๋ฝ ์ฌ๋ถ ํ์ธ
- ๐ ๊ฑฐ๋ ๋ด์ญ: ๋์ฌ ๊ธฐ๋ก ํ์ธ
- ๐ฌ ์ฑํ : SendBird ๊ธฐ๋ฐ ์ค์๊ฐ ์ฑํ
- ๐ผ๏ธ ์ด๋ฏธ์ง ์ฒ๋ฆฌ: ์์ถ, Progressive Loading
ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ์์ํ๋ ค๋ฉด src/ ๋๋ ํฐ๋ฆฌ๋ฅผ ํ์ธํด์ฃผ์ธ์.













