All frontend packages are installed with Bower and tasks like minification, compilation and testing is handled by Grunt.
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.
All backend packages are installed with npm and tasks like compilation and testing is just as the frontend handled by Grunt.
For a simple solid framework we use express.
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.
I have chosen MongoHQ as service provider.
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
For testing we use Mocha.
To run tests, use this command:
npm test