root
├── 📁 assets
├── 📁 core
│ ├── 📁 components
│ ├── 📁 composables
│ ├── 📁 config
│ ├── 📁 store
│ ├── 📁 services
│ ├── 📁 types
│ └── 📁 utils
│ ├── 📁 validator
│ └── 📄 index.ts
├── 📁 features
│ └── 📁 feature
│ ├── 📁 components
│ ├── 📁 composables
│ ├── 📁 config
│ ├── 📁 services
│ ├── 📁 types
│ └── 📁 utils
├── 📁 middleware
├── 📁 pages
├── 📁 plugins
├── 📁 public
├── 📄 .env.example
├── 📄 .nvmrc
├── 📄 nuxt.config.ts
├── 📄 package.json
└── 📄 README.md
Contains uncompiled static assets such as SCSS, images, fonts, and icons.
These files are processed by Nuxt's build system (e.g., Sass → CSS).
Houses application-wide core logic that supports all features.
Organizes code by domain features. Encourages modular development.
Each feature contains:
Scalable Approach:
This folder pattern supports clean separation of concerns and better feature encapsulation.
Custom route middleware functions to guard routes (e.g., authentication checks or redirection logic).
Nuxt's file-based routing system. Each .vue file here maps to a route.
pages/index.vue → /Contains Vue plugins that run before mounting the root Vue app. Examples: Axios, Toast, i18n setup.
Static assets served as-is (not processed by Webpack/Vite). Ideal for robots.txt, favicon, or static files like PDFs.