| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- const express = require('express');
- const compression = require('compression');
- const cors = require('cors');
- const path = require('path');
- let config;
- try {
- config = require('./config');
- } catch (e) {
- console.error('Missing config.js - copy config.example.js to config.js and configure it.');
- process.exit(1);
- }
- const { initDatabase } = require('./src/database');
- const authRoutes = require('./src/routes/auth');
- const dirRoutes = require('./src/routes/directories');
- const trackRoutes = require('./src/routes/tracks');
- const shareRoutes = require('./src/routes/share');
- const adminRoutes = require('./src/routes/admin');
- const statsRoutes = require('./src/routes/stats');
- const app = express();
- app.use(compression());
- app.use(cors({ origin: config.cors.origin, credentials: true }));
- app.use(express.json());
- app.use('/api/auth', authRoutes);
- app.use('/api/directories', dirRoutes);
- app.use('/api/tracks', trackRoutes);
- app.use('/api/share', shareRoutes);
- app.use('/api/admin', adminRoutes);
- app.use('/api/stats', statsRoutes);
- app.get('/health', (req, res) => res.json({ ok: true }));
- async function start() {
- await initDatabase();
- app.listen(config.port, () => {
- console.log(`GPX-vis backend running on port ${config.port}`);
- });
- }
- start().catch(err => {
- console.error('Startup error:', err);
- process.exit(1);
- });
|