-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.js
51 lines (43 loc) · 1.72 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
49
50
51
// Création du serveur
const express = require('express')
// Icône du site
const favicon = require('serve-favicon')
// Analyse les requêtes entrantes
const bodyParser = require('body-parser')
// Configuration pour la DB
const sequelize = require('./src/db/sequelize')
// Gérer les requêtes cross-origin
const cors = require('cors')
// Création d'une nouvelle instance d'Express
const app = express()
// Port d'écoute depuis une variable d'environnement ou port par défaut
const port = process.env.PORT || 3000
// Configuration de l'application Express
app
.use(favicon(__dirname + '/favicon.ico'))
// Analyser les requêtes JSON entrantes
.use(bodyParser.json())
// Activation de CORS pour toutes les routes
.use(cors())
// Initialisation de la base de données avec Sequelize
sequelize.initDb()
// Route principale qui renvoie un message de bienvenue
app.get('/', (req, res) =>{
res.json('Hello Heroku !')
})
// Importation et configuration des routes pour les opérations CRUD sur les Pokémons
require('./src/routes/findAllPokemons')(app)
require('./src/routes/findPokemonByPk')(app)
require('./src/routes/createPokemon')(app)
require('./src/routes/updatePokemon')(app)
require('./src/routes/deletePokemon')(app)
require('./src/routes/login')(app)
// Importation et configuration de la route pour la connexion
require('./src/routes/login')(app)
// Gestion des erreurs 404 pour les requêtes non reconnues
app.use(({res}) =>{
const message = "Impossible de trouver la ressource demandée. Vous pouvez essayer une autre URL."
res.status(404).json({message})
})
// Démarrage du serveur Express sur le port spécifié
app.listen(port, () => console.log(`Notre application Node est démarrée sur http://localhost:${port}`));