ExpressTemplate/app.js

85 lines
2.3 KiB
JavaScript
Raw Permalink Normal View History

2023-11-24 00:13:48 +01:00
// _
// o O O _ | | ___
// o | || | / _ \
// TS__[O] _\__/ \___/
// {======|_|"""""|_|"""""|
// ./o--000'"`-0-0-'"`-0-0-'
//
// Code written by «Johannes Reckers»
//------------------------------------------------>
//------------------------------------------------>
// Imports
//------------------------------------------------>
const express = require("express");
const bodyParser = require("body-parser");
const cookieParser = require("cookie-parser");
2023-11-24 00:13:48 +01:00
const mysql = require("mysql2");
const path = require("path");
if (!process.env.DOCKER) {
const dotenv = require("dotenv");
dotenv.config();
}
2023-11-24 00:13:48 +01:00
//------------------------------------------------>
// Express initialization & configuration
//------------------------------------------------>
// Initialize the express instance
const app = express();
// Set views directory and engine
app.set("views", path.join(__dirname, "views"));
app.set("view engine", "ejs");
//------------------------------------------------>
// Middlewares
//------------------------------------------------>
// Use body-parser and cookie-parser
2023-11-24 00:13:48 +01:00
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
2023-11-24 00:13:48 +01:00
//------------------------------------------------>
// MySQL connection
//------------------------------------------------>
//! Make extra sure these values are loaded correctly, if you experience any connection issues.
const db = mysql.createConnection({
database: process.env.DB_NAME,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
host: process.env.DB_HOST,
port: process.env.DB_PORT
});
db.connect((error) => {
if (error) {
console.error("[JET] Error connecting to MySQL database:", error);
} else {
console.log("[JET] Database connected successfully");
}
});
//------------------------------------------------>
// Routing
//------------------------------------------------>
const apiRouter = require("./routes/apiRoutes");
app.use("/api", apiRouter);
// Handle home route
app.get("/", (req, res) => {
res.render("layout");
});
//------------------------------------------------>
// Start Express
//------------------------------------------------>
app.listen(process.env.PORT, () => {
console.log(`[JET] started express on http://localhost:${process.env.PORT}`);
});