Gitlab@Informatics

Skip to content
Snippets Groups Projects
Select Git revision
  • 8c32468d2d7c3feba9e75641ed2f6874d6fa1aa3
  • main default protected
  • revert-a98119d8
3 results

index.js

Blame
    • 65160381's avatar
      8c32468d
      Update 4 files · 8c32468d
      65160381 authored
      - /index.js
      - /controllers/registerController.js
      - /controllers/loginController.js
      - /views/register.ejs
      8c32468d
      History
      Update 4 files
      65160381 authored
      - /index.js
      - /controllers/registerController.js
      - /controllers/loginController.js
      - /views/register.ejs
    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}`);
    });