const https = require('https'); const fs = require('fs'); const express = require('express'); const app = express(); const cors = require('cors'); const projectsRoutes = require('./routes/projects'); // Import the projects routes const activityRoutes = require('./routes/activity'); const contactRoutes = require('./routes/contact'); const skillsRoutes = require('./routes/skills'); const introRoutes = require('./routes/intro'); const aboutRoutes = require('./routes/about'); // Set up SSL certificate files // Define the paths to your certificate and key files const options = { key: fs.readFileSync('/app/certificates/ssl.key'), cert: fs.readFileSync('/app/certificates/ssl.crt'), }; // CORS configuration const corsOptions = { origin: ['https://api.nunoteixeira.dev', 'https://nunoteixeira.dev', 'http://localhost'], // Allow both production and local frontend methods: 'GET,POST,PUT,DELETE', credentials: true, }; // Middleware to parse JSON request bodies app.use(express.json()); // Enable CORS app.use(cors(corsOptions)); // Middleware to set Last-Modified header app.use((req, res, next) => { res.setHeader('Last-Modified', new Date().toUTCString()); next(); }); // Use the routes app.use('/', projectsRoutes); app.use('/', activityRoutes); app.use('/', contactRoutes); app.use('/', skillsRoutes); app.use('/', introRoutes); app.use('/', aboutRoutes); // Start the HTTPS server https.createServer(options, app).listen(3001, () => { console.log('Server is running on https://www.jmpteixeira.myasustor.com:3001'); });