first commit
This commit is contained in:
46
backend/src/index.ts
Normal file
46
backend/src/index.ts
Normal file
@@ -0,0 +1,46 @@
|
||||
import { Server } from "rjweb-server";
|
||||
import { Runtime } from "@rjweb/runtime-node";
|
||||
import * as dotenv from "dotenv";
|
||||
import * as mongoDB from "mongodb";
|
||||
import { env } from "node:process";
|
||||
|
||||
dotenv.config({ path: "../.env" });
|
||||
|
||||
export const config = {
|
||||
CookieDomain: env.COOKIE_DOMAIN || "localhost"
|
||||
}
|
||||
|
||||
const client: mongoDB.MongoClient = new mongoDB.MongoClient(
|
||||
env.DB_CONN_STRING!
|
||||
);
|
||||
|
||||
const db: mongoDB.Db = client.db("exams_db");
|
||||
|
||||
const COOKIENAME = "exams_session";
|
||||
export { db, client, COOKIENAME };
|
||||
|
||||
const server = new Server(Runtime, {
|
||||
port: 8080,
|
||||
});
|
||||
|
||||
export const fileRouter = new server.FileLoader("/")
|
||||
.load("./routes", { fileBasedRouting: false })
|
||||
.export();
|
||||
|
||||
server.path("/", (path) =>
|
||||
path.static("../../frontend/dist", {
|
||||
stripHtmlEnding: true,
|
||||
})
|
||||
);
|
||||
|
||||
server.notFound(async (ctr) => {
|
||||
return ctr
|
||||
.status(200, "maybe frontend?")
|
||||
.printFile("../../frontend/dist/index.html", { addTypes: true });
|
||||
});
|
||||
|
||||
server.start().then(async (port) => {
|
||||
await client.connect();
|
||||
|
||||
console.log(`Server started on port ${port}!`);
|
||||
});
|
||||
Reference in New Issue
Block a user