인터넷의 지속적인 발전으로 고객의 예약 및 비즈니스 관리를 용이하게 하기 위해 온라인 예약 시스템을 사용하는 기업이 점점 더 많아지고 있습니다. 이런 상황에서 Node.js를 이용해 온라인 예약 기능을 구현하는 웹 프로젝트가 점차 화제가 되고 있다.
이 기사에서는 Node.js를 사용하여 웹 기반 온라인 약속 시스템을 개발하는 방법을 간략하게 소개하고 몇 가지 코드 예제를 제공하여 자신만의 온라인 약속 시스템을 만들기 전에 이해하는 데 도움이 되기를 바랍니다. 프로세스.
이러한 웹 프로젝트를 개발하기 전에 신중한 요구사항 분석을 수행해야 합니다. 다음은 본 웹 프로젝트에서 구현해야 할 몇 가지 필수 기능과 특징입니다.
이 예에서는 MySQL 데이터베이스를 사용하여 약속 정보를 저장하겠습니다. "Appointments"라는 테이블을 만들어야 하며 다음 열이 포함됩니다.
다음은 이 테이블을 생성하는 데 사용할 수 있는 SQL 문입니다.
CREATE TABLE Appointments ( ID INT NOT NULL AUTO_INCREMENT, CustomerName VARCHAR(50), CustomerEmail VARCHAR(50), ServiceType VARCHAR(50), AppointmentDate DATE, AppointmentTime TIME, Status ENUM('Pending', 'Accepted', 'Rejected'), PRIMARY KEY (ID) );
먼저 로컬 시스템에 Node.js를 설치해야 합니다. . 이제 "AppointmentSystem"이라는 Node.js 애플리케이션을 생성하겠습니다.
"AppointmentSystem"이라는 폴더를 만들고 폴더에 "app.js"라는 파일을 만듭니다. 이 파일은 Node.js 애플리케이션의 기본 파일이 되며 모든 코드를 포함합니다.
필요한 타사 Node.js 모듈을 설치하려면 다음 단계를 따르세요.
npm init
npm install express ejs nodemailer mysql body-parser express-session --save
먼저 메인 파일 "app.js"에 방금 설치한 모든 모듈을 소개해야 합니다.
const express = require('express'); const ejs = require('ejs'); const nodemailer = require('nodemailer'); const mysql = require('mysql'); const bodyParser = require('body-parser'); const session = require('express-session'); const app = express();
다음으로 애플리케이션을 구성해야 합니다. 우리 애플리케이션은 기본 "views" 및 "public" 폴더를 사용하므로 이를 구성할 필요가 없습니다.
app.set('view engine', 'ejs'); app.use(express.static(__dirname + '/public')); app.use(bodyParser.urlencoded({extended: true})); app.use(session({ secret: 'mysecretkey', resave: true, saveUninitialized: true }));
다음으로 MySQL 데이터베이스에 연결해야 합니다. "createConnection" 함수를 사용하여 데이터베이스 연결을 만든 다음 개체를 사용하여 쿼리합니다.
const pool = mysql.createPool({ host: 'localhost', user: 'root', password: 'password', database: 'appointments' });
이제 라우팅 기능을 정의해 보겠습니다. 하나는 예약 양식을 받는 경로이고 다른 하나는 운송장을 제출하는 경로입니다.
app.get('/', (req, res) => { res.render('index'); }); app.post('/appointment', (req, res) => { const {customerName, customerEmail, serviceType, appointmentDate, appointmentTime} = req.body; pool.query('INSERT INTO Appointments SET ?', { CustomerName: customerName, CustomerEmail: customerEmail, ServiceType: serviceType, AppointmentDate: appointmentDate, AppointmentTime: appointmentTime, Status: 'Pending' }, (error, results) => { if (error) { throw error; } else { const transporter = nodemailer.createTransport({ service: 'gmail', auth: { user: 'youremail@gmail.com', pass: 'yourpassword' } }); const mailOptions = { from: 'youremail@gmail.com', to: customerEmail, subject: 'Your Appointment Request', text: `Dear ${customerName}, Thank you for requesting an appointment with our company. We have received your request and will get back to you as soon as possible. Best regards, The Company` }; transporter.sendMail(mailOptions, (error, info) => { if (error) { throw error; } else { console.log(`Email sent: ${info.response}`); } }); res.render('confirmation', { customerName, customerEmail, serviceType, appointmentDate, appointmentTime }); } }); });
위 코드 조각에서는 먼저 "pool.query" 함수를 사용하여 새 약속 기록을 MySQL 데이터베이스에 삽입한 다음 Nodemailer 메일러를 만들어 고객에게 확인 이메일을 보냅니다. 마지막으로 고객의 세부 정보를 확인 페이지에 렌더링하여 고객이 약속 세부 정보를 볼 수 있도록 합니다.
마지막으로 "app.listen" 기능을 사용하여 애플리케이션을 시작하고 청취 포트를 제공해야 합니다.
app.listen(3000, () => { console.log('Server started on port 3000'); });
서버를 시작하려면 명령 프롬프트나 터미널에서 프로그램 폴더로 이동하여 다음 명령을 실행하세요.
node app.js
이제 웹 브라우저에서 "localhost"를 엽니다:3000” 귀하의 온라인 예약 시스템.
위 내용은 Node.js를 활용하여 온라인 예약 기능을 구현하는 웹 프로젝트의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!