π μ΅μ’
νλ‘μ νΈ κ΅¬μ‘°
web02-CMC/ # νλ‘μ νΈ λ£¨νΈ
β
βββ .git/ # Git μ μ₯μ
β
βββ .github/ # GitHub μ€μ
β βββ ISSUE_TEMPLATE/
β β βββ feature_request.md # μ΄μ ν
νλ¦Ώ (μ€λͺ
, μμ
λ΄μ©, μλ£μ‘°κ±΄)
β βββ pull_request_template.md # PR ν
νλ¦Ώ (κ΄λ ¨ μ΄μ, μμ
λ΄μ©, μ§λ¬Έμ¬ν)
β
βββ .husky/ # Git hooks κ΄λ¦¬ (Husky)
β βββ pre-commit # μ»€λ° μ lint-staged μ€ν
β
βββ frontend/ # React + Vite νλ‘ νΈμλ
β βββ src/
β β βββ assets/ # μ΄λ―Έμ§, ν°νΈ, SVG λ± μ μ νμΌ
β β βββ commons/ # μ¬μ¬μ© κ°λ₯ν κ³΅ν΅ μ½λ
β β β βββ components/ # κ³΅ν΅ UI μ»΄ν¬λνΈ (Button, Modal λ±)
β β β βββ hooks/ # κ³΅ν΅ μ»€μ€ν
ν
β β β βββ utils/ # μ μ μ νΈ ν¨μ
β β βββ pages/ # νμ΄μ§ μ»΄ν¬λνΈ
β β βββ App.tsx # λ©μΈ App μ»΄ν¬λνΈ
β β βββ main.tsx # μ± μνΈλ¦¬ ν¬μΈνΈ
β β βββ index.css # μ μ μ€νμΌ
β βββ public/ # μ μ νμΌ (favicon λ±)
β βββ .prettierrc # Prettier μ€μ (semi: true, trailingComma: none)
β βββ eslint.config.js # ESLint μ€μ (React, TypeScript, Prettier ν΅ν©)
β βββ package.json # Frontend μμ‘΄μ± λ° μ€ν¬λ¦½νΈ
β βββ tsconfig.json # TypeScript μ€μ
β βββ tsconfig.app.json # Appμ© TypeScript μ€μ
β βββ tsconfig.node.json # Nodeμ© TypeScript μ€μ
β βββ vite.config.ts # Vite λΉλ μ€μ
β
βββ backend/ # NestJS λ°±μλ
β βββ src/
β β βββ shared/ # 곡μ μ νΈλ¦¬ν° (utils, types, consts)
β β βββ common/ # κ³΅ν΅ κΈ°λ₯ (filters, guards, interceptors, decorators)
β β βββ app.module.ts # λ£¨νΈ λͺ¨λ
β β βββ app.controller.ts # κΈ°λ³Έ 컨νΈλ‘€λ¬
β β βββ app.service.ts # κΈ°λ³Έ μλΉμ€
β β βββ main.ts # μ± μνΈλ¦¬ ν¬μΈνΈ
β βββ test/ # E2E ν
μ€νΈ
β βββ .prettierrc # Prettier μ€μ (semi: false, trailingComma: all)
β βββ eslint.config.mjs # ESLint μ€μ (NestJS, TypeScript, Prettier ν΅ν©)
β βββ package.json # Backend μμ‘΄μ± λ° μ€ν¬λ¦½νΈ
β βββ tsconfig.json # TypeScript μ€μ
β βββ tsconfig.build.json # λΉλμ© TypeScript μ€μ
β βββ nest-cli.json # NestJS CLI μ€μ
β
βββ packages/ # 곡μ ν¨ν€μ§ λλ ν 리 (ν₯ν @cmc/types, @cmc/utils λ±)
β βββ .gitkeep # Gitμ΄ λΉ ν΄λλ₯Ό μΆμ νλλ‘ νλ νμΌ
β
βββ .editorconfig # μλν° μ€μ ν΅μΌ (λ€μ¬μ°κΈ°, μ€λ°κΏ, μΈμ½λ©)
βββ .gitignore # Git μΆμ μ μΈ νμΌ (node_modules, dist, .env λ±)
βββ .lintstagedrc.json # lint-staged μ€μ (staged νμΌμλ§ lint, format μ€ν)
βββ .npmrc # pnpm μ€μ (shamefully-hoist, auto-install-peers λ±)
βββ .nvmrc # Node.js λ²μ λͺ
μ (v20)
β
βββ package.json # λ£¨νΈ package.json (λͺ¨λ
Έλ ν¬ μ€ν¬λ¦½νΈ, devDependencies)
βββ pnpm-workspace.yaml # pnpm workspace μ μ (frontend, backend, packages/*)
βββ pnpm-lock.yaml # pnpm μμ‘΄μ± μ κΈ νμΌ
β
βββ README.md # νλ‘μ νΈ λ¬Έμ (ν μκ°, κΈ°λ₯ μ€λͺ
, 컨벀μ
)