/** * This is the entrypoint for 'DDStats'. * DDStats is a custom API that servers statistics from the DDRace Network- * @author BurnyLlama */ import express from 'express' import dotenv from 'dotenv' import njk from 'nunjucks' import sqlite2mongo from './libs/database/sqlite2mongo.js' import databaseInit from './libs/database/init.js' import initLog from './libs/utils/log.js' import api from './api/api.js' import routes from './routes/routes.js' import { initWorkers } from './libs/utils/multithread.js' const log = initLog("[ MAIN ]") // Read the .env file dotenv.config() // await databaseInit() initWorkers(process.env.THREADS ?? 4) if (process.env.LOAD_DB === "true") await sqlite2mongo() const Server = express() njk.configure( 'views', { autoescape: true, express: Server, lstripBlocks: true, trimBlocks: true } ) Server.use('/', routes) Server.use('/assets', express.static('static')) Server.use('/api', api) Server.listen(process.env.PORT ?? 12345, () => log(`Server started and listening on port ${process.env.PORT}.`))