-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
48 lines (38 loc) · 1.33 KB
/
app.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
const express = require('express');
const helmet = require('helmet');
require('dotenv/config');
const morgan = require('morgan');
const cors = require('cors');
const authJwtMiddleware = require('./server/middleware/jwt.js');
const jwtErrorHandler = require('./server/middleware/jwtErrorHandler.js');
const app = express();
/// CROSS-ORIGIN
app.use(cors());
app.options('*',cors());
// ENVIRONMENTS
const api = process.env.API_URL;
const port = process.env.PORT || 3000;
/// IMPORT ROUTES
const productRoutes = require('./server/routes/productsRoute');
const usersRoutes = require('./server/routes/usersRoute');
const ordersRoutes = require('./server/routes/ordersRoute');
const categoriesRoutes = require('./server/routes/categoriesRoutes');
/// MIDDLEWARE
app.use(express.json());
app.use(morgan('tiny'));
app.use(authJwtMiddleware());
app.use("/public/uploads", express.static(`${__dirname}/public/uploads`));
app.use(jwtErrorHandler);
app.use(helmet());
/// ROUTES
app.use(`${api}/products`, productRoutes);
app.use(`${api}/users`, usersRoutes);
app.use(`${api}/orders`, ordersRoutes);
app.use(`${api}/category`, categoriesRoutes);
/// DATABASE CONNECTION
const dbConnection = require('./server/databaseConfig/mongoose');
dbConnection().then();
/// RUN THE SERVER
app.listen(port,()=>{
console.log(`app running on ${process.env.HOST}:${port}`);
});