initial upload

This commit is contained in:
Kai Waggeling 2025-05-17 16:40:38 +02:00
parent 4c2141d89d
commit 2a9bd4e81b
33 changed files with 1238 additions and 0 deletions

69
master.mjs Normal file
View file

@ -0,0 +1,69 @@
// Load WebServer
import {
default as express
} from "express";
// Load Templating Engine
import {
default as nunjucks
} from "nunjucks";
import {
router
} from "express-file-routing"
import sessions from "express-session";
// Initialize WebServer
const expressApp = express();
const expressPort = 3000;
// Configure Templating Engine
nunjucks.configure('./', {
autoescape: false,
express: expressApp,
noCache: true
});
// Enable Express Sessions
expressApp.use(sessions({
secret: 'keyboard cat',
resave: false,
rolling: true,
saveUninitialized: false,
cookie: {
secure: false,
maxAge: 1800 * 1000,
httpOnly: true
}
}))
// Enable Cross Origins
expressApp.use((req, res, next) => {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE");
res.header("Access-Control-Allow-Headers", "Content-Type, Authorization");
next();
});
// Mount Middlewares to WebServer
expressApp.use(express.urlencoded());
expressApp.use(express.json());
expressApp.use(express.static('./assets/'))
expressApp.use((request, response, next) => {
request.isLoginCompleted = () => {
if (typeof request.session.login == 'object' && request.session.login.completed) {
return true;
} else {
return false;
}
}
next();
})
expressApp.use("/", await router())
// Server starten
expressApp.listen(expressPort, () => {
console.log(`Server is listening on port ${expressPort}`);
});