Learn by Directing AI
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;