index.js

/**
 * @fileoverview Point d'entrée principal de l'application Express
 * @module index
 */

const express = require('express')
const cors = require('cors');
const app = express()
const port = 3000

/**
 * Configuration CORS pour permettre les requêtes cross-origin
 */
app.use(cors({
  origin: '*', // adapte selon ton frontend
  credentials: true
}));

require('dotenv').config()

/**
 * Variables d'environnement pour la connexion MongoDB
 */
const MONGO_URI = process.env.MONGO_URI
const MONGO_USER = process.env.MONGO_USER
const MONGO_PASSWORD = process.env.MONGO_PASSWORD

/**
 * Configuration et connexion à la base de données MongoDB
 */
const mongoose = require('mongoose')
mongoose.connect('mongodb+srv://'+MONGO_USER+':'+MONGO_PASSWORD+'@'+MONGO_URI)
const db = mongoose.connection
db.on('error', (err) => {console.log('Error connecting to MongoDB', err)})
db.on('open', () => {console.log('connected to MongoDB')})

app.use(express.json())

/**
 * Import des routes
 */
const userRouter = require('./routes/user_route')
const billRouter = require('./routes/bill_route')
const authenticationRouter = require('./routes/authentication_route')

/**
 * Configuration des routes de l'API
 */
app.use('/api/users', userRouter)
app.use('/api/bills', billRouter)
app.use('/api/login', authenticationRouter)

/**
 * Route racine
 * @name GET /
 * @function
 */
app.get('/',(req,res) => {
    res.send('<h1>Bienvenue sur l\'API GSB</h1>')
})

/**
 * Démarrage du serveur
 */
app.listen(port, () =>{
    console.log(`Serveur démarré sur http://127.0.0.1:${port}`)
})