A modern and performant e-commerce application built with Lit, Web Components, and Material Design 3
- πͺ Product catalog with categories
- π Advanced search and filtering
- π Shopping cart with persistence
- π€ User management
- π± Responsive interface
- π Optimized Core Web Vitals
- π¦ Intelligent code splitting
- πΌοΈ Image lazy loading
- πΎ Optimized DOM caching
- π Service Worker for PWA
- β WCAG 2.1 AA compliant
- β¨οΈ Complete keyboard navigation
- π Screen reader support
- π¨ High contrast
- π± Mobile navigation optimized
- π Ocean-inspired theme
- π Material Design 3
- π Dark/light mode
- π Smooth animations
- π― Intuitive interface
- Node.js >= 18.0.0
- npm >= 8.0.0
# Clone the repository
git clone https://github.com/michaelgermini/PolymerShopModern.git
cd PolymerShopModern
# Install dependencies
npm install
# Start development server
npm run dev
Open http://localhost:8080 in your browser.
# Optimized build
npm run build
# Preview the build
npm run preview
# Deploy to GitHub Pages
npm run deploy
PolymerShopModern/
βββ π src/
β βββ π main.js # Main entry point
β βββ π app.js # Main application
β βββ π components/
β β βββ π app-shell.js # Application shell
β β βββ π product-catalog.js # Product catalog
β βββ π services/
β β βββ π cart-service.js # Cart service
β β βββ π product-service.js # Product service
β βββ π fallback-app.js # Fallback application
βββ π public/
β βββ π manifest.json # PWA manifest
β βββ πΌοΈ images/ # Static assets
βββ π index.html # HTML entry point
βββ π vite.config.js # Vite configuration
βββ π package.json # Dependencies and scripts
βββ π README.md # Documentation
- Lit - Web Components framework
- Vite - Ultra-fast build tool
- JavaScript ES6+ - Modern language
- Material Design 3 - Google design system
- CSS Custom Properties - CSS variables
- CSS Grid & Flexbox - Modern layout
- CSS Animations - Smooth transitions
- Code Splitting - Modular loading
- Lazy Loading - Images on demand
- Service Worker - Offline cache
- PWA - Progressive web application
- ESLint - JavaScript linting
- Prettier - Automatic formatting
- Lighthouse - Performance audit
- GitHub Actions - CI/CD
# Development
npm run dev # Development server
npm run build # Production build
npm run preview # Preview build
# Code quality
npm run lint # ESLint check
npm run format # Prettier formatting
# Deployment
npm run deploy # GitHub Pages deployment
# Tests and audits
npm run audit:perf # Performance audit
npm run audit:acc # Accessibility audit
npm run test # Unit tests
- LCP (Largest Contentful Paint): < 2.5s β‘
- FID (First Input Delay): < 100ms β‘
- CLS (Cumulative Layout Shift): < 0.1 β‘
- Performance: 90/100 π
- Accessibility: 95/100 βΏ
- Best Practices: 95/100 β
- SEO: 90/100 π
PolymerShop follows WCAG 2.1 AA guidelines:
- β Complete keyboard navigation
- β Screen reader support (NVDA, JAWS, VoiceOver)
- β High color contrast (4.5:1 minimum)
- β Semantic HTML5 structure
- β Appropriate ARIA attributes
# Automated browser test
import('./test-accessibility-simple.js');
runAccessibilityCheck();
# Complete audit with axe-core
npm run audit:acc
# Build and automatic deployment
npm run deploy
# Or manually
npm run build
npx gh-pages -d dist
- Vercel: Automatic GitHub connection
- Netlify: Drag & drop deployment
- Railway: Deployment from GitHub
- Heroku: Node.js buildpack
Contributions are welcome! π
- Fork the project
- Create a branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
- π Follow Conventional Commits
- π§ͺ Tests for new features
- βΏ Respect WCAG 2.1 AA accessibility
- π Maintain Core Web Vitals performance
- π¨ Respect Material Design 3 design system
Distributed under the MIT License. See LICENSE
for more information.
- Lit - Web Components framework
- Vite - Revolutionary build tool
- Material Design - Google design system
- Lighthouse - Audit tool
- Web.dev - Performance resources
- π§ Email: contact@polymershop.dev
- π Issues: GitHub Issues
- π¬ Discussions: GitHub Discussions
- π Documentation: Wiki
- π Stripe payment integration
- π± Improved offline mode
- π¨ Customizable themes
- π Advanced search with filters
- π Analytics and user metrics
- π Internationalization (i18n)
- π Push notifications
- π₯ Review/comment system
- π± Native mobile app
- π€ Assistant chatbot
Made with β€οΈ by Michael Germini
β If you like this project, don't forget to give it a star!