diff --git a/models/chatRooms.js b/models/chatRooms.js
new file mode 100644
index 0000000000000000000000000000000000000000..ca68c3941a49d64f8abd4806c399793c03590301
--- /dev/null
+++ b/models/chatRooms.js
@@ -0,0 +1,21 @@
+const mongoose = require('mongoose');
+
+// MongoDB 채팅방 스키마 수정 (현재 참가 중인 유저 목록 추가)
+const chatRoomsSchema = new mongoose.Schema({
+  chatRoomId: { type: String, required: true, unique: true },
+  messages: [{
+    sender: String,
+    message: String,
+    timestamp: Date,
+    type: { type: String, default: 'message' }  // 기본값은 'message', 다른 값으로 'join', 'leave' 가능
+  }],
+  participants: [{ type: String }],
+  lastReadAt: { type: Map, of: Date }, // 각 참가자의 마지막 읽은 메시지 시간 기록
+  lastReadLogId: { type: Map, of: String },  // 각 참가자의 마지막으로 읽은 logID 기록
+  isOnline: { type: Map, of: Boolean } // 각 참가자의 온라인 상태
+}, { collection: 'chatrooms' });
+
+// 모델이 이미 정의되어 있는 경우 재정의하지 않음
+const ChatRooms = mongoose.models.ChatRooms || mongoose.model('ChatRooms', chatRoomsSchema);
+
+module.exports = ChatRooms;
\ No newline at end of file
diff --git a/models/meeting.js b/models/meeting.js
index 7944e355fef21458c8550ce46bbb6eeb7e3cbc46..14c50b58aa78c52bd14340c678778a49a8d1c994 100644
--- a/models/meeting.js
+++ b/models/meeting.js
@@ -1,10 +1,15 @@
 // models/Meeting.js
 
 const { DataTypes } = require('sequelize');
-const sequelize = require('../config/sequelize');
+const { sequelize } = require('../config/sequelize');
 const User = require('./User');
 
 const Meeting = sequelize.define('Meeting', {
+  id: {
+    type: DataTypes.BIGINT,
+    primaryKey: true,
+    autoIncrement: true,
+  },
   title: {
     type: DataTypes.STRING,
     allowNull: false,
@@ -30,12 +35,34 @@ const Meeting = sequelize.define('Meeting', {
     type: DataTypes.ENUM('OPEN', 'CLOSE'),
     allowNull: false,
   },
+  created_by: {
+    type: DataTypes.BIGINT,
+    allowNull: false,
+    references: {
+      model: 'Users',
+      key: 'id',
+    },
+  },
+  chatRoomId: { // 새로운 필드 추가
+    type: DataTypes.STRING,
+    allowNull: false,
+  },
 }, {
   tableName: 'Meetings',
   timestamps: false,
 });
 
-Meeting.belongsTo(User, { foreignKey: 'created_by', as: 'creator' });
-User.hasMany(Meeting, { foreignKey: 'created_by', as: 'meetings' });
 
-module.exports = Meeting;
+// 연관 관계 설정
+Meeting.associate = (models) => {
+  Meeting.belongsTo(models.User, {
+    foreignKey: 'created_by', // FK 설정
+    as: 'creator', // 별칭
+  });
+  Meeting.hasMany(models.MeetingParticipant, {
+    foreignKey: 'meeting_id',
+    as: 'participants',
+  });
+};
+
+module.exports = Meeting;
\ No newline at end of file
diff --git a/models/meetingParticipant.js b/models/meetingParticipant.js
index 716a4420b9c9205398cd8d426b0e7ef4c349fad0..15c93c13aa7e6721fb250422333bcd772ffc0f1c 100644
--- a/models/meetingParticipant.js
+++ b/models/meetingParticipant.js
@@ -1,19 +1,32 @@
 // models/MeetingParticipant.js
 
 const { DataTypes } = require('sequelize');
-const sequelize = require('../config/sequelize');
-const Meeting = require('./Meeting');
-const User = require('./User');
+const { sequelize } = require('../config/sequelize');
 
-const MeetingParticipant = sequelize.define('MeetingParticipant', {}, {
+const MeetingParticipant = sequelize.define('MeetingParticipant', {
+  meeting_id: {
+    type: DataTypes.BIGINT,
+    allowNull: false
+  },
+  user_id: {
+    type: DataTypes.BIGINT,
+    allowNull: false
+  }
+}, {
   tableName: 'MeetingParticipants',
   timestamps: false,
 });
 
-MeetingParticipant.belongsTo(Meeting, { foreignKey: 'meeting_id', as: 'meeting' });
-Meeting.hasMany(MeetingParticipant, { foreignKey: 'meeting_id', as: 'participants' });
+MeetingParticipant.associate = (models) => {
+  MeetingParticipant.belongsTo(models.Meeting, {
+    foreignKey: 'meeting_id',
+    as: 'meeting'
+  });
 
-MeetingParticipant.belongsTo(User, { foreignKey: 'user_id', as: 'user' });
-User.hasMany(MeetingParticipant, { foreignKey: 'user_id', as: 'meetingParticipations' });
+  MeetingParticipant.belongsTo(models.User, {
+    foreignKey: 'user_id',
+    as: 'participantUser'
+  });
+};
 
 module.exports = MeetingParticipant;
diff --git a/models/user.js b/models/user.js
index fbf92c144d9a6de814321390a784bc4c66c5d2eb..cb14b0bc547c79ac88535d4d88c4a4331e6d113a 100644
--- a/models/user.js
+++ b/models/user.js
@@ -1,9 +1,14 @@
 // models/User.js
 
 const { DataTypes } = require('sequelize');
-const sequelize = require('../config/sequelize'); // sequelize 인스턴스 경로에 맞게 수정하세요.
+const { sequelize } = require('../config/sequelize'); 
 
 const User = sequelize.define('User', {
+  id: {
+    type: DataTypes.BIGINT, // 수정: id 필드를 BIGINT로 설정
+    autoIncrement: true,
+    primaryKey: true,
+  },
   name: {
     type: DataTypes.STRING, // VARCHAR
     allowNull: false,
@@ -21,4 +26,17 @@ const User = sequelize.define('User', {
   timestamps: true, // createdAt과 updatedAt 자동 관리
 });
 
+User.associate = (models) => {
+  User.hasMany(models.Meeting, {
+    foreignKey: 'created_by', 
+    as: 'createdMeetings', 
+  });
+
+  User.hasMany(models.MeetingParticipant, {
+    foreignKey: 'user_id',
+    as: 'userMeetingParticipations', 
+  });
+};  
+
+
 module.exports = User;