const express = require('express'); const { init } = require('./src/models'); const config = require('./config'); const fs = require('fs'); (async () => { const dirs = [config.storage.filesDir, config.storage.uploadsDir]; for (const dir of dirs) { if (!fs.existsSync(dir)) { fs.mkdirSync(dir, { recursive: true }); } } const { sequelize } = await init(); await sequelize.sync(); console.log('Database synchronized'); const app = express(); app.use(express.json()); app.use(express.static('public')); const routes = require('./src/routes'); app.use('/api', routes); app.get('/health', (req, res) => { res.json({ status: 'ok' }); }); app.listen(config.port, () => { console.log(`Server running on port ${config.port}`); }); })().catch(e => { console.error(e); process.exit(1); });