| ```javascript |
| const express = require('express'); |
| const bodyParser = require('body-parser'); |
| const cors = require('cors'); |
| const app = express(); |
| |
| // Middleware |
| app.use(cors()); |
| app.use(bodyParser.json()); |
| app.use(express.static('public')); |
| |
| // Mock database for subscriptions |
| let subscriptions = []; |
| |
| // API Routes |
| app.post('/api/subscribe', (req, res) => { |
| const { email } = req.body; |
| |
| if (!email) { |
| return res.status(400).json({ error: 'Email is required' }); |
| } |
| |
| // Check if email already exists |
| if (subscriptions.includes(email)) { |
| return res.status(400).json({ error: 'Email already subscribed' }); |
| } |
| |
| // Add to subscriptions |
| subscriptions.push(email); |
| console.log('New subscription:', email); |
| |
| res.status(200).json({ message: 'Subscription successful' }); |
| }); |
| |
| // Start server |
| const PORT = process.env.PORT || 3000; |
| app.listen(PORT, () => { |
| console.log(`Server running on port ${PORT}`); |
| }); |
| ``` |