From afd5903aef1715fe700f6aaea88467f734b52bbc Mon Sep 17 00:00:00 2001 From: Aman Brhane <117799650+Ambesawi@users.noreply.github.com> Date: Wed, 31 Jan 2024 13:52:34 +0300 Subject: [PATCH 1/2] Update index.js --- backend/index.js | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/backend/index.js b/backend/index.js index e106960..500d861 100644 --- a/backend/index.js +++ b/backend/index.js @@ -1,23 +1,28 @@ +// Load environment variables from the .env file require('dotenv').config(); -const express = require('express'); -const path = require('path'); -const bodyParser = require('body-parser'); -const cors = require('cors'); -const mongoose = require('mongoose'); -const authRoutes = require('./routes/authRoutes'); -const catalogRoutes = require('./routes/catalogRoutes'); -const userRoutes = require('./routes/userRoutes'); -const cartRoutes = require('./routes/cartRoutes'); -const orderRoutes = require('./routes/orderRoutes'); +// Import necessary libraries +const express = require('express'); // Express.js is a web application framework for Node.js +const path = require('path'); // Node.js module for working with file paths +const bodyParser = require('body-parser'); // Middleware to parse incoming request bodies +const cors = require('cors'); // Middleware for enabling Cross-Origin Resource Sharing +const mongoose = require('mongoose'); // Mongoose is an ODM library for MongoDB +const authRoutes = require('./routes/authRoutes'); // Import authentication routes +const catalogRoutes = require('./routes/catalogRoutes'); // Import catalog-related routes +const userRoutes = require('./routes/userRoutes'); // Import user-related routes +const cartRoutes = require('./routes/cartRoutes'); // Import shopping cart routes +const orderRoutes = require('./routes/orderRoutes'); // Import order-related routes +// Set the public path for serving static files const publicPath = path.join(__dirname, '..', 'frontend', 'public'); const port = process.env.PORT || 5000; +// Create an instance of the Express application const app = express(); let connectionRetries = 0; +// Function to connect to the MongoDB database with retry mechanism const connectWithRetry = () => { console.log('CONNECTING TO DB...'); @@ -33,6 +38,7 @@ const connectWithRetry = () => { connectionRetries++; + // Retry connection with a delay if the number of retries is within a limit if (connectionRetries <= 4) { setTimeout(connectWithRetry, 5000); } else { @@ -41,9 +47,11 @@ const connectWithRetry = () => { }); }; +// Initial database connection attempt connectWithRetry(); -app.use(cors()); +// Middleware setup +app.use(cors()); // Enable Cross-Origin Resource Sharing app.use(bodyParser.urlencoded({ extended: true })); app.use( bodyParser.json({ @@ -51,12 +59,14 @@ app.use( type: 'application/json', }), ); -app.use(express.static(publicPath)); +app.use(express.static(publicPath)); // Serve static files +// Define routes for different modules app.use('/api/auth', authRoutes); app.use('/api/catalog', catalogRoutes); app.use('/api/user', userRoutes); app.use('/api/cart', cartRoutes); app.use('/api/order', orderRoutes); +// Start the server and listen on the specified port app.listen(port, () => console.log(`SERVER NOW RUNNING ON PORT ${port}...`)); From d88e0a0ca424e15ee45d3250631f9203459ea3cf Mon Sep 17 00:00:00 2001 From: Aman Brhane <117799650+Ambesawi@users.noreply.github.com> Date: Wed, 31 Jan 2024 13:56:27 +0300 Subject: [PATCH 2/2] Update index.js --- backend/index.js | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/backend/index.js b/backend/index.js index e106960..500d861 100644 --- a/backend/index.js +++ b/backend/index.js @@ -1,23 +1,28 @@ +// Load environment variables from the .env file require('dotenv').config(); -const express = require('express'); -const path = require('path'); -const bodyParser = require('body-parser'); -const cors = require('cors'); -const mongoose = require('mongoose'); -const authRoutes = require('./routes/authRoutes'); -const catalogRoutes = require('./routes/catalogRoutes'); -const userRoutes = require('./routes/userRoutes'); -const cartRoutes = require('./routes/cartRoutes'); -const orderRoutes = require('./routes/orderRoutes'); +// Import necessary libraries +const express = require('express'); // Express.js is a web application framework for Node.js +const path = require('path'); // Node.js module for working with file paths +const bodyParser = require('body-parser'); // Middleware to parse incoming request bodies +const cors = require('cors'); // Middleware for enabling Cross-Origin Resource Sharing +const mongoose = require('mongoose'); // Mongoose is an ODM library for MongoDB +const authRoutes = require('./routes/authRoutes'); // Import authentication routes +const catalogRoutes = require('./routes/catalogRoutes'); // Import catalog-related routes +const userRoutes = require('./routes/userRoutes'); // Import user-related routes +const cartRoutes = require('./routes/cartRoutes'); // Import shopping cart routes +const orderRoutes = require('./routes/orderRoutes'); // Import order-related routes +// Set the public path for serving static files const publicPath = path.join(__dirname, '..', 'frontend', 'public'); const port = process.env.PORT || 5000; +// Create an instance of the Express application const app = express(); let connectionRetries = 0; +// Function to connect to the MongoDB database with retry mechanism const connectWithRetry = () => { console.log('CONNECTING TO DB...'); @@ -33,6 +38,7 @@ const connectWithRetry = () => { connectionRetries++; + // Retry connection with a delay if the number of retries is within a limit if (connectionRetries <= 4) { setTimeout(connectWithRetry, 5000); } else { @@ -41,9 +47,11 @@ const connectWithRetry = () => { }); }; +// Initial database connection attempt connectWithRetry(); -app.use(cors()); +// Middleware setup +app.use(cors()); // Enable Cross-Origin Resource Sharing app.use(bodyParser.urlencoded({ extended: true })); app.use( bodyParser.json({ @@ -51,12 +59,14 @@ app.use( type: 'application/json', }), ); -app.use(express.static(publicPath)); +app.use(express.static(publicPath)); // Serve static files +// Define routes for different modules app.use('/api/auth', authRoutes); app.use('/api/catalog', catalogRoutes); app.use('/api/user', userRoutes); app.use('/api/cart', cartRoutes); app.use('/api/order', orderRoutes); +// Start the server and listen on the specified port app.listen(port, () => console.log(`SERVER NOW RUNNING ON PORT ${port}...`));