2026-05-26 15:48:01 +05:30
|
|
|
import express from 'express';
|
|
|
|
|
import dotenv from 'dotenv';
|
|
|
|
|
import cors from 'cors';
|
2026-03-12 14:15:44 +05:30
|
|
|
|
2026-05-26 15:48:01 +05:30
|
|
|
import departmentRoutes from './routes/department.routes.js';
|
|
|
|
|
import authRoutes from './routes/auth.routes.js';
|
|
|
|
|
import blogRoutes from './routes/blog.routes.js';
|
|
|
|
|
import uploadRoutes from './routes/upload.routes.js';
|
|
|
|
|
import doctorRoutes from './routes/doctor.routes.js';
|
|
|
|
|
import careerRoutes from './routes/career.routes.js';
|
|
|
|
|
import candidateRoutes from './routes/candidate.routes.js';
|
|
|
|
|
import appointmentRoutes from './routes/appointment.routes.js';
|
|
|
|
|
import inquiryRoutes from './routes/inquiry.routes.js';
|
|
|
|
|
import academicsResearchRoutes from './routes/academicsResearch.routes.js';
|
|
|
|
|
import emailConfigRoutes from './routes/emailConfig.routes.js';
|
|
|
|
|
import newsMediaRoutes from './routes/newsMedia.routes.js';
|
|
|
|
|
import importRoutes from './routes/importRoutes.js';
|
|
|
|
|
import healthCheckRoutes from './routes/healthCheck.route.js';
|
2026-03-12 14:15:44 +05:30
|
|
|
|
|
|
|
|
dotenv.config();
|
|
|
|
|
|
|
|
|
|
const app = express();
|
|
|
|
|
|
2026-05-26 15:48:01 +05:30
|
|
|
app.use(express.json({ limit: '50mb' }));
|
|
|
|
|
app.use(express.urlencoded({ limit: '50mb', extended: true }));
|
2026-04-20 15:29:46 +05:30
|
|
|
|
2026-03-12 14:15:44 +05:30
|
|
|
const allowedOrigins = process.env.CORS_ALLOWED_ORIGINS
|
2026-05-26 15:48:01 +05:30
|
|
|
? process.env.CORS_ALLOWED_ORIGINS.split(' ')
|
|
|
|
|
: ['http://localhost:3001'];
|
2026-03-12 14:15:44 +05:30
|
|
|
|
|
|
|
|
const corsOptions = {
|
|
|
|
|
origin: function (origin, callback) {
|
|
|
|
|
if (!origin || allowedOrigins.includes(origin)) {
|
|
|
|
|
callback(null, true);
|
|
|
|
|
} else {
|
2026-05-26 15:48:01 +05:30
|
|
|
callback(new Error('Not allowed by CORS'));
|
2026-03-12 14:15:44 +05:30
|
|
|
}
|
|
|
|
|
},
|
2026-05-26 15:48:01 +05:30
|
|
|
methods: ['GET', 'POST', 'PUT', 'DELETE', 'PATCH'],
|
|
|
|
|
allowedHeaders: '*',
|
2026-03-12 14:15:44 +05:30
|
|
|
};
|
|
|
|
|
|
|
|
|
|
app.use(cors(corsOptions));
|
|
|
|
|
|
2026-05-26 15:48:01 +05:30
|
|
|
app.use('/api/departments', departmentRoutes);
|
|
|
|
|
app.use('/api/auth', authRoutes);
|
|
|
|
|
app.use('/api/blogs', blogRoutes);
|
|
|
|
|
app.use('/uploads', express.static('uploads'));
|
|
|
|
|
app.use('/api/upload', uploadRoutes);
|
|
|
|
|
app.use('/api/doctors', doctorRoutes);
|
|
|
|
|
app.use('/api/careers', careerRoutes);
|
|
|
|
|
app.use('/api/candidates', candidateRoutes);
|
|
|
|
|
app.use('/api/appointments', appointmentRoutes);
|
|
|
|
|
app.use('/api/inquiry', inquiryRoutes);
|
|
|
|
|
app.use('/api/academics', academicsResearchRoutes);
|
|
|
|
|
app.use('/api/email', emailConfigRoutes);
|
|
|
|
|
app.use('/api/newsMedia', newsMediaRoutes);
|
|
|
|
|
app.use('/api/import', importRoutes);
|
|
|
|
|
app.use('/api/health-check', healthCheckRoutes);
|
2026-03-12 14:15:44 +05:30
|
|
|
|
2026-04-23 13:30:11 +05:30
|
|
|
const PORT = process.env.PORT || 5008;
|
2026-03-12 14:15:44 +05:30
|
|
|
app.listen(PORT, () => {
|
|
|
|
|
console.log(`Server running on port ${PORT}`);
|
|
|
|
|
});
|