require('dotenv').config(); const path = require('path'); const express = require('express'); const cors = require('cors'); const app = express(); app.use(cors()); app.use(express.json({ limit: '1mb' })); // Health app.get('/api/health', (req, res) => res.json({ ok: true, service: 'zc-bleeter-web' })); // Interner Endpunkt (FiveM-Server) app.use('/internal', require('./routes/internal')); // Auth app.use('/api/auth', require('./routes/auth')); // API app.use('/api', require('./routes/feed')); app.use('/api', require('./routes/profiles')); app.use('/api', require('./routes/marketplace')); app.use('/api', require('./routes/events')); app.use('/api', require('./routes/business')); app.use('/api', require('./routes/moderation')); app.use('/api', require('./routes/media')); // Statisches Frontend + SPA-Fallback const publicDir = path.join(__dirname, 'public'); app.use(express.static(publicDir)); app.get(/^(?!\/api|\/internal).*/, (req, res) => { res.sendFile(path.join(publicDir, 'index.html')); }); const PORT = Number(process.env.PORT || 4091); app.listen(PORT, '127.0.0.1', () => { console.log(`[zc-bleeter-web] Backend laeuft auf 127.0.0.1:${PORT}`); });