diff --git a/app.js b/app.js
index b07c969238cd847c234bac5b05b33a6138ec6a78..f5c9b2e1454fa5ab77e7607d95bf1ffad3f6429a 100644
--- a/app.js
+++ b/app.js
@@ -21,12 +21,12 @@ app.use(cors({
     credentials: true,
 }));
 //비밀번호 변경 라우트 등록
-const passwordRoutes = require('./route/conf_password');
-//닉네임 변경 라우트 등록
-const confNameRoutes = require('./route/conf_name.js');
-//회원 탈퇴 라우트 등록
-const deleteUser = require('./route/del_user');
-//비밀번호 암호화용 모듈
+// const passwordRoutes = require('./route/conf_password');
+// //닉네임 변경 라우트 등록
+// const confNameRoutes = require('./route/conf_name.js');
+// //회원 탈퇴 라우트 등록
+// const deleteUser = require('./route/del_user');
+// //비밀번호 암호화용 모듈
 const bcrypt = require('bcrypt');
 //User define
 const User = require('./models/user');
@@ -34,15 +34,18 @@ const User = require('./models/user');
 const Trip = require('./models/trips');
 //Favorite define
 const Favorite = require('./models/favorite');
+
 // JSON 요청 본문을 파싱하는 미들웨어 추가
 app.use(express.json());
 //비밀번호 변경 라우트 추가
-app.use('/conf_password',passwordRoutes);
-//이름 변경 라우트
-app.use('/conf_name', confNameRoutes);
-//회원 탈퇴 라우트
-app.use('/del_user', deleteUser); 
-
+// app.use('/conf_password',passwordRoutes);
+// //이름 변경 라우트
+// app.use('/conf_name', confNameRoutes);
+// //회원 탈퇴 라우트
+// app.use('/del_user', deleteUser); 
+//사용자 관리 라우트
+const userManagementRoutes = require('./route/userManagement');
+app.use('/userManagement', userManagementRoutes);
 //여행 라우트
 const tripRoutes = require('./route/tripRoute'); // 라우트 파일 경로
 // Routes
@@ -59,9 +62,11 @@ app.use('/favorites', favoriteRoutes);
 const authenticateToken = require('./middleware/authMiddleware.js');
 
 // 보호된 라우트에 미들웨어 적용
-app.use('/conf_password', authenticateToken, passwordRoutes);
-app.use('/conf_name', authenticateToken, confNameRoutes);
-app.use('/del_user', authenticateToken, deleteUser);
+// app.use('/conf_password', authenticateToken, passwordRoutes);
+// app.use('/conf_name', authenticateToken, confNameRoutes);
+// app.use('/del_user', authenticateToken, deleteUser);
+
+app.use('/userManagement', authenticateToken, userManagementRoutes);
 
 //확인
 console.log('GOOGLE_CLIENT_ID:', process.env.GOOGLE_CLIENT_ID);
@@ -186,10 +191,7 @@ app.get('/dashboard', authenticateToken, (req, res) => {
 //     `);
 // });
 
-//signup 경로
-app.get('/signup', (req, res) => {
-    res.sendFile(__dirname + '/public/signup.html'); // login.html 파일 경로 설정
-});
+
 
 //session
 // app.get('/conf_password', (req, res) => {
diff --git a/controllers/userManagementController.js b/controllers/userManagementController.js
new file mode 100644
index 0000000000000000000000000000000000000000..20793d08fc0cc85a80829474a07e282540e24929
--- /dev/null
+++ b/controllers/userManagementController.js
@@ -0,0 +1,96 @@
+const express = require('express');
+const User = require('../models/user');
+const Trip = require('../models/trips');
+const Review = require('../models/review');
+const bcrypt = require('bcrypt');
+const path = require('path'); // 경로 처리 모듈 추가
+
+const router = express.Router();
+
+// router.get('/change', (req, res) => {
+
+//     // 닉네임 변경 HTML 파일 반환
+//     res.sendFile(path.join(__dirname, '../public/conf_name.html')); // HTML 파일 경로 설정
+// });
+
+//사용자 이름 변경(닉네임)
+exports.changeName = async (req, res) => {
+    const { name, newName } = req.body;
+
+    const user = await User.findOne({ name });
+
+    try {
+        if (!name || !newName) {
+            return res.status(400).json({message: '유효하지 않은 요청입니다.'});
+        }
+
+
+        user.name = newName;
+        await user.save();
+
+        res.status(200).json({ message: ' 이름이 성공적으로 변경되었습니다.', user});
+        console.log('이름 변경 완료', user);
+    } catch(error) {
+        console.error('이름 변경 오류', error);
+        res.status(500).json({ message: '서버 오류가 발생했습니다.'});
+    }
+};
+
+
+// 비밀번호 변경 
+exports.changePassword = async (req, res) => {
+    const { email, oldPassword, newPassword } = req.body;
+
+    try {
+        const user = await User.findOne({ email });
+        if (!user || !user.password) {
+            return res.status(400).json({ message: '사용자를 찾을 수 없거나 잘못된 요청입니다.' });
+        }
+
+        const isMatch = await bcrypt.compare(oldPassword, user.password);
+        if (!isMatch) {
+            return res.status(400).json({ message: '기존 비밀번호가 일치하지 않습니다.' });
+        }
+
+        const hashedPassword = await bcrypt.hash(newPassword, 10);
+        user.password = hashedPassword;
+
+        await user.save();
+        res.status(200).json({ message: '비밀번호가 성공적으로 변경되었습니다.' });
+        console.log('비밀번호 변경 완료',user);
+    } catch (error) {
+        console.error('비밀번호 변경 오류:', error);
+        res.status(500).json({ message: '서버 오류가 발생했습니다.' });
+    }
+};
+
+// 사용자 삭제
+exports.deleteUser = async (req, res) => {
+    const { userId } = req.params;
+
+    try {
+        // 사용자 삭제
+        const user = await User.findByIdAndDelete(userId);
+        if (!user) {
+            return res.status(404).json({ message: '사용자를 찾을 수 없습니다.' });
+        }
+
+        // 사용자가 생성한 여행 데이터 삭제 또는 상태 변경
+        await Trip.deleteMany({ create_by: userId });
+        //사용자가 작성한 리뷰 제거
+        await Review.deleteMany({ create_by: userId});
+
+        // 사용자가 공동 작업자로 포함된 경우 업데이트
+        await Trip.updateMany(
+            { collaborators: userId }, //필터링 - 지우려는 유저 아이디가 공동 작업자로 포함된경우
+            { $pull: { collaborators: userId } } // 공동 작업자 목록에서 제거
+        );
+        console.log('이 사용자를 삭제합니다: ',user);
+        res.status(200).json({ message: '사용자가 성공적으로 삭제되었습니다.' });
+    } catch (error) {
+        console.error('사용자 삭제 오류:', error);
+        res.status(500).json({ message: '서버 오류가 발생했습니다.' });
+    }
+};
+
+
diff --git a/models/trips.js b/models/trips.js
index 0cc86fdd0d0a90a4c8fb0f3ecdab0e6d2faf0a25..3d8b1841b5ee659c25c41a1ef0cb8a7e5e84b62b 100644
--- a/models/trips.js
+++ b/models/trips.js
@@ -61,9 +61,10 @@ tripSchema.pre('save', function (next) {
         const start = new Date(trip.start_date);
         const end = new Date(trip.end_date);
 
-        // 기존 `plans` 데이터를 유지
-        const plans = trip.plans || new Map();
-
+        // // 기존 `plans` 데이터를 유지
+        // const plans = trip.plans || new Map();
+        // plans가 없는 경우 초기화
+        const plans = trip.plans instanceof Map ? trip.plans : new Map(Object.entries(trip.plans || {}));
         let currentDay = 1;
 
         // 새 day만 추가
diff --git a/route/conf_password.js b/route/conf_password.js
deleted file mode 100644
index 9d91354138cb869d43b583c0124f69f7c8414948..0000000000000000000000000000000000000000
--- a/route/conf_password.js
+++ /dev/null
@@ -1,40 +0,0 @@
-const express = require('express');
-const bcrypt = require('bcrypt');
-const User = require('../models/user'); // User 모델 가져오기
-const path = require('path'); // 경로 처리 모듈 추가
-
-const router = express.Router();
-
-router.get('/change', (req, res) => {
-
-    // 비밀번호 변경 HTML 파일 반환
-    res.sendFile(path.join(__dirname, '../public/conf_password.html')); // HTML 파일 경로 설정
-});
-// 비밀번호 변경 로직
-router.post('/change', async (req, res) => {
-    const { email, oldPassword, newPassword } = req.body;
-
-    try {
-        const user = await User.findOne({ email });
-        if (!user || !user.password) {
-            return res.status(400).json({ message: '사용자를 찾을 수 없거나 잘못된 요청입니다.' });
-        }
-
-        const isMatch = await bcrypt.compare(oldPassword, user.password);
-        if (!isMatch) {
-            return res.status(400).json({ message: '기존 비밀번호가 일치하지 않습니다.' });
-        }
-
-        const hashedPassword = await bcrypt.hash(newPassword, 10);
-        user.password = hashedPassword;
-
-        await user.save();
-        res.status(200).json({ message: '비밀번호가 성공적으로 변경되었습니다.' });
-        console.log('비밀번호 변경 완료',user);
-    } catch (error) {
-        console.error('비밀번호 변경 오류:', error);
-        res.status(500).json({ message: '서버 오류가 발생했습니다.' });
-    }
-});
-
-module.exports = router;
diff --git a/route/del_user.js b/route/del_user.js
deleted file mode 100644
index 27dad7aa4a53b24c912f25ef914a4baae34ab2b5..0000000000000000000000000000000000000000
--- a/route/del_user.js
+++ /dev/null
@@ -1,38 +0,0 @@
-const express = require('express');
-const User = require('../models/user');
-const Trip = require('../models/trips');
-const Review = require('../models/review');
-
-const router = express.Router();
-
-// 사용자 삭제
-router.delete('/:userId', async (req, res) => {
-    const { userId } = req.params;
-
-    try {
-        // 사용자 삭제
-        const user = await User.findByIdAndDelete(userId);
-        if (!user) {
-            return res.status(404).json({ message: '사용자를 찾을 수 없습니다.' });
-        }
-
-        // 사용자가 생성한 여행 데이터 삭제 또는 상태 변경
-        await Trip.deleteMany({ create_by: userId });
-        //사용자가 작성한 리뷰 제거
-        //사용자가 삭제되면 삭제되나..?
-        await Review.deleteMany({ create_by: userId});
-
-        // 사용자가 공동 작업자로 포함된 경우 업데이트
-        await Trip.updateMany(
-            { collaborators: userId }, //필터링 - 지우려는 유저 아이디가 공동 작업자로 포함된경우
-            { $pull: { collaborators: userId } } // 공동 작업자 목록에서 제거
-        );
-        console.log('이 사용자를 삭제합니다: ',user);
-        res.status(200).json({ message: '사용자가 성공적으로 삭제되었습니다.' });
-    } catch (error) {
-        console.error('사용자 삭제 오류:', error);
-        res.status(500).json({ message: '서버 오류가 발생했습니다.' });
-    }
-});
-
-module.exports = router;
diff --git a/route/userManagement.js b/route/userManagement.js
new file mode 100644
index 0000000000000000000000000000000000000000..5695f907b72df37b1a0acb0b3a3e4368ecbc8234
--- /dev/null
+++ b/route/userManagement.js
@@ -0,0 +1,11 @@
+const express = require('express');
+const router = express.Router();
+const User = require('../models/user'); // User 스키마 참조
+
+const userManagementController = require('../controllers/userManagementController');
+
+router.post('/change', userManagementController.changeName);
+router.post('/changePassword', userManagementController.changePassword);
+router.delete('/:userId', userManagementController.deleteUser);
+
+module.exports = router;