# Project Overview This is a Vue.js 3 / Nuxt.js 3 e-commerce application built with TypeScript. It uses Laravel API to provide data and Laravel Sanctum to authenticate users. ## Tech Stack - **Framework**: Nuxt.js 3.16.0 - **Language**: TypeScript 5.8.2 - **UI Framework**: Vue.js 3.5.13 - **Styling**: Tailwind CSS 3.4.17 - **State Management**: Pinia 3.0.1 - **Routing**: Vue Router 4.5.0 - **Package Manager**: Yarn - **Backend/API**: Laravel ## Key Dependencies - Vue.js 3.5.13 - Nuxt.js 3.16.0 - TypeScript 5.8.2 - Pinia for state management - Vue Router for routing - Tailwind CSS for styling - ESLint 9.22.0 for linting - Vite for building - PostCSS 8.5.3 for CSS processing ## Additional Packages - @nuxtjs/i18n for internationalization - @nuxt/image for image optimization - nuxt-auth-sanctum for authentication - @maptiler/sdk for maps - date-fns for date utilities - animejs for animations - vue3-carousel-nuxt for carousels and touch sliders - reka-ui for UI components - nuxt-snackbar for notifications ## Project Structure This is a Nuxt.js project following standard conventions: - `pages/` - Auto-generated routes - `components/` - Reusable Vue components - `layouts/` - Page layouts - `middleware/` - Route middleware - `plugins/` - Vue.js plugins - `composables/` - Vue 3 composables - `stores/` - Pinia stores - `assets/` - Static assets - `public/` - Public files served directly ## Development Guidelines - Use TypeScript for all code - Follow Vue 3 Composition API patterns - Use Pinia for state management - Implement responsive design with Tailwind CSS - Follow ESLint configuration for code quality - Use Nuxt.js conventions and best practices ## Build & Development - Development: `yarn dev` - Build: `yarn build` - Preview: `yarn preview` - Lint: `yarn lint` ## Notes for AI Assistants This project uses: - Vue 3 Composition API syntax - TypeScript with strict type checking - Nuxt.js 3 auto-imports - Tailwind CSS utility classes - Pinia stores for state management - ESLint for code quality enforcement When suggesting code changes, please: - Use TypeScript syntax - Follow Vue 3 Composition API patterns - Use Nuxt.js conventions - Apply Tailwind CSS for styling - Ensure type safety