'use strict'; const path = require('path'); const express = require('express'); const conf = require('./conf/base'); const { seedDatabase } = require('./lib/seed'); // Initialize database with initial seed if empty seedDatabase(); const app = express(); // Middleware app.use(express.json({ limit: '10mb' })); app.use(express.urlencoded({ extended: true })); // Static files app.use('/static', express.static(path.join(__dirname, 'public'))); // View engine app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ejs'); // Routes app.use('/', require('./routes/render')); app.use('/api', require('./routes/api')); // 404 handler app.use((req, res, next) => { res.status(404).json({ error: 'Endpoint Not Found' }); }); // Error handler app.use((err, req, res, next) => { console.error('Server error:', err); res.status(err.status || 500).json({ error: err.message || 'Internal Server Error' }); }); module.exports = app;