ExpressTemplate/app.js

81 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 cookieParser = require("cookie-parser");
const mysql = require("mysql2");
const path = require("path");
// Classes
const { DatabaseInstance } = require("./Structures/Classes/DatabaseInstance");
// 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 }));
app.use(cookieParser());
//------------------------------------------------>
// Initialize database
//------------------------------------------------>
const db = new DatabaseInstance({
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
});
//------------------------------------------------>
// 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}`);
});