// OwlBoard - © Fred Boniface 2022 - Licensed under GPLv3 (or later) // Please see the included LICENSE file statically served fonts are // licensed separately, each folder contains a license file // Load & prepare modules: const express = require('express'); const app = express(); const config = require('./src/configs/server.configs'); const version = require('./src/configs/version.configs'); const testRtr = require('./src/routes/test.routes'); const listRtr = require('./src/routes/list.routes'); // TESTING ONLY const corpus = require('./src/utils/corpus.utils'); corpus.getCorpus(); // Print version number: console.log(`Starting OwlBoard - App Version: ${version.app} - API versions: ${version.api}`); // Check database: // Check for presece of DB Credentials // Check tables are correct // Build lookup table is not present or if not been updated in X time. // Error Handling: app.use((err, req, res, next) => { const statusCode = err.statuscode || 500; console.error(err.message, err.stack); res.status(statusCode).json({'message': err.message}); return; }); // Submodules: app.use(express.json()); //JSON Parsing for POST Requests app.use(express.static('static')); //Serve static content from static // Point to Routes app.use('/api/v1/test', testRtr); app.use('/api/v1/list', listRtr); // Start server app.listen(config.port, config.listen, (error) =>{ if(!error) { console.log(`Started server on http://${config.listen}:${config.port}`); } else { console.log("Error occurred, server can't start", error); } });