webjay / asapp

ASAP messaging app
http://asapapp.herokuapp.com/
0 stars 0 forks source link

Asapp

Architecture

Frontend

All frontend packages are installed with Bower and tasks like minification, compilation and testing is handled by Grunt.

Framework

The frontend application is built in Twitter Bootstrap. For a start we will use the default theme, which later can be adjusted i.e. via Themes.

Backend

All backend packages are installed with npm and tasks like compilation and testing is just as the frontend handled by Grunt.

Framework

For a simple solid framework we use express.

Database

For data storage I recommend MongoDB as it works well with Node.js. The data architecture for Asapp is simple. One strong benefit with a database like MongoDB is that it has dynamic schemas and thus doesn't require us to know the schema up front. We can easily modify as we go, and need only to focus on the code. Installation is simple both locally when we develop and wherever the app will be hosted.

Provider

I have chosen MongoHQ as service provider.

Development

The Node package manager is needed to install packages. Npm is installed along with Node. If you start from scratch, start with Homebrew, then:

brew install node

To start development, clone the repository:

git clone git@github.com:webjay/asapp.git
cd asapp

To install the needed components, and compile everything:

npm install
bower install
grunt

Testing

For testing we use Mocha.

To run tests, use this command:

npm test