ragetweet

RageTweet

Rage it out in 140 chars :)

Ragetweet is an anonymous twitter based on the idea of ranting about software development. Designed more like reddit than twitter.

This is really an example / boilerplate project working with NodeJS in a real-time full stack that can be scaled into large web applications with multiple portals authentication real-time error reporting.

Also, probably the best set of tools that are available right now for true HTML5 development. We experimented with lots of the competitors for each of the technologies listed below and this is hands down the best set available from an integration and feature standpoint.

  • Bower is used for frontend package management
  • NPM is used for NodeJS package management
  • The webserver is threaded when in production utilizing the NodeJS cluster API
  • Works with WebStorm debugging out of the box (regular NodeJS debugging as well)
  • Supports full module editing similar to https://editor.datatables.net/

Technologies used

  • NodeJS
  • MongoDB
  • AngularJS
  • Socket.IO
  • Bootstrap3
  • jQuery2
  • Git / GitHub
  • Jade
  • Stylus
  • Express3
  • Passport
  • BCrypt
  • Karma
  • Mocha
  • Chai
  • RequireJS
  • Grunt

Installation

  • Clone repository or download source
  • Make sure grunt-cli is installed globally npm -g install grunt-cli
  • From root of directory run grunt update
  • Run the admin panel node admin/app.js

Development

Windows

In order to develop on windows here are some guides.

Once the environment is setup simply follow the installation steps above after that point the project should load and debug natively.

Linux

Linux development is relatively simple.

Install pacakges (Debian SID)

Required

aptitude install nodejs mongodb gcc gcc-c++ python vim libcairo2-dev

Optional

aptitude install vim dstat iotop htop nginx

VIM Development

Checkout this settings guide https://github.com/Spudz76/vim-presets

WebStorm Development (Desktop Linux)

These settings should be all thats needed https://gist.github.com/nullivex/7175567

Testing

This boilerplate uses Mocha / ChaiJS / Karma for Unit, Midway, and E2E testing.

  • Backend grunt mochaTest
  • Frontend grunt karma

To test live with auto testing on file saving try the following.

  • Backend grunt watch
  • Frontend cd admin; karma start

TODO

  • Implement karma watching with grunt
Languagejavascript
Version0.0.1
Git URLhttps://github.com/nullivex/ragetweet
LicenseMIT
Description
Keywords