Spaces:
Sleeping
Sleeping
| const express = require('express'); | |
| const config = require('./config.json'); | |
| const { requestLogger } = require('./middleware/logger'); | |
| const { rateLimiter } = require('./middleware/rateLimit'); | |
| const app = express(); | |
| app.use(express.json()); | |
| app.use(requestLogger); | |
| app.use(rateLimiter); | |
| // Health check | |
| app.get('/health', (req, res) => { | |
| res.json({ status: 'ok', uptime: process.uptime(), version: config.version }); | |
| }); | |
| // Mount routes | |
| const usersRouter = require('./routes/users'); | |
| const dataRouter = require('./routes/data'); | |
| const statusRouter = require('./routes/status'); | |
| app.use('/api/users', usersRouter); | |
| app.use('/api/data', dataRouter); | |
| app.use('/api/status', statusRouter); | |
| // Error handling middleware | |
| app.use((err, req, res, next) => { | |
| console.error(`[ERROR] ${err.message}`); | |
| res.status(500).json({ error: 'Internal server error' }); | |
| }); | |
| // Start server | |
| const PORT = config.port; | |
| app.listen(PORT, '0.0.0.0', () => { | |
| console.log(`Server running on port ${PORT}`); | |
| }); | |