iT邦幫忙

2023 iThome 鐵人賽

DAY 17
1
自我挑戰組

NodeJS with MongoDB專案開發系列 第 17

day 17Node.js with Mongo DB專案開發

  • 分享至 

  • xImage
  •  

node.js寫一個學校選課系統

學校的選課系統是一個複雜且資料量大的系統,因此我們需要node.js來幫我們完成學校的選課系統
學校選課系統是一個相對複雜的應用程序,需要多個功能和組件來實現。以下是一個簡單的學校選課系統的Node.js程式示例,其中包括基本的學生、課程和選課功能。請注意,這只是一個簡單的示例,實際的系統可能需要更多功能和安全性。

首先,我需要在命令行中使用以下命令初始化一個Node.js項目:

npm init

接下來,安裝需要的庫:

npm install express body-parser

然後,創建一個名為app.js的Node.js應用程序,並將以下代碼添加到文件中:

const express = require('express');
const bodyParser = require('body-parser');
const app = express();

app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

// 模擬數據存儲
const students = [];
const courses = [];
const registrations = [];

// 學生註冊
app.post('/register', (req, res) => {
  const { studentId, courseId } = req.body;

  // 檢查學生和課程是否存在
  const student = students.find(s => s.id === studentId);
  const course = courses.find(c => c.id === courseId);

  if (!student || !course) {
    return res.status(404).json({ message: '學生或課程不存在' });
  }

  // 檢查學生是否已經註冊了該課程
  const existingRegistration = registrations.find(r => r.studentId === studentId && r.courseId === courseId);
  if (existingRegistration) {
    return res.status(400).json({ message: '學生已經註冊了該課程' });
  }

  // 創建註冊記錄
  const registration = {
    id: registrations.length + 1,
    studentId,
    courseId,
  };

  registrations.push(registration);

  res.status(201).json({ message: '註冊成功', registration });
});

// 启动服务器
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
  console.log(`Server is running on port ${PORT}`);
});

在這個簡單的示例中,我們使用Express來建立Web服務器,使用Body Parser來解析POST請求中的JSON數據。我們模擬了三個數據集:students(學生)、courses(課程)和registrations(註冊記錄)。然後,我們定義了一個POST請求路徑/register,用於學生註冊課程。當學生註冊課程時,我們檢查學生和課程是否存在,以及學生是否已經註冊了該課程。如果一切正常,我們創建一個註冊記錄並返回成功的消息。


上一篇
day 16 Node.js with Mongo DB開發
下一篇
Node.js with Mongo DB專案開發
系列文
NodeJS with MongoDB專案開發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言