This project is a Vue.js-based e-commerce application developed as a test task for Lightspeed. It demonstrates the implementation of a basic online store with product listings, category navigation, shopping cart functionality, and more.
- Product listing with category filtering
- Product detail view
- Shopping cart functionality
- Responsive design
- Category tree navigation
- Breadcrumb navigation
- State management with Pinia
- Routing with Vue Router
- TypeScript support
- SCSS styling
- Vue 3
- TypeScript
- Vite
- Pinia for state management
- Vue Router for navigation
- Axios for API requests
- SCSS for styling
The project follows a standard Vue.js application structure:
src/components: Reusable Vue componentssrc/views: Page componentssrc/router: Route definitionssrc/stores: Pinia stores for state managementsrc/services: API servicessrc/types: TypeScript type definitionssrc/assets: Static assets and global styles
-
Clone the repository:
git clone https://github.com/your-username/lightspeed-ecommerce-test.git cd lightspeed-ecommerce-test -
Install dependencies:
npm install -
Run the development server:
npm run dev -
Build for production:
npm run build -
Preview the production build:
npm run preview
This project uses the Ecwid API for product and category data. The API credentials are stored in the src/services/api.ts file. In a real-world scenario, these should be stored securely and not committed to the repository.
- Implement user authentication
- Add product search functionality
- Improve error handling and loading states
- Implement unit and integration tests
- Optimize performance with lazy loading and code splitting
- Enhance accessibility features
This is a test project and is not open for contributions. However, feedback and suggestions are welcome.
This project is not licensed for use or distribution. It is a demonstration project for Lightspeed's evaluation purposes only.