48 lines
1.2 KiB
JavaScript
48 lines
1.2 KiB
JavaScript
const express = require('express');
|
|
const cors = require('cors');
|
|
require('dotenv').config();
|
|
|
|
const app = express();
|
|
|
|
// Middleware
|
|
app.use(cors());
|
|
app.use(express.json());
|
|
app.use(express.urlencoded({ extended: true }));
|
|
|
|
// Serve static files from the root directory
|
|
app.use(express.static('../'));
|
|
|
|
// Basic route
|
|
app.get('/', (req, res) => {
|
|
res.json({ message: 'Welcome to Mom\'s Web API' });
|
|
});
|
|
|
|
// Health check
|
|
app.get('/api/health', (req, res) => {
|
|
res.json({ status: 'Server is running' });
|
|
});
|
|
|
|
// Routes
|
|
app.use('/api/auth', require('./routes/authRoutes'));
|
|
app.use('/api/users', require('./routes/userRoutes'));
|
|
app.use('/api/products', require('./routes/productRoutes'));
|
|
app.use('/api/cart', require('./routes/cartRoutes'));
|
|
app.use('/api/orders', require('./routes/orderRoutes'));
|
|
|
|
// Error handling middleware
|
|
app.use((err, req, res, next) => {
|
|
console.error(err.stack);
|
|
res.status(500).json({ message: 'Internal Server Error' });
|
|
});
|
|
|
|
// 404 handler
|
|
app.use((req, res) => {
|
|
res.status(404).json({ message: 'Route not found' });
|
|
});
|
|
|
|
// Start server
|
|
const PORT = process.env.PORT || 5000;
|
|
app.listen(PORT, () => {
|
|
console.log(`Server running on port ${PORT}`);
|
|
});
|