# Schnellstart ## Voraussetzungen 1. **Node.js herunterladen**: [nodejs.org](https://nodejs.org) - LTS-Version installieren 2. **VSCode herunterladen**: [code.visualstudio.com](https://code.visualstudio.com) - Stabile Version installieren [ZIP herunterladen](https://github.com/Growheads-de/shopFrontEnd/archive/refs/heads/live.zip) Entpacken & Doppelklick auf `start-dev-seedheads.bat` - das Skript wird: - Abhängigkeiten automatisch installieren falls nötig - Entwicklungsserver mit API-Proxy zu seedheads.de starten - Browser öffnen auf http://localhost:9500 ## Socket Connection Optimization The application uses Socket.IO for real-time communication with the server. To improve initial loading performance, sockets are now connected lazily: - Sockets are created with `autoConnect: false` and only establish a connection when: - The first `emit` is called on the socket - An explicit connection is requested via the context methods ### Usage ```jsx // In a component import React, { useContext, useEffect } from 'react'; import SocketContext from '../contexts/SocketContext'; import { emitAsync } from '../utils/socketUtils'; const MyComponent = () => { const { socket, socketB } = useContext(SocketContext); useEffect(() => { // The socket will automatically connect when emit is called socket.emit('someEvent', { data: 'example' }); // Or use the utility for Promise-based responses emitAsync(socket, 'getData', { id: 123 }) .then(response => console.log(response)) .catch(error => console.error(error)); }, [socket]); return
My Component
; }; ``` ### Benefits - Reduced initial page load time - Connections established only when needed - Automatic fallback to polling if WebSocket fails - Promise-based utilities for easier async/await usage