Archive.sakamoto
Project StructureMonorepoClient/ServerViteBest Practice

프로젝트 구조 가이드

개인용부터 실무, 모노레포까지 단계별 비교

Sakamoto·

1. 개인/소규모 프로젝트 구조

project-root/
 ┣ index.html
 ┣ src/
 ┃ ┣ components/
 ┃ ┣ pages/
 ┃ ┣ hooks/
 ┃ ┗ main.tsx
 ┣ vite.config.ts
 ┣ tsconfig.json
 ┗ tailwind.config.js

✅ 특징

👍 장점

👎 단점


2. 실무(풀스택/중규모 팀) 구조

project-root/
 ┣ client/              # 프론트엔드
 ┃ ┣ index.html
 ┃ ┣ src/
 ┃ ┣ tsconfig.json
 ┃ ┗ tailwind.config.js (여기 두는 경우도 있음 / root 혹은 client 하나만 존재)
 ┣ server/              # 백엔드 (Express/Nest 등)
 ┃ ┣ src/
 ┃ ┗ tsconfig.json
 ┣ vite.config.ts       # 프론트 빌드 설정
 ┣ tailwind.config.js   # 전역 Tailwind 설정
 ┣ tsconfig.json        # 공용 TS 설정
 ┗ package.json

✅ 특징

👍 장점

👎 단점


3. 대규모/모노레포 구조

project-root/
 ┣ apps/
 ┃ ┣ web/           # 메인 웹앱
 ┃ ┣ admin/         # 어드민 웹앱
 ┃ ┗ server/        # 백엔드
 ┣ packages/
 ┃ ┣ ui/            # 공용 UI 컴포넌트
 ┃ ┗ utils/         # 공용 유틸
 ┣ tsconfig.base.json
 ┣ vite.config.ts (혹은 여러 개)
 ┗ package.json

✅ 특징

👍 장점

👎 단점


✅ 정리 – 왜 이렇게 나누는 게 좋을까?