import dotenv from 'dotenv';
import express from 'express';
import cors from 'cors';
import { userRouter } from './user/user.router';
import { contactRouter } from './contact/contact.router';
import { productRouter } from './product/product.router';
import { categoryRouter } from './category/category.router';
import path from 'path';
dotenv.config();
if (!process.env.PORT) {
process.exit(1);
}
const PORT: number = parseInt(process.env.PORT as string, 10);
const app = express();
app.use(cors());
app.use(express.json());
app.use('/api/users', userRouter);
app.use('/api/products', productRouter);
app.use('/api/contacts', contactRouter);
app.use('/api/categories', categoryRouter);
// Serve the admin app
const adminBuildPath = path.join(__dirname, '../../admin/build');
app.use('/private/admin', express.static(adminBuildPath));
app.get('/private/admin/*', (req, res) =>
res.sendFile(path.join(adminBuildPath, 'index.html'))
);
// Serve the client app
const clientBuildPath = path.join(__dirname, '../../client/build');
app.use(express.static(clientBuildPath));
app.get('*', (req, res) =>
res.sendFile(path.join(clientBuildPath, 'index.html'))
);
app.listen(PORT, () => {
console.log('----------------------------------------------');
console.log(`Server started on port http://localhost:${PORT}`);
});
Zied Snoussi Asked question August 9, 2023