Code Monkey home page Code Monkey logo

node.js-tutorial's Introduction

Node.js-Tutorial

這裡是自學Node.js後端技術的小小天地~ 🖥️作品: 記帳本系統

前言

Node.js是一款開發Server後端很重要的應用程式,可以在上面跑JavaScript的程式,此專案設計一個記帳系統,具備以下功能:

  1. WEB端
      * 記帳本基礎頁面
      * 結合MongoDB數據庫
      * 註冊頁面Cookie-Sesssion驗證功能
      * 對應網域和HTTPS
  2. API端
      * 記帳本Restful API返回JSON
      * 結合MongoDB數據庫
      * 登錄頁面Token校驗功能

環境建置

Node.js

  1. 安裝Node.js
      * 默認安裝即可
  2. 終端機輸入node -v查看Node.js的版本
  3. 終端機輸入npm -v查看npm版本,他是用來管理Node.js的模組工具,通常安裝為Node.js就會自動幫你安裝npm
cd 專案目錄
npm init  //默認就按enter,會根據package.json設定,安裝node module   
npm install express //這裡安裝express npm模塊
code package.json//會看到dependencies多了"express": "^4.18.2"
cd node_modules  //會看到其他模塊因為express模塊也會用到其他模塊,也可觀察不同模塊的package.json
npm uninstall express  //進行卸載

Node.js版本管理工具NVM

安裝Node.js版本管理工具NVM(Node Version Manager),來對不同版本的Node.js進行管理
  * Linux/MacOS NVM
  * Windows NVM

nvm version
nvm ls //用來查看nvm中已經安裝的Node.js版本
nvm ls available  //顯示官網上所有Node.js的版本,盡量選擇LTS(Long Term Service)長期維護版本進行安裝   
nvm install 20.4.0
nvm use 20.4.0  //進行Node.js的版本切換

MongoDB

下載地址: https://www.mongodb.com/try/download/community
建議選擇zip檔,適用性更強
配置步驟如下:

  1. 將壓縮包移動到C:\Program Files下,然後解壓縮
  2. 創建C:\data\db目錄,mongodb會將數據默認保存到這個文件夾
  3. 以mongodb中bin目錄作為工作目錄,啟動命令行
  4. 運行命令mongod啟動db server,看到最後的waiting for connections,則代表服務已經啟動
    image
  5. 可另外開啟命令行測試服務端是否可行
    image

Robo 3T (MongoDB GUI 工具)

下載地址: https://github.com/Studio3T/robomongo/releases

Postman

下載地址: https://www.postman.com/

VSCode Extensiom

  1. vscode安裝以下幾個extension
    image
  2. 在vscode中新增程式碼片段的設定
    image

新增以下指令
image  

若要多行註解可以ctrl+/

記帳本WEB端

註冊介面

  1. WEB
    輸入帳密,點擊註冊
    image 顯示註冊成功提示介面,點擊跳轉可以進入登錄介面
    image
  2. MongoDB
    DB: michelin & Collections: users,產生test帳號的資訊
    image

登錄介面

  1. 登錄成功
    輸入帳密,點擊登錄
    image 顯示登錄成功提示介面,點擊跳轉可以進入記帳本列表
    image
  2. 登錄失敗
    輸入錯誤帳密,點擊登錄
    image
    顯示帳號密碼錯誤提示頁面
    image

記帳本頁面

  1. 記帳本列表
    顯示所有記帳本列表,點擊右上角紅色退出按鈕可以回到登錄頁面,點擊藍色添加帳單按鈕,開始記帳 image
  2. 添加帳單
    (1) WEB端
    跳轉至添加紀錄的頁面,可以依序填入事項、發生時間、類型(支出/收入)、金額、備註,最後點擊添加
    image 顯示登入成功喔介面,點擊跳轉可以進入記帳本列表介面
    image
    image (2) MongoDB端
    DB: michelin & Collections: accounts,產生早餐的資訊
    image
  3. 刪除帳單
    (1) WEB端
    進入記帳本頁面,點擊想要刪除事項的右邊紅色框的地方
    image 顯示是否要刪除的提示訊息,點擊確定 image
    顯示成功喔介面,點擊跳轉可以進入記帳本列表介面
    image
    image
    (2) MongoDB端
    DB: michelin & Collections: accounts,早餐資訊已被刪除
    image

記帳本API端

點開Postman,新增Global變數
image

用戶的登錄

  1. 登錄成功
    response body會產生token,複製該token
    image
  2. 登錄失敗 image

獲取帳單列表

Headers記得手動添加,用戶登錄時回傳的token值
image

獲取單條帳單

  1. 獲取成功
    Headers記得手動添加,用戶登錄時回傳的token值,此外URL中的id,可由獲取帳單列表的response body得出
    image
  2. 獲取失敗 image

創建新帳單

Headers記得手動添加,用戶登錄時回傳的token值,此外request body填入要添加的值
image
image

更新單個帳單

Headers記得手動添加,用戶登錄時回傳的token值,此外request body填入要部分修改的值
image image

刪除帳單

  1. 刪除成功
    Headers記得手動添加,用戶登錄時回傳的token值,此外URL中的id,可由獲取帳單列表的response body得出
    image
  2. 刪除失敗 image

網頁基本知識

參考課程教材

node.js-tutorial's People

Contributors

csiemichelin avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.