In the root directory:
mkdir backend
cd backend
then type: npm init -y
npm install express cors mongodb dotenv
npm install -g nodemon
write the following line in package.json after "main":"index.js" :
"type":"module",
Now, create server.js file inside backend folder.
Write the following code in server.js file:
// starts here
import express from "express";
import cors from "cors"
import restaurants from "./api/restaurants.route.js"
const app = express();
app.use(cors());
app.use(express.json());
app.use("/api/v1/restaurants", restaurants);
app.use("*",(req,res) => res.status(404).json({error: "Not found!"}) );
export default app;
// ends here
create .env file and write:
RESTREVIEWS_DB_URI=mongodb+srv://ipritpritam:ipritpritam@cluster0.twcdr.mongodb.net/sample_restaurants?retryWrites=true&w=majority
RESTREVIEWS_NS=sample_restaurants
PORT=5000
then, create index.js in the backend folder and write the following:
// starts here
import app from "./server.js"
import mongodb from "mongodb"
import dotenv from "dotenv"
dotenv.config()
const MongoClient = mongodb.MongoClient
const port = process.env.PORT || 8000
MongoClient.connect(
process.env.RESTREVIEWS_DB_URI,
{
// poolSize: 50,// 50 people can connect at a time
// wtimeout: 2500,
maxPoolSize:50,
wtimeoutMS:2500,
// useNewUrlParse: true
}
)
.catch(err => {
console.error(err.stack);
process.exit(1);
})
.then(async client => {
app.listen(port, () => {
console.log(`listening on port ${port}`);
});
});
// ends here
create a api folder inside backend folder then, create a file called 'restaurants.route.js'.
Inside restaurants.route.js write the following lines of code:
// starts here
import express from "express"
const router = express.Router();
router.route("/").get((req,res) => res.send("Hello World"));
export default router;
// ends here
Then run: nodemon server
and see the url: http://localhost:5000/api/v1/restaurants
Comments
Post a Comment