All materials
server.js
jsserver.js
const express = require('express');
const cors = require('cors');
const dotenv = require('dotenv');
const { requestLogger, errorHandler } = require('./middleware/logging');
const trekRoutes = require('./routes/treks');
const bookingRoutes = require('./routes/bookings');
dotenv.config();
const app = express();
const PORT = process.env.PORT || 3000;
app.use(cors({
origin: process.env.CORS_ORIGIN || 'http://localhost:5173',
methods: ['GET', 'POST', 'PUT', 'DELETE'],
credentials: true
}));
app.use(express.json());
app.use(requestLogger);
app.use('/api/treks', trekRoutes);
app.use('/api/bookings', bookingRoutes);
app.get('/api/health', (req, res) => {
res.json({ status: 'ok', timestamp: new Date().toISOString() });
});
app.use(errorHandler);
app.listen(PORT, () => {
console.log(`Himalaya Horizon Treks API running on port ${PORT}`);
});
module.exports = app;