Skip to content

DominDev/DominDev-TechGear

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฎ TECHGEAR - Elite Gaming Hardware

Live Demo License Performance

Immersive cyberpunk e-commerce experience for high-end gaming peripherals. Built with pure HTML/CSS/JavaScript for maximum performance.


๐Ÿ“ธ Preview

Live URL: https://domindev.github.io/DominDev-TechGear/

TechGear Preview


โœจ Features

๐ŸŽฏ Core Functionality

  • Dynamic Product Catalog - 9 high-end gaming products (mice, keyboards, audio)
  • Intelligent Shopping Cart - Auto-grouping, localStorage persistence, real-time updates
  • Advanced Filtering - Category filters + live search
  • Expandable Specifications - Detailed tech specs per product
  • User Authentication - Mock login/register system (localStorage-based)
  • Responsive Design - Mobile-first, 360px โ†’ 1920px+

๐Ÿš€ Performance & UX

  • Cyberpunk Preloader - Animated boot sequence
  • Particle Background - Canvas-based interactive particles
  • Scroll Reveal Animations - IntersectionObserver-powered
  • Glitch Effects - Authentic cyberpunk micro-interactions
  • FAQ Accordion - Smooth height transitions
  • Lazy Loading - Images load on-demand

๐ŸŽจ Design System

  • Color Palette: Deep Black (#020202) + Tactical Orange (#ff7700) + System Cyan (#00f0ff)
  • Typography: Michroma (headers) + Rajdhani (UI) + Share Tech Mono (code) + Inter (body)
  • Grid Background: Subtle tactical overlay
  • Clip-path Styling: ลšciฤ™te rogi (cyberpunk aesthetic)
  • HUD Elements: Corner decorators, scanlines

๐Ÿ—๏ธ Technology Stack

Layer Technology Reason
Frontend HTML5 + CSS3 + Vanilla JS Zero dependencies, blazing fast
Modules ES6 Modules Clean, maintainable code
Storage localStorage Cart + auth persistence
Animations CSS + Canvas GPU-accelerated, smooth 60fps
Images WebP + AVIF + lazy loading Optimized delivery
Deploy GitHub Pages Free, fast CDN

Why no frameworks?

  • โšก Performance: < 150KB total bundle
  • ๐Ÿ” SEO: Native static HTML
  • ๐ŸŽฏ Compatibility: Works everywhere
  • ๐Ÿ› ๏ธ Maintenance: Easy to edit

๐Ÿ“ Project Structure

DominDev-TechGear/
โ”œโ”€โ”€ index.html                 # Main entry point
โ”œโ”€โ”€ robots.txt                 # SEO crawlers config
โ”œโ”€โ”€ sitemap.xml                # SEO sitemap
โ”œโ”€โ”€ .gitignore
โ”œโ”€โ”€ README.md
โ”‚
โ”œโ”€โ”€ assets/
โ”‚   โ”œโ”€โ”€ css/
โ”‚   โ”‚   โ”œโ”€โ”€ base.css          # Variables, reset, typography
โ”‚   โ”‚   โ”œโ”€โ”€ layout.css        # Header, hero, footer
โ”‚   โ”‚   โ”œโ”€โ”€ components.css    # Buttons, cards, modals
โ”‚   โ”‚   โ””โ”€โ”€ animations.css    # Keyframes, transitions
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ js/
โ”‚   โ”‚   โ”œโ”€โ”€ main.js           # App initialization
โ”‚   โ”‚   โ”œโ”€โ”€ products.js       # Product data & rendering
โ”‚   โ”‚   โ”œโ”€โ”€ cart.js           # Shopping cart logic
โ”‚   โ”‚   โ”œโ”€โ”€ auth.js           # Authentication system
โ”‚   โ”‚   โ”œโ”€โ”€ particles.js      # Canvas particle background
โ”‚   โ”‚   โ””โ”€โ”€ utils.js          # Helper functions
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€ img/
โ”‚       โ”œโ”€โ”€ favicon.svg       # Site icon
โ”‚       โ”œโ”€โ”€ og-image.jpg      # Social media preview
โ”‚       โ”œโ”€โ”€ placeholder.jpg   # Fallback image
โ”‚       โ””โ”€โ”€ products/         # Product images
โ”‚
โ”œโ”€โ”€ _docs/                    # Project documentation
โ”‚   โ”œโ”€โ”€ prompt-fullstack-developer.md
โ”‚   โ”œโ”€โ”€ portfolio-cart-source.txt
โ”‚   โ””โ”€โ”€ code-source.txt
โ”‚
โ””โ”€โ”€ _scripts/                 # Development tools
    โ””โ”€โ”€ optimize-images.js    # Image optimization script

๐Ÿš€ Quick Start

1. Clone Repository

git clone https://github.com/domindev/DominDev-TechGear.git
cd DominDev-TechGear

2. Run Locally

# Option A: Python
python -m http.server 8000

# Option B: Node.js
npx serve

# Option C: VS Code Live Server
# Install "Live Server" extension โ†’ Right-click index.html โ†’ "Open with Live Server"

3. Open Browser

http://localhost:8000

๐Ÿ› ๏ธ Development Guide

Adding New Products

Edit assets/js/products.js:

export const products = [
    {
        id: 10,
        name: 'PHANTOM ELITE',
        category: 'mouse',
        price: 499,
        img: 'assets/img/products/phantom.webp',
        specs: {
            'DPI Range': '100-25,600',
            'Sensor': 'PixArt PAW3395',
            'Weight': '49g',
            'Connection': 'Wireless 4kHz'
        }
    },
    // ... more products
];

Optimizing Images

  1. Install dependencies:
npm install sharp --save-dev
  1. Place original images in:
assets/img/products/originals/
  1. Run optimizer:
node _scripts/optimize-images.js

Generates:

  • product-300.webp (mobile)
  • product-600.webp (tablet/desktop)
  • product-900.webp (retina)
  • .avif + .jpg fallbacks

Customizing Colors

Edit CSS variables in assets/css/base.css:

:root {
    --color-tactical-orange: #ff7700;  /* Primary accent */
    --color-system-cyan: #00f0ff;      /* Secondary accent */
    --color-void-black: #020202;       /* Background */
}

๐ŸŽฏ Features Deep Dive

Shopping Cart System

Features:

  • Auto-grouping (same product โ†’ increment qty)
  • Live total calculation
  • localStorage persistence (survives refresh)
  • Slide-in sidebar UI
  • Keyboard accessible (Escape to close)

API:

// Add to cart
addToCart(productId)

// Update quantity
changeQty(productId, +1)  // Increase
changeQty(productId, -1)  // Decrease

// Remove item
removeItem(productId)

Authentication System

Current Implementation:

  • Mock system using localStorage
  • Email + password validation
  • Session persistence
  • User display in header

Future Integration:

// Replace in auth.js
function loginUser(email, password) {
    // Replace with:
    fetch('/api/auth/login', {
        method: 'POST',
        body: JSON.stringify({ email, password })
    })
}

Product Filtering

Category Filters:

  • ALL_SYSTEMS (default)
  • INPUT_DEVICE (mice)
  • TERMINAL (keyboards)
  • AUDIO_UNIT (headsets)

Live Search:

  • Debounced input (400ms)
  • Searches product names
  • Real-time results update

๐Ÿ“Š Performance Metrics

Metric Target Actual
First Contentful Paint < 1.5s ~1.2s
Largest Contentful Paint < 2.5s ~2.1s
Time to Interactive < 3.5s ~2.8s
Cumulative Layout Shift < 0.1 ~0.05
Total Bundle Size < 150KB ~120KB

Lighthouse Score (Desktop): 95+

Optimization Techniques

  • โœ… Lazy loading images
  • โœ… WebP/AVIF modern formats
  • โœ… CSS/JS minification ready
  • โœ… Debounced scroll/search
  • โœ… RequestAnimationFrame for particles
  • โœ… IntersectionObserver for reveals
  • โœ… Reduced motion support

๐ŸŒ Browser Support

Browser Version Status
Chrome 90+ โœ… Full support
Firefox 88+ โœ… Full support
Safari 14+ โœ… Full support
Edge 90+ โœ… Full support
Opera 76+ โœ… Full support

Fallbacks:

  • WebP โ†’ JPEG (IE11, old Safari)
  • ES6 Modules โ†’ Add Babel if needed
  • CSS Grid โ†’ Flexbox fallback
  • IntersectionObserver โ†’ polyfill available

๐Ÿšข Deployment

GitHub Pages (Current)

  1. Enable GitHub Pages:

    • Repository Settings โ†’ Pages
    • Source: main branch
    • Folder: / (root)
  2. Access:

    https://domindev.github.io/DominDev-TechGear/
    

Netlify (Alternative)

  1. Connect repository to Netlify
  2. Build command: (none needed)
  3. Publish directory: /
  4. Deploy!

Benefits:

  • Custom domain
  • Automatic HTTPS
  • Instant rollbacks
  • Form handling

Vercel (Alternative)

npm i -g vercel
vercel

๐Ÿ”ฎ Future Enhancements

Backend Integration

  • Real database (MongoDB/PostgreSQL)
  • REST API (Node.js/Express)
  • JWT authentication
  • Stripe payment integration
  • Admin panel (inventory management)

Features

  • Product reviews/ratings
  • Wishlist functionality
  • Compare products side-by-side
  • Recently viewed items
  • Email newsletter
  • Multi-language support (i18n)

Performance

  • Service Worker (PWA)
  • Offline mode
  • Push notifications
  • Code splitting
  • CDN for images

๐Ÿค Contributing

Contributions welcome! Please follow these steps:

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing-feature)
  5. Open Pull Request

Code Style:

  • Semantic HTML
  • BEM for CSS classes
  • ESLint/Prettier (optional)
  • Descriptive commit messages

๐Ÿ“ License

MIT License - see LICENSE file for details.

Free to use for:

  • Personal projects
  • Commercial projects
  • Learning purposes
  • Portfolio demonstrations

๐Ÿ‘ค Author

DominDev


๐Ÿ™ Acknowledgments

  • Design Inspiration: Cyberpunk 2077, Ghost in the Shell
  • Fonts: Google Fonts (Michroma, Rajdhani, Share Tech Mono, Inter)
  • Images: Unsplash (product placeholders)
  • Icons: Unicode & SVG

๐Ÿ“š Documentation


๐Ÿ› Known Issues

  • None at the moment! ๐ŸŽ‰

Report bugs: GitHub Issues


โšก Quick Commands

# Start local server
python -m http.server 8000

# Optimize images
node _scripts/optimize-images.js

# Minify CSS (optional)
node _scripts/auto-minify-css.js

# Check git status
git status

# Deploy to GitHub Pages
git add .
git commit -m "Update: description"
git push origin main

Built with โค๏ธ and โ˜• by DominDev

๐ŸŒ Live Demo โ€ข ๐Ÿ“– Documentation โ€ข ๐Ÿ› Report Bug

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •