43 lines
1.3 KiB
JavaScript
43 lines
1.3 KiB
JavaScript
// Chargement des variables d'environnement depuis .env
|
|
require('dotenv').config();
|
|
|
|
// Importation des modules nécessaires
|
|
const express = require('express');
|
|
const path = require('path');
|
|
|
|
// Importation des modules personnalisés
|
|
const jwtMiddleware = require('./middlewares/jwtMiddleware');
|
|
const logger = require('./utils/logger');
|
|
const { db } = require('./db/db-connect');
|
|
const routes = require('./routes');
|
|
|
|
// Initialisation de l'application Express
|
|
const app = express();
|
|
|
|
// Configuration du moteur de rendu HTML avec EJS
|
|
app.set('view engine', 'ejs');
|
|
app.engine('ejs', require('ejs').__express);
|
|
|
|
// Configuration pour la gestion des corps de requêtes en JSON
|
|
app.use(express.json());
|
|
app.use(express.urlencoded({ extended: true }));
|
|
|
|
// Middlewares on use
|
|
app.use(jwtMiddleware);
|
|
|
|
// Spécification du dossier contenant les fichiers statiques pour le frontend
|
|
app.use(express.static(path.join(process.cwd(), 'public')));
|
|
|
|
// Initialisation de Materialize CSS pour le frontend
|
|
app.use('/materialize', express.static(path.join(process.cwd(), 'public/css/materialize-css/dist')));
|
|
|
|
app.use('/', routes);
|
|
|
|
// Middleware pour la gestion des erreurs
|
|
app.use((err, req, res, next) => {
|
|
logger.log('error', err.stack);
|
|
res.status(500).send('Quelque chose a mal tourné !');
|
|
});
|
|
|
|
module.exports = app;
|