Node.jsを使ってオンライン予約機能を実装するWebプロジェクト
インターネットの継続的な発展に伴い、顧客の予約や業務管理を容易にするためにオンライン予約システムを使用する企業が増えています。このような状況の中、Node.jsを利用してオンライン予約機能を実装するWebプロジェクトが徐々に話題になっています。
この記事では、Node.js を使用して Web ベースのオンライン予約システムを開発する方法を簡単に紹介し、いくつかのコード例を示します。独自のオンライン予約システムの作成を始める前に、次のことができることを期待しています。プロセスを理解するのに役立ちます。
- 要件分析
このような Web プロジェクトを開発する前に、慎重な要件分析を行う必要があります。この Web プロジェクトで実装する必要があるいくつかの必要な機能と機能を次に示します。
- 顧客は、Web サイトで利用可能な時間とサービスを表示して選択できます。
- 顧客は適切な時間を選択して、販売者にリクエストを送信できます。
- 販売者は予約リクエストを表示し、承認または拒否できます。
- 販売者が予約リクエストを受け入れると、システムは予約情報をデータベースに入力し、確認メールを顧客に送信します。
- 販売者が予約リクエストを拒否すると、システムは顧客に拒否メールを送信します。
- データベース設計
この例では、MySQL データベースを使用して予約情報を保存します。次の列を含む「Appointments」というテーブルを作成する必要があります:
- ID (一意の識別子)
- 顧客名
- 顧客の電子メール
- サービス タイプ
- 日付
- 時刻
- ステータス (保留中、承認済み、または拒否済み)
次は、次のようなものです。 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 アプリケーションの作成
まず、ローカル コンピューターに Node.js をインストールする必要があります。ここで、「AppointmentSystem」という名前の Node.js アプリケーションを作成します。
「AppointmentSystem」という名前のフォルダーを作成し、そのフォルダー内に「app.js」という名前のファイルを作成します。このファイルは Node.js アプリケーションのメイン ファイルとなり、すべてのコードが含まれます。
次の手順に従って、必要なサードパーティ Node.js モジュールをインストールします。
- コマンド プロンプトまたはターミナルを開き、「AppointmentSystem」フォルダーに切り替えます。
- 次のコマンドを実行します:
npm init
- プロンプトの質問にすべてデフォルト値を使用して回答し、「package.json」ファイルの作成を完了します。
- 次のモジュールをインストールします:
npm install express ejs nodemailer mysql body-parser express-session --save
- express: これは、Web アプリケーションを構築するための一般的な Node.js フレームワークです。
- ejs: HTML ページを動的に生成できるテンプレート エンジンです。
- nodemailer: これは、顧客に電子メールを送信するための Node.js モジュールです。
- mysql: これは、MySQL データベースへの接続に使用される Node.js モジュールです。
- body-parser: これは、HTTP リクエストの本文を解析するための Node.js ミドルウェアです。
- express-session: これは、セッションを処理するための Node.js ミドルウェアです。
- コードの実装
まず、インストールしたすべてのモジュールをメイン ファイル "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' });
さて、ルーティング関数を定義しましょう。予約フォームを取得するルートと運送状を送信するルートの 2 つのルートを定義します。
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
ここで、Web ブラウザで「localhost:3000」を開いて、オンライン予約システムを使用します。
以上がNode.jsを使ってオンライン予約機能を実装するWebプロジェクトの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Eclipse プロジェクトが保存される場所は、プロジェクトの種類とワークスペースの設定によって異なります。 Java プロジェクト: ワークスペース内のプロジェクト フォルダーに保存されます。 Web プロジェクト: ワークスペースのプロジェクト フォルダーに保存され、複数のサブフォルダーに分割されます。その他のプロジェクト タイプ: ファイルはワークスペース内のプロジェクト フォルダーに保存され、編成はプロジェクト タイプによって異なる場合があります。ワークスペースの場所は、デフォルトでは「<ホーム ディレクトリ>/workspace」にあり、Eclipse の設定を通じて変更できます。プロジェクトの保存場所を変更するには、プロジェクトを右クリックし、プロパティの [リソース] タブを選択します。

Node.js は、高いパフォーマンス、スケーラビリティ、クロスプラットフォーム サポート、豊富なエコシステム、開発の容易さなどの機能を備えているため、バックエンド フレームワークとして使用できます。

MySQL データベースに接続するには、次の手順に従う必要があります。 mysql2 ドライバーをインストールします。 mysql2.createConnection() を使用して、ホスト アドレス、ポート、ユーザー名、パスワード、データベース名を含む接続オブジェクトを作成します。 connection.query() を使用してクエリを実行します。最後に connection.end() を使用して接続を終了します。

Node.js には次のグローバル変数が存在します。 グローバル オブジェクト: グローバル コア モジュール: プロセス、コンソール、require ランタイム環境変数: __dirname、__filename、__line、__column 定数: unknown、null、NaN、Infinity、-Infinity

Node.js インストール ディレクトリには、npm と npm.cmd という 2 つの npm 関連ファイルがあります。違いは次のとおりです。拡張子が異なります。npm は実行可能ファイルで、npm.cmd はコマンド ウィンドウのショートカットです。 Windows ユーザー: npm.cmd はコマンド プロンプトから使用できますが、npm はコマンド ラインからのみ実行できます。互換性: npm.cmd は Windows システムに固有ですが、npm はクロスプラットフォームで使用できます。使用上の推奨事項: Windows ユーザーは npm.cmd を使用し、他のオペレーティング システムは npm を使用します。

Node.js と Java の主な違いは、設計と機能です。 イベント駆動型とスレッド駆動型: Node.js はイベント駆動型で、Java はスレッド駆動型です。シングルスレッドとマルチスレッド: Node.js はシングルスレッドのイベント ループを使用し、Java はマルチスレッド アーキテクチャを使用します。ランタイム環境: Node.js は V8 JavaScript エンジン上で実行され、Java は JVM 上で実行されます。構文: Node.js は JavaScript 構文を使用し、Java は Java 構文を使用します。目的: Node.js は I/O 集中型のタスクに適しており、Java は大規模なエンタープライズ アプリケーションに適しています。

はい、Node.js はバックエンド開発言語です。これは、サーバー側のビジネス ロジックの処理、データベース接続の管理、API の提供などのバックエンド開発に使用されます。

Node.js プロジェクトのサーバー デプロイメント手順: デプロイメント環境を準備します。サーバー アクセスの取得、Node.js のインストール、Git リポジトリのセットアップ。アプリケーションをビルドする: npm run build を使用して、デプロイ可能なコードと依存関係を生成します。コードをサーバーにアップロードします: Git またはファイル転送プロトコル経由。依存関係をインストールする: サーバーに SSH で接続し、npm install を使用してアプリケーションの依存関係をインストールします。アプリケーションを開始します。node Index.js などのコマンドを使用してアプリケーションを開始するか、pm2 などのプロセス マネージャーを使用します。リバース プロキシの構成 (オプション): Nginx や Apache などのリバース プロキシを使用して、トラフィックをアプリケーションにルーティングします。
