-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathserver.js
More file actions
122 lines (84 loc) · 3.25 KB
/
server.js
File metadata and controls
122 lines (84 loc) · 3.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
require('dotenv').config();
const express = require('express');
const cors = require('cors');
const path = require('path');
const connectDB = require('./config/db');
const { setupSocket } = require('./server/socket');
const chatRoutes = require('./routes/chatRoutes');
const petFiles = require('./routes/petFiles');
const reminderService = require('./services/reminderService');
const app = express();
connectDB();
// app.use(cors());
app.use(cors({
origin: [
"http://localhost:3000",
"http://localhost:5173", // Vite dev server
"http://127.0.0.1:5500",
"http://localhost:5500",
"http://localhost:5001",
"https://your-production-frontend.com" // ADD YOUR PRODUCTION DOMAIN
],
credentials: true
}));
app.use(express.json());
// // app.use(express.static(__dirname));
// app.use(express.static(path.join(__dirname, '../Frontend')));
// Routes
app.use('/api/auth', require('./routes/auth'));
app.use('/api/pets', require('./routes/pets'));
app.use("/api/users", require("./routes/userroutes"));
app.use('/api/organizations', require('./routes/organizations'));
// adoptionRoutes
app.use('/api/adoptions', require('./routes/adoptions'));
// vet
app.use('/api/vet', require('./routes/vet'));
app.use('/api/pet-files', require('./routes/petFiles'));
const activityLogRoutes = require('./routes/activityLog');
app.use('/api/activitylogs', activityLogRoutes);
// In your server.js file, add this line with your other routes:
app.use('/api/notifications', require('./routes/notificationRoutes'));
// chat routes
app.use('/api/chats', require('./routes/chatRoutes'));
// foster chat routes
app.use('/api/foster-chats', require('./routes/fosterChatRoutes'));
// trainer routes
app.use('/api/trainer', require('./routes/trainer'));
// admin route
app.use('/api/admin', require('./routes/admin'));
// Serve frontend for testing
app.get('/', (req, res) => {
res.sendFile(path.join(__dirname, '../Frontend/orientation.html'));
});
// training
app.use('/api/training', require('./routes/trainingRoutes'));
// training route
const trainingRequestRoutes = require('./routes/trainingRequestRoutes');
// Later in the file, add to routes:
app.use('/api/training-requests', trainingRequestRoutes);
const availabilityRoutes = require('./routes/availabilityRoutes');
app.use('/api/availability', availabilityRoutes);
const agreementRoutes = require('./routes/agreements');
app.use('/api/agreements', agreementRoutes);
const paymentRoutes = require('./routes/paymentRoutes');
app.use('/api/payments', paymentRoutes);
const blockchainRoutes = require('./routes/blockchainRoutes');
app.use('/api/blockchain', blockchainRoutes);
const blockchainViewRoutes = require('./routes/blockchainViewRoutes');
app.use('/api/blockchain', blockchainViewRoutes);
// Run every hour to check for upcoming meetings
setInterval(async () => {
try {
const result = await reminderService.sendMeetingReminders();
console.log(` Sent ${result.sent} meeting reminders`);
} catch (error) {
console.error('Error in reminder service:', error);
}
}, 60 * 60 * 1000);
const PORT = process.env.PORT || 5001;
const server = app.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});
// Initialize Socket.io
setupSocket(server);
console.log('Socket.io server initialized');