標籤:ref cot 響應 code 資源檔 持久化 jade 管理中心 install
電影網站
?? GitHub: https://github.com/bxm0927/movie-website
此項目是基於 Node.js + Express + mongoDB + Bootstrap 搭建的電影網站。
主要功能模組:
- 一期:前台電影展示頁、電影詳情頁、後台電影管理中心(電影錄入、電影修改)
- 二期:使用者登入註冊登出功能、使用者識別和持久化、後台使用者管理中心(使用者錄入、使用者修改)、電影評論
<!-- more -->
圖片預覽技術棧
【前端】
- HTML/CSS/JS:亙古不變三件套
- ES6:ECMAScript 新一代文法,這也是以後的趨勢
- Monment.js:時間日期格式化外掛程式
- jQuery:主要用到 jQuery 的 ajax 方法處理非同步請求和 DOM 操作
- Bootstrap:頁面 使用者介面架構,天然響應式,但是樣式爛大街...
【後端】
- pug:pug (以前的 jade) 是一個高效能的模板引擎,用來產生 HTML
- Node.js:整個後端由 Node.js 驅動;用 npm 安裝資源檔
- Express:一個基於 Node.js 平台的 web 開發架構,由路由和中介軟體構成
【資料庫】
- mongoDB:進行資料存放區的 NoSQL 資料庫
- mongoose:Node.js 的 mongodb 驅動軟體包,是進行 mongoDB 快速建模的工具
【自動化構建】
- gulp:前端自動化構建工具
- JSHint:JS 代碼校正
收穫
- 熟悉了 pug 的文法及其在 Node.js 中的使用方法,瞭解到 pug 的優缺點及如何取捨
- 初步掌握了 express 架構的使用,如何處理路由以及中介軟體
- 掌握了 mongoose 在 Node.js 中如何串連資料庫,以及 schema、model、entity 的使用
- 前後端資料傳遞與視圖展現的流程
- 學會了使用 bcryptjs(Node.js 的一個加解密模組)對密碼進行 “hash + salt” 處理
- 藉助會話與 cookie 進行使用者識別和持久化
TODO
- 使用者登入註冊未做表單校正等等
- 全面 Promise 化
- 升級成 ejs 模版
- 電影評論功能的功能過於簡化
- 增加個人中心
- 前後台請求盡量使用 ajax 非同步擷取
- 還有很多...
Build Setup
# clone the repo into your disk.$ git clone https://github.com/bxm0927/movie-website.git# install dependencies$ npm install# run$ npm start# visit$ http://localhost:3000/
License
The code is available under the MIT license.
Thanks
@Scott
基於 Node.js + Express + mongoDB + Bootstrap 搭建的電影網站