80 lines
2.2 KiB
JavaScript
80 lines
2.2 KiB
JavaScript
|
// _
|
||
|
// 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 mysql = require("mysql2");
|
||
|
const path = require("path");
|
||
|
const dotenv = require("dotenv");
|
||
|
dotenv.config();
|
||
|
|
||
|
//------------------------------------------------>
|
||
|
// 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 to get req.body
|
||
|
app.use(bodyParser.urlencoded({ extended: false }));
|
||
|
|
||
|
//------------------------------------------------>
|
||
|
// 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}`);
|
||
|
});
|