1
+ require ( 'dotenv' ) . config ( ) ;
2
+
3
+ const express = require ( 'express' ) ;
4
+ const expressLayout = require ( 'express-ejs-layouts' ) ;
5
+ const methodOverride = require ( 'method-override' ) ;
6
+ const cookieParser = require ( 'cookie-parser' ) ;
7
+ const session = require ( 'express-session' ) ;
8
+ const MongoStore = require ( 'connect-mongo' ) ;
9
+
10
+ const connectDB = require ( './server/config/db' ) ;
11
+ const { isActiveRoute } = require ( './server/helpers/routeHelpers' ) ;
12
+
13
+ const app = express ( ) ;
14
+ const PORT = 5000 || process . env . PORT ;
15
+
16
+ connectDB ( ) ;
17
+
18
+ app . use ( express . urlencoded ( { extended : true } ) ) ;
19
+ app . use ( express . json ( ) ) ;
20
+ app . use ( cookieParser ( ) ) ;
21
+ app . use ( methodOverride ( '_method' ) ) ;
22
+
23
+ app . use ( session ( {
24
+ secret : 'keyboard cat' ,
25
+ resave : false ,
26
+ saveUninitialized : true ,
27
+ store : MongoStore . create ( {
28
+ mongoUrl : process . env . MONGODB_URI
29
+ } ) ,
30
+ // cookie: { maxAge: new Date ( Date.now() + (3600000) ) }
31
+ // Date.now() - 30 * 24 * 60 * 60 * 1000
32
+ } ) ) ;
33
+
34
+ app . use ( express . static ( 'public' ) ) ;
35
+
36
+ app . locals . isActiveRoute = isActiveRoute ;
37
+
38
+ // templating Engine
39
+ app . use ( expressLayout ) ;
40
+ app . set ( 'layout' , './layouts/main' ) ;
41
+ app . set ( 'view engine' , 'ejs' ) ;
42
+
43
+ app . use ( '/' , require ( './server/routes/main' ) ) ;
44
+ app . use ( '/' , require ( './server/routes/admin' ) ) ;
45
+
46
+ app . listen ( PORT , ( ) => {
47
+ console . log ( `App listening on port ${ PORT } ` )
48
+ } ) ;
0 commit comments