- Setup the web site base on Node.js and Express.
- Using Bower to manage front-end library.
- Using Grunt to integrate the web site: compress and merge code, compress image, check code quality using jsLint.
- Using AngularJS to control front-end code structure.
- Using Bootstrap to setup UI.
- Using winston as Logger
- Using Nodemailer to send the mail.
- Using handlebars as the server template engine.
- Unsing passport to setup the auth model.
- Integrate with MongoDB using mongoose.
- Integrate with tumblr.js
- Responsive Design.
- Dashboard: DB backup, Restore DB, Build and publish site, logs view.
- Install all modules
npm install pm2 -g
npm install grunt -g
npm install grunt-cli -g
npm install
- Before Checkin code: manage front-end library and compress images.
grunt prepare
- Debug and run application: check code quality.
grunt
- Publish the application: merge and compress JavaScript and CSS, Clean unused code, start up the application using forever.
grunt build
sudo GMAIL_USER='[email protected]' GMAIL_PASS='your mail password' BLOG_KEY='tumblr key' pm2 start app.js
- or publish the application using bash script
sudo ./build.sh '[email protected]' 'your mail password' 'tumblr key'
or create a file named custom.js
in config folder and override the default config.
- November 20, 2014: Update express.js(from express3 to express4)
- November 22, 2014: change back-end view engine(from hbs to swig);add back-end mock data. by default, no need to setup the data base, just set the
config.mock
totrue
. - November 23, 2014: Change Contact map from Google map to Baidu map.
- January 24, 2015: add dashboard, add auth model.
- March 16, 2015: material design.
- Unit test.