電影網站
?? GitHub: https://github.com/bxm0927/movie-website
此項目是基于 Node.js + Express + mongoDB + Bootstrap 搭建的電影網站。
主要功能模塊:
- 一期:前臺電影展示頁、電影詳情頁、后臺電影管理中心(電影錄入、電影修改)
- 二期:用戶登錄注冊注銷功能、用戶識別和持久化、后臺用戶管理中心(用戶錄入、用戶修改)、電影評論
圖片預覽
技術棧
【前端】
- 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 代碼校驗
收獲
- 熟悉了 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