ExpressTemplate/app.js

77 lines
No EOL
2.1 KiB
JavaScript

// _
// 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}`);
});