Select Git revision
index.js 1.84 KiB
const express = require('express');
const bodyParser = require('body-parser');
const session = require('express-session');
const flash = require('connect-flash');
const app = express();
app.use(express.static('public'));
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
// ไม่จำเป็นต้องใช้ body-parser เพราะ express เองก็รองรับแล้ว
// app.use(bodyParser.urlencoded({ extended: true }));
// ตั้งค่า session
app.use(session({
secret: 'secretkey',
resave: true,
saveUninitialized: true
}));
// ใช้ flash messages
app.use(flash());
// ตั้งค่า view engine เป็น ejs
app.set('view engine', 'ejs');
// กำหนดค่า session สำหรับการเช็คการ login
app.use('*', (req, res, next) => {
req.session.loggedIn = req.session.userId; // ใช้ session แทน global
next();
});
// การนำเข้า controller
const indexController = require('./controllers/indexController');
const loginController = require('./controllers/loginController');
const registerController = require('./controllers/registerController');
const logoutController = require('./controllers/logoutController');
// การตั้งค่า route สำหรับการสมัครและเข้าสู่ระบบ
app.get('/', indexController);
app.get('/login', loginController.showLoginPage);
app.post('/user/login', loginController.loginUser);
app.get('/register', registerController.showRegisterPage);
app.post('/user/register', registerController.registerUser);
app.get('/logout', logoutController.logoutUser); // เพิ่ม route สำหรับ logout
const port = process.env.PORT || 3000;
app.listen(port, () => {
console.log(`Server running on port ${port}`);
});