diff --git a/controllers/tourController.js b/controllers/tourController.js
index a6f5ca4680f96901605ffa10cd6325f977b621e8..2ea52c1d08535dae18eea6f9242c70cd6833f2d6 100644
--- a/controllers/tourController.js
+++ b/controllers/tourController.js
@@ -1,5 +1,5 @@
 const Tour = require('../models/tourModel');
-const User = require('../models/tourModel');
+const User = require('../models/userModel');
 
 exports.getTours = async (req, res) => {
   try {
diff --git a/models/userModel.js b/models/userModel.js
new file mode 100644
index 0000000000000000000000000000000000000000..42722a92cbef81f6fe9199e70e830a1ce4917b83
--- /dev/null
+++ b/models/userModel.js
@@ -0,0 +1,46 @@
+const db = require('../config/db'); // ดึง Database connection
+const bcrypt = require('bcryptjs');
+
+class User {
+    static async findOne(email) {
+        return new Promise((resolve, reject) => {
+            db.query('SELECT * FROM users WHERE email = ?', [email], (err, results) => {
+                if (err) return reject(err);
+                resolve(results[0]); // คืนค่า user ที่เจอ หรือ undefined
+            });
+        });
+    }
+
+    static async create(name, email, password) {
+        return new Promise(async (resolve, reject) => {
+            try {
+                const hashedPassword = await bcrypt.hash(password, 10);
+                db.query(
+                    'INSERT INTO users (name, email, password) VALUES (?, ?, ?)',
+                    [name, email, hashedPassword],
+                    (err, results) => {
+                        if (err) return reject(err);
+                        resolve(results.insertId); // คืนค่า ID ของ user ที่ถูกสร้าง
+                    }
+                );
+            } catch (err) {
+                reject(err);
+            }
+        });
+    }
+
+    static async comparePassword(email, password) {
+        return new Promise(async (resolve, reject) => {
+            try {
+                const user = await this.findOne(email);
+                if (!user) return resolve(false); // ไม่เจอผู้ใช้
+                const isMatch = await bcrypt.compare(password, user.password);
+                resolve(isMatch);
+            } catch (err) {
+                reject(err);
+            }
+        });
+    }
+}
+
+module.exports = User;