# web-template-fe ## Tech Stack - nuxt: 4.0.3 - vue: 3.5.19 - i18n: 10.0.6 - pinia: 2.3.1 - @pinia/nuxt: 0.6.1 ## Folder Structure ``` repo/ ├── app/ │ ├── app.vue │ └── pages/ │ └── [d1]/[d2]/[d3].vue # 최대 3뎁스 처리 │ ├── layers/ │ ├── assets/ │ │ └── css/ │ ├── components/ │ │ ├── atoms/ # 기본 UI 컴포넌트 │ │ │ ├── Button.vue │ │ │ ├── LocaleLink.vue │ │ │ └── icons/ │ │ │ ├── ArrowDown.vue │ │ │ ├── LinkOut.vue │ │ │ └── Star.vue │ │ ├── blocks/ # 복합 컴포넌트 │ │ │ ├── HybridLink.vue │ │ │ ├── loading/ │ │ │ ├── modal/ │ │ │ ├── StoveGnb.vue │ │ │ └── VisualContent.vue │ │ ├── layouts/ # 레이아웃 컴포넌트 │ │ │ ├── Footer.vue │ │ │ ├── Header.vue │ │ │ └── Main.vue │ │ └── widgets/ # 템플릿용 공통 위젯 │ │ ├── Background.vue │ │ ├── MainTitle.vue │ │ ├── SubTitle.vue │ ├── composables/ │ ├── layouts/ │ │ ├── default.vue │ │ └── promotion.vue │ ├── middleware/ │ │ ├── init.route.global.ts │ │ └── pageData.global.ts │ ├── nuxt.config.ts │ ├── plugins/ │ ├── public/ │ ├── registry/ │ │ └── index.ts │ ├── server/ │ │ ├── api/ │ │ ├── middleware/ │ │ └── routes/ │ ├── stores/ │ ├── templates/ │ │ ├── GrVisual01 │ │ ├── GrVisual02 │ │ └── GrVisual03 │ ├── types/ │ │ └── api/ │ │ ├── gameData.ts │ │ └── pageData.ts │ └── utils/ ├── i18n/ │ └── locales/ ├── node_modules/ ├── nuxt.config.ts ├── package.json ├── pnpm-lock.yaml ├── README.md ├── tailwind.config.ts └── tsconfig.json ```