Private — geschützt via Cloudflare Access

Code Templates
& Snippets →

Gesammelte Code-Snippets und Templates aus unseren Projekten. Copy & Paste ready für neue Ideas.

Projekte

Neueste Snippets

Alle anzeigen →
export async function verifyJwt(token: string, secret: string) {
  const [headerB64, payloadB64, signatureB64] = token.split('.');
  const key = await crypto.subtle.importKey(
    'raw', encoder.encode(secret),
    { name: 'HMAC', hash: 'SHA-256' }, false, ['verify']
  );
  return crypto.subtle.verify('HMAC', key, signature, data);
}

Cloudflare Worker Auth Middleware

general

Lightweight Auth Middleware für Cloudflare Workers mit JWT Validation und Rate Limiting.

cloudflareworkersjwttypescriptauth
export function useProgress() {
  const [progress, setProgress] = useState<Record<string, ProgressEntry>>({});
  useEffect(() => {
    const stored = localStorage.getItem(STORAGE_KEY);
    if (stored) setProgress(JSON.parse(stored));
  }, []);
  return { progress, completeLesson, addTime, getStats };
}

Learning Progress Tracker

learning

React Hook für Lernfortschritt-Tracking mit localStorage Persistenz und Statistiken.

reacthookstypescriptlocalStorage
router.get('/:slug', async (req, res) => {
  const { slug } = req.params;
  const url = await redis.get(`url:${slug}`);
  if (!url) return res.status(404).json({ error: 'Not found' });
  trackClick(slug, { ip: req.ip, userAgent: req.get('user-agent') });
  return res.redirect(301, url);
});

URL Shortener — Redirect Logic

urlix

Express.js Route-Handler für Video Downloader mit Redis Lookup und Analytics Tracking.

node.jsexpressredistypescript
export async function hashMessage(message: string): Promise<string> {
  const encoder = new TextEncoder();
  const data = encoder.encode(message);
  const hashBuffer = await crypto.subtle.digest('SHA-256', data);
  const hashArray = Array.from(new Uint8Array(hashBuffer));
  return hashArray.map((b) => b.toString(16).padStart(2, '0')).join('');
}

Message Hashing & Encryption

hashmsg

Client-side Message Hashing mit Web Crypto API — SHA-256, AES-GCM Verschlüsselung für sichere E-Mails.

typescriptcryptoweb-apisecurity
export async function generateBerichtsheftPdf(
  entries: BerichtsheftEntry[],
  trainee: { name: string; profession: string; year: number }
): Promise<Buffer> {
  const browser = await puppeteer.launch({ headless: true });
  const page = await browser.newPage();
  await page.setContent(html, { waitUntil: 'networkidle0' });
}

Berichtsheft PDF Generator

berichtsheft

Automatische PDF-Generierung für Ausbildungsnachweise mit Puppeteer und HTML Templates.

node.jspuppeteerpdftypescript
function showToast(message, type = 'info') {
  const container = document.getElementById('toast-container');
  const toast = document.createElement('div');
  toast.className = `px-4 py-3 rounded-lg border text-white
    ${colors[type]} animate-slide-in`;
  toast.textContent = message;
  container.appendChild(toast);
}

Tailwind UI Components

general

Wiederverwendbare UI-Komponenten: Toast Notifications, Modal, Loading Skeleton, und Dark Mode Toggle.

tailwindcsshtmluicomponents