Skip to content
Snippets Groups Projects
Commit 1cf47570 authored by 심재엽's avatar 심재엽
Browse files

refactor: CORS 설정, MongoDB 연결 후 서버 시작

parent ffbac726
No related branches found
No related tags found
2 merge requests!31Develop,!11[#9] 번개모임, 채팅 로직 구현
// app.js // app.js
require('dotenv').config(); require('dotenv').config();
...@@ -7,10 +6,23 @@ const express = require('express'); ...@@ -7,10 +6,23 @@ const express = require('express');
const session = require('express-session'); const session = require('express-session');
const passport = require('./passport'); // 변경된 경로 const passport = require('./passport'); // 변경된 경로
const flash = require('connect-flash'); const flash = require('connect-flash');
const { initScheduleCleaner } = require('./utils/scheduler'); // 유동 스케줄 자동 삭제 유틸 const { initScheduleCleaner } = require('./utils/scheduler');
const connectMongoDB = require('./config/mongoose'); // MongoDB 연결
const { sequelize } = require('./config/sequelize'); // Sequelize 연결
const cors = require('cors');
const app = express(); const app = express();
// CORS 설정
app.use(
cors({
origin: 'http://localhost:3000', // 허용할 도메인 설정 (예: 프론트엔드 주소)
methods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'],
allowedHeaders: ['Content-Type', 'Authorization'],
credentials: true, // 쿠키와 인증 정보를 허용하려면 true로 설정
})
);
// 미들웨어 설정 // 미들웨어 설정
app.use(express.json()); app.use(express.json());
...@@ -35,28 +47,43 @@ app.use(flash()); ...@@ -35,28 +47,43 @@ app.use(flash());
/** /**
* 라우터 등록 * 라우터 등록
*/ */
// 로그인 라우터
const authRoutes = require('./routes/auth'); const authRoutes = require('./routes/auth');
app.use('/auth', authRoutes); app.use('/auth', authRoutes);
// Schedule 라우터
const scheduleRoutes = require('./routes/schedule'); const scheduleRoutes = require('./routes/schedule');
app.use('/api/schedule', scheduleRoutes); app.use('/api/schedule', scheduleRoutes);
// Friend 라우터
const friendRoutes = require('./routes/friend'); const friendRoutes = require('./routes/friend');
app.use('/api/friend', friendRoutes); app.use('/api/friend', friendRoutes);
const meetingRoutes = require('./routes/meetingRoute');
app.use('/api/meeting', meetingRoutes);
const chatRoutes = require('./routes/chatRoute');
app.use('/api/chat', chatRoutes);
// 스케줄 클리너 초기화
initScheduleCleaner(); initScheduleCleaner();
const PORT = process.env.PORT || 3000; const PORT = process.env.PORT || 3000;
app.get('/', (req, res) => { // MongoDB 및 MySQL 연결 후 서버 시작
res.send('Hello, World!'); (async () => {
}); try {
// MongoDB 연결
app.listen(PORT, () => { await connectMongoDB();
console.log(`Server is running on http://localhost:${PORT}`); console.log('✅ MongoDB 연결 성공');
});
// MySQL 연결 확인
await sequelize.authenticate();
console.log('✅ MySQL 연결 성공');
// 서버 시작
app.listen(PORT, () => {
console.log(`Server is running on http://localhost:${PORT}`);
});
} catch (error) {
console.error('❌ 서버 시작 중 오류 발생:', error);
process.exit(1);
}
})();
\ No newline at end of file
...@@ -2,17 +2,17 @@ ...@@ -2,17 +2,17 @@
const mongoose = require('mongoose'); const mongoose = require('mongoose');
mongoose.connect(process.env.MONGO_URI, { const connectMongoDB = async () => {
useNewUrlParser: true, try {
useUnifiedTopology: true, await mongoose.connect(process.env.MONGODB_URI, {
}); useNewUrlParser: true,
useUnifiedTopology: true,
});
console.log('✅ MongoDB 연결 성공');
} catch (error) {
console.error('❌ MongoDB 연결 실패:', error);
throw error;
}
};
mongoose.connection.on('connected', () => { module.exports = connectMongoDB;
console.log('Mongoose connected.'); \ No newline at end of file
});
mongoose.connection.on('error', (err) => {
console.error('Mongoose connection error:', err);
});
module.exports = mongoose;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment