電影網站

? 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:頁面 UI 框架,天然響應式,但是樣式爛大街...

【後端】

  • pug:pug (以前的 jade) 是一個高性能的模板引擎,用來生成 HTML
  • Node.js:整個後端由 Node.js 驅動;用 npm 安裝資源文件
  • Express:一個基於 Node.js 平台的 web 開發框架,由路由和中間件構成

【資料庫】

  • mongoDB:進行數據存儲的 NoSQL 資料庫
  • mongoose:Node.js 的 mongodb 驅動軟體包,是進行 mongoDB 快速建模的工具

【自動化構建】

  • gulp:前端自動化構建工具
  • JSHint:JS 代碼校驗

收穫

  1. 熟悉了 pug 的語法及其在 Node.js 中的使用方法,了解到 pug 的優缺點及如何取捨
  2. 初步掌握了 express 框架的使用,如何處理路由以及中間件
  3. 掌握了 mongoose 在 Node.js 中如何連接資料庫,以及 schema、model、entity 的使用
  4. 前後端數據傳遞與視圖展現的流程
  5. 學會了使用 bcryptjs(Node.js 的一個加解密模塊)對密碼進行 「hash + salt」 處理
  6. 藉助會話與 cookie 進行用戶識別和持久化

TODO

  1. 用戶登錄註冊未做表單校驗等等
  2. 全面 Promise 化
  3. 升級成 ejs 模版
  4. 電影評論功能的功能過於簡化
  5. 增加個人中心
  6. 前後台請求盡量使用 ajax 非同步獲取
  7. 還有很多...

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

推薦閱讀:

相关文章