require('dotenv').config() const express = require('express') const app = express() const port = 8080 const rateLimiter = require('express-rate-limit') const limiter = (min, count) => { return rateLimiter({ windowMs: min * 60 * 1000, max: count, message: 'Too many requests, please try again later.', standardHeaders: true, legacyHeaders: false, }) } const cookieParser = require('cookie-parser') app.use(cookieParser()) app.use(express.json()); app.use(express.static('public')) app.get('/login', (req, res) => { res.sendFile('login.html', { root: './public' }) }) app.get('/home', (req, res) => { res.sendFile('home.html', { root: './public' }) }) app.get('/people', (req, res) => { res.sendFile('people.html', { root: './public' }) }) app.get('/profile', (req, res) => { res.sendFile('profile.html', { root: './public' }) }) app.use('/api', limiter(1,60)) app.use('/api/register', limiter(60, 5)) app.use('/api/login', limiter(10, 5)) const api = require('./src/api.js') app.use('/api', api); app.use((req, res, next) => { res.status(404).sendFile('404.html', { root: './public' }) }) app.listen(port, () => { console.log(`App listening on port http://127.0.0.1:${port}`) })