-
Notifications
You must be signed in to change notification settings - Fork 0
/
server.js
58 lines (49 loc) · 1.68 KB
/
server.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
const express=require("express");
const app=express();
const morgan=require("morgan");
const mongoose=require("mongoose");
const cors=require("cors")
require("dotenv").config();
const bodyParser=require("body-parser");
const cookieParser=require("cookie-parser");
const expressValidator = require('express-validator');
const path = require('path');
//import router
const authRoutes=require("./routes/auth");
const userRoutes=require("./routes/user");
const categoryRoutes=require("./routes/category");
const productRoutes=require("./routes/product")
const braintreeRoutes=require("./routes/braintree")
const orderRoutes=require("./routes/order")
//middleware
app.use(morgan('dev'));
app.use(bodyParser.json());
app.use(cookieParser());
app.use(expressValidator());
app.use(cors());
mongoose.connect(process.env.MONGO_URL||"mongodb+srv://tusher:[email protected]/ecommerce>?retryWrites=true&w=majority",{
useNewUrlParser:true,
useCreateIndex:true,
useUnifiedTopology: true
}).then(()=>{
console.log("database connected");
})
//routes middleware
app.use('/api',authRoutes);
app.use('/api',userRoutes);
app.use("/api",categoryRoutes);
app.use("/api",productRoutes);
app.use('/api',braintreeRoutes)
app.use('/api',orderRoutes)
//running node app on the server
// Server static assets if in production
if (process.env.NODE_ENV === 'production') {
// Set static folder
app.use(express.static('client/build'));
app.get('*', (req, res) => {
res.sendFile(path.resolve(__dirname, 'client', 'build', 'index.html'));
});
}
const port=process.env.PORT||8000;
app.listen(port,()=>console.log(`the app is running on port ${port}`));
//connecting mongo db