- React+Vite frontend (dark theme, role-based routing: admin/seller/buyer) - Express+Prisma+PostgreSQL backend with JWT auth and audit logging - MinIO object storage with backend proxy for CORS-free firmware delivery - Mock payment flow (order → mock-pay → FlashToken) for pre-business testing - FlashToken lifecycle: issue → validate → esp-web-tools manifest → consume - Admin approval workflow for project/product submissions - Toss Payments integration guide (TOSS_PAYMENT_GUIDE.md) for live keys Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
11 lines
262 B
JavaScript
11 lines
262 B
JavaScript
const Redis = require('ioredis');
|
|
|
|
const redis = new Redis(process.env.REDIS_URL || 'redis://localhost:6379', {
|
|
maxRetriesPerRequest: 3,
|
|
lazyConnect: true,
|
|
});
|
|
|
|
redis.on('error', (err) => console.error('Redis error:', err.message));
|
|
|
|
module.exports = redis;
|