-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathserver.js
68 lines (57 loc) · 2.22 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
58
59
60
61
62
63
64
65
66
67
68
/**
* @author Rafael Peralta Blanco <[email protected]>
*/
/**
Servidor en NodeJS que integra todos los routers
*/
var path = require("path"); // Para poder acceder al directorio local
var express = require('express'); // Sirve para leer los encabezados http, como las url.
var cookieParser = require('cookie-parser') // Ayuda a mantener la sesión en una cookie
var flash = require('express-flash'); // Para mandar mensajes al front-end desde el servidor
var bodyParser = require('body-parser'); // Permite recibir contenido json enviado por encabezados http
// Archivo de configuración local
var appConfig = require('./src/conf').conf;
// Middleware que verifica que exista una cuenta activa
var firewall = require('./src/controllers/firewall').firewall;
// Permite manejar la sesión
var session = require('express-session');
// Con este se conecta a la base de datos de mongo
var MongoStore = require('connect-mongo')(session);
// Router que contiene todos los routers de nuestro sistema
var router = require('./src/router');
var app = express();
// Se define el directorio en el que se encuentran las vistas para plantillas
app.set('views', path.join(__dirname, '/src/views/'));
// Usamos el engine 'EJS' para plantillas de html
app.set('view engine', 'ejs');
/** Url estatica para datos comunes**/
app.use("/public", express.static(__dirname + "/public"));
// Esto sirve para mantener la sesión
app.use(cookieParser());
app.use(session({
secret: 'keyboard god',
resave: false,
saveUninitialized: true,
cookie: {
secure: false
},
store: new MongoStore({
url: 'mongodb://'+appConfig.database.host+':'+appConfig.database.port+'/'+appConfig.database.name,
})
}));
// Permite enviar formato json por medio de los encabezados http
app.use(bodyParser.json() );
app.use(bodyParser.urlencoded({
extended: true
}));
// Activa el Middleware para enviar mensajes del servidor al front-end
app.use(flash());
/** Manejo de sesion **/
// Middleware que evita acceso no autorizado
app.use(firewall);
// Permitimos que nuestro router maneje las rutas desde la raíz
app.use('/', router);
/** **/
// Para acceder al sistema desde el navegador se hace mediante el puerto 8080
app.listen(8080);
console.log('Server ready at port 8080')