An open API service indexing awesome lists of open source software.

https://github.com/erealmsoft/HomeSite

This is the source code of home page for Erealm Info & Tech
https://github.com/erealmsoft/HomeSite

Last synced: 4 months ago
JSON representation

This is the source code of home page for Erealm Info & Tech

Awesome Lists containing this project

README

        

[![alt ereaml](https://raw.github.com/erealm/HomeSite/master/public/images/erealm.png)](http://www.erealmsoft.com)
# [eRealm Info & Tech](http://www.erealmsoft.com) [![Build Status](https://travis-ci.org/erealm/HomeSite.svg?branch=master)](http://travis-ci.org/erealm/HomeSite)
[ ![Codeship Status for erealm/HomeSite](https://www.codeship.io/projects/1f17b940-2f28-0132-d05d-4e682e9b5dbd/status)](https://www.codeship.io/projects/39458)

## Notes and information
### Public Modules We used.
* Setup the web site base on [**Node.js**](http://nodejs.org/) and [**Express**](http://expressjs.com/).
* Using [**Bower**](http://bower.io) to manage front-end library.
* Using [**Grunt**](http://gruntjs.com) to integrate the web site: compress and merge code, compress image, check code quality using jsLint.
* Using [**AngularJS**](https://angularjs.org/) to control front-end code structure.
* Using [**Bootstrap**](http://getbootstrap.com/) to setup UI.
* Using [**winston**](https://github.com/flatiron/winston) as Logger
* Using [**Nodemailer**](https://github.com/andris9/Nodemailer) to send the mail.
* Using [**handlebars**](https://www.npmjs.org/package/handlebars) as the server template engine.
* Unsing [**passport**](https://github.com/jaredhanson/passport) to setup the auth model.
* Integrate with **MongoDB** using [**mongoose**](http://mongoosejs.com/).
* Integrate with [**tumblr.js**](https://github.com/tumblr/tumblr.js/)
* Responsive Design.
* Dashboard: DB backup, Restore DB, Build and publish site, logs view.

### Setting up the application
* Install all modules
```bash
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.
```bash
grunt prepare
```
* Debug and run application: check code quality.
```bash
grunt
```
* Publish the application: merge and compress **JavaScript** and **CSS**, Clean unused code, start up the application using [**forever**](https://github.com/nodejitsu/forever).
```bash
grunt build
```
```bash
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
```bash
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.

### Documents
* [Chinese Version](http://blog.erealmsoft.com/font-end/home/2014/11/02/erealm-home-opensource-nodejs.html)

## Update Notes
* 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` to `true`.
* 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.

## TODO List
* Unit test.