ホームページ ウェブフロントエンド jsチュートリアル Node.jsを使ってオンライン予約機能を実装するWebプロジェクト

Node.jsを使ってオンライン予約機能を実装するWebプロジェクト

Nov 08, 2023 pm 04:33 PM
nodejs オンライン予約 ウェブプロジェクト

Node.jsを使ってオンライン予約機能を実装するWebプロジェクト

インターネットの継続的な発展に伴い、顧客の予約や業務管理を容易にするためにオンライン予約システムを使用する企業が増えています。このような状況の中、Node.jsを利用してオンライン予約機能を実装するWebプロジェクトが徐々に話題になっています。

この記事では、Node.js を使用して Web ベースのオンライン予約システムを開発する方法を簡単に紹介し、いくつかのコード例を示します。独自のオンライン予約システムの作成を始める前に、次のことができることを期待しています。プロセスを理解するのに役立ちます。

  1. 要件分析

このような Web プロジェクトを開発する前に、慎重な要件分析を行う必要があります。この Web プロジェクトで実装する必要があるいくつかの必要な機能と機能を次に示します。

  • 顧客は、Web サイトで利用可能な時間とサービスを表示して選択できます。
  • 顧客は適切な時間を選択して、販売者にリクエストを送信できます。
  • 販売者は予約リクエストを表示し、承認または拒否できます。
  • 販売者が予約リクエストを受け入れると、システムは予約情報をデータベースに入力し、確認メールを顧客に送信します。
  • 販売者が予約リクエストを拒否すると、システムは顧客に拒否メールを送信します。
  1. データベース設計

この例では、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)
);
ログイン後にコピー
  1. Node.js アプリケーションの作成

まず、ローカル コンピューターに Node.js をインストールする必要があります。ここで、「AppointmentSystem」という名前の Node.js アプリケーションを作成します。

「AppointmentSystem」という名前のフォルダーを作成し、そのフォルダー内に「app.js」という名前のファイルを作成します。このファイルは Node.js アプリケーションのメイン ファイルとなり、すべてのコードが含まれます。

次の手順に従って、必要なサードパーティ Node.js モジュールをインストールします。

  1. コマンド プロンプトまたはターミナルを開き、「AppointmentSystem」フォルダーに切り替えます。
  2. 次のコマンドを実行します: npm init
  3. プロンプトの質問にすべてデフォルト値を使用して回答し、「package.json」ファイルの作成を完了します。
  4. 次のモジュールをインストールします:
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 ミドルウェアです。
  1. コードの実装

まず、インストールしたすべてのモジュールをメイン ファイル "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');
});
ログイン後にコピー
  1. アプリケーションの起動

サーバーを起動するには、コマンド プロンプトまたはターミナルでプログラム フォルダーに移動し、次のコマンドを実行します。

node app.js
ログイン後にコピー

ここで、Web ブラウザで「localhost:3000」を開いて、オンライン予約システムを使用します。

以上がNode.jsを使ってオンライン予約機能を実装するWebプロジェクトの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Eclipseプロジェクトの保存場所 Eclipseプロジェクトの保存場所 May 05, 2024 pm 07:36 PM

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

Nodejs はバックエンド フレームワークですか? Nodejs はバックエンド フレームワークですか? Apr 21, 2024 am 05:09 AM

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

Nodejsをmysqlデータベースに接続する方法 Nodejsをmysqlデータベースに接続する方法 Apr 21, 2024 am 06:13 AM

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

Nodejsのグローバル変数とは何ですか Nodejsのグローバル変数とは何ですか Apr 21, 2024 am 04:54 AM

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

Nodejs インストール ディレクトリ内の npm ファイルと npm.cmd ファイルの違いは何ですか? Nodejs インストール ディレクトリ内の npm ファイルと npm.cmd ファイルの違いは何ですか? Apr 21, 2024 am 05:18 AM

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

NodejsとJavaの間に大きな違いはありますか? NodejsとJavaの間に大きな違いはありますか? Apr 21, 2024 am 06:12 AM

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 は大規模なエンタープライズ アプリケーションに適しています。

Nodejs はバックエンド開発言語ですか? Nodejs はバックエンド開発言語ですか? Apr 21, 2024 am 05:09 AM

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

Nodejsプロジェクトをサーバーにデプロイする方法 Nodejsプロジェクトをサーバーにデプロイする方法 Apr 21, 2024 am 04:40 AM

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

See all articles