// _ // o O O _ | | ___ // o | || | / _ \ // TS__[O] _\__/ \___/ // {======|_|"""""|_|"""""| // ./o--000'"`-0-0-'"`-0-0-' // // Code written by «Johannes Reckers» //------------------------------------------------> //------------------------------------------------> // Imports //------------------------------------------------> // Packages const express = require("express"); const bodyParser = require("body-parser"); const mysql = require("mysql2"); const path = require("path"); // Config const { databaseCredentials } = require("./Structures/Config/databaseCredentials"); // Load environment variables when not using docker if (!process.env.DOCKER) { 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 and cookie-parser app.use(bodyParser.urlencoded({ extended: false })); //------------------------------------------------> // Initialize database //------------------------------------------------> const db = mysql.createConnection(databaseCredentials); db.connect((err) => { if (err) console.log(`[JET] Error occurred during initial connection: ${err}`); else console.log("[JET] Successfully connected to database"); }); db.end(); //------------------------------------------------> // Routing //------------------------------------------------> const apiRouter = require("./routes/apiRoutes"); const indexRouter = require("./routes/indexRoutes"); app.use("/api", apiRouter); app.use("/", indexRouter); //------------------------------------------------> // Start Express //------------------------------------------------> app.listen(process.env.PORT, () => { console.log(`[JET] started express on http://localhost:${process.env.PORT}`); });