-
Notifications
You must be signed in to change notification settings - Fork 8
use examples
Whilst it is often preferable to provide a project skeleton that allows easily bolting-on components (projects like Bower help to accomplish this) this project seed adopts a different methodology.
Adding components is often not the trivial task it is made out to be and as your project grows in complexity you are frequently required to add extra components. In terms of producing a seed that is flexible and generic enough to actually serve as a general seed it is impossible to guess where the project will go, infact it is folly to do so.
So, this project adds a lot of stuff right off the bat with the theory that it is actually easier to remove components than it is to add them. Each component is fairly logically placed within the project scaffold and, where possible, is included via Bower or NPM which allows those package managers to remove components for you.
Any code that stitches the project together is minimal and rarely performance critical with the bulk of it being code to include components in the project. Take a look at server/server.js or app/index.html for code that adds components to the project.
The problem with taking this approach is that it is also impossible to add every component so this project takes the approach of adding some fairly crucial large pieces of infrastructure and leaves the rest up to the developer but it is done in a sensible and logical way that allows for easily extending the project, both at the start of the project and further down the line.
To aid in including what you want in a project there are a number of branches that include different parts of the project. They are written sequentially in the order presented above so later branches will also contain all of the goodies from earlier branches.
It is organised to that client-side stuff is kept separate from server-side stuff so that if you didn’t want to run Javascript on your server or are already committed to a different delivery mechanism then you can just install one of the client branches to give yourself the client side technologies to work on top of your server.
See the getting started section for more information on how to install from a branch.