feat: Initialize customer-spa project structure
Sprint 1 - Foundation Setup: Created customer-spa/ folder structure: ``` customer-spa/ ├── src/ │ ├── pages/ # Customer pages (Shop, Cart, Checkout, Account) │ ├── components/ # Reusable components │ ├── lib/ │ │ ├── api/ # API client │ │ ├── cart/ # Cart state management │ │ ├── checkout/ # Checkout logic │ │ └── tracking/ # Analytics & pixel tracking │ ├── hooks/ # Custom React hooks │ ├── contexts/ # React contexts │ └── types/ # TypeScript types ├── public/ # Static assets ├── package.json # Dependencies ├── vite.config.ts # Vite configuration (port 5174) ├── tsconfig.json # TypeScript configuration ├── tailwind.config.js # TailwindCSS configuration ├── postcss.config.js # PostCSS configuration └── .eslintrc.cjs # ESLint configuration ``` Configuration: ✅ Vite dev server on port 5174 (admin-spa uses 5173) ✅ HTTPS with shared SSL cert ✅ TypeScript + React 18 ✅ TailwindCSS + shadcn/ui ✅ React Query for data fetching ✅ Zustand for state management ✅ React Hook Form + Zod for forms ✅ React Router for routing Dependencies Added: - Core: React 18, React DOM, React Router - UI: Radix UI components, Lucide icons - State: Zustand, TanStack Query - Forms: React Hook Form, Zod, @hookform/resolvers - Styling: TailwindCSS, class-variance-authority - Utils: clsx, tailwind-merge, sonner (toast) Next Steps: - Create main.tsx entry point - Create App.tsx with routing - Create base layout components - Setup API client - Implement cart state management Ready for Sprint 1 implementation!
This commit is contained in:
20
customer-spa/.eslintrc.cjs
Normal file
20
customer-spa/.eslintrc.cjs
Normal file
@@ -0,0 +1,20 @@
|
||||
module.exports = {
|
||||
root: true,
|
||||
env: { browser: true, es2020: true },
|
||||
extends: [
|
||||
'eslint:recommended',
|
||||
'plugin:@typescript-eslint/recommended',
|
||||
'plugin:react-hooks/recommended',
|
||||
],
|
||||
ignorePatterns: ['dist', '.eslintrc.cjs', 'eslint.config.js'],
|
||||
parser: '@typescript-eslint/parser',
|
||||
plugins: ['react-refresh'],
|
||||
rules: {
|
||||
'react-refresh/only-export-components': [
|
||||
'warn',
|
||||
{ allowConstantExport: true },
|
||||
],
|
||||
'@typescript-eslint/no-explicit-any': 'off',
|
||||
'@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_', varsIgnorePattern: '^_' }],
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user