const express = require('express'); const cors = require('cors'); const dotenv = require('dotenv'); const authRoutes = require('./src/routes/authRoutes'); const profileRoutes = require('./src/routes/profileRoutes'); dotenv.config(); const app = express(); const PORT = process.env.PORT || 3000; // Middleware app.use(cors()); app.use(express.json()); app.use(express.urlencoded({ extended: true })); // Security Middleware const helmet = require('helmet'); const rateLimit = require('express-rate-limit'); // 1. Basic Security Headers app.use(helmet()); // 2. Rate Limiting (100 requests per 15 min) const limiter = rateLimit({ windowMs: 15 * 60 * 1000, max: 100, standardHeaders: true, legacyHeaders: false, message: "Too many requests from this IP, please try again after 15 minutes" }); app.use(limiter); // Routes app.use('/', authRoutes); app.use('/', profileRoutes); app.use('/', require('./src/routes/locationRoutes')); app.use('/api', require('./src/routes/stressRoutes')); // Stress Test Endpoint app.get('/', (req, res) => { res.send("🔥 Node.js API Backend Running 🔥"); }); app.listen(PORT, () => { console.log(`Servidor corriendo en puerto ${PORT}`); });