Skip to content
This repository was archived by the owner on Feb 27, 2022. It is now read-only.
/ shrub Public archive

AngularJS and NodeJS, Socket.IO, Bootstrap, jQuery all wrapped up in an elegant package

License

Notifications You must be signed in to change notification settings

cha0s/shrub

Repository files navigation

Shrub

See the full documentation at http://cha0s.github.io/shrub

Shrub is a JavaScript (or CoffeeScript if you prefer) application framework. AngularJS is used on the client-side, as well as Socket.IO, enabling real-time communication right out of the box. The server is an Express Node.js server using Waterline for storage.

Shrub is organized into packages which implement hooks, as a means of communicating between each other and influencing the way the entire application behaves.

Shrub handles generation (using Grunt) of all Angular boilerplate and more, to allow you to structure your application in a very clean and consistent way. Packages can even implement a hook to define their own build behavior.

The intention of Shrub is to allow you to build rich, powerful applications in an elegant and structured way -- without needing to hack on or change Shrub's core codebase. Everything you need should be doable by creating a new package. If you find the opposite to be true, feel free to open an issue!

Tutorials in general are a bit lacking at the moment, this will be soon be remedied!

Getting started

Here is an excerpt from the documentation:

First off, you'll need to clone Shrub itself. Fire up your trusty terminal:

git clone git://github.com/cha0s/shrub.git

(obviously you can use a git management tool if you fancy that sort of thing, not that there's anything wrong with that...)

Head into the directory you just cloned and issue:

npm install

The next step is to create a configuration file. Look in the config directory and you will see a file called default.settings.yml. Create a copy of that file called settings.yml. Shrub requires a configuration file at this time, so this is not an optional step.

Finally, to build and run the code you can do this:

DEBUG=shrub:* grunt execute

You don't strictly need the DEBUG=shrub:* part, but we do that so it's easy to see when the server is up and ready for connections (and preserving the ability to skip using that and have the server output be silent for production).

When you see shrub:http Shrub HTTP server up and running on port 4201!, that means you can visit your site in the browser. Go ahead and visit http://localhost:4201 and see your Shrub instance chugging along!

TODO

See the TODO list.

About

AngularJS and NodeJS, Socket.IO, Bootstrap, jQuery all wrapped up in an elegant package

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published