/foundation

Handcrafted's Foundation Application, a clean starting point for every app

Primary LanguageJavaScript

Handcrafted Foundation

Handcrafted is a small team of Ruby on Rails developers (mainly Josh Owens and Adam Stacoviak). We focus on creating smart, usable web sites built on a foundation of clean, extensible, handcrafted code. We eat our own dog food, we use Foundation as our core starting point to ensure consistency through-out our applications. We bake all our goodness in here. Once.

Foundation is built with certain specific standards and opinions in mind. We were tired of re-writing and copy & pasting the same code over and over from project to project. Then git came along. Git helped us realize there was a better way.

Key Concepts

  • Make the app extensible by offering smart hooks for engines and plugins to add functionality
  • Keep the code clean. Break repeating code out into partials and re-use as needed
  • Write semantic HTML/Haml. Of course clean, organized CSS/Sass goes with that. And with the help of Compass, we get to ensure that we keep our CSS/Sass DRY
  • Tests, tests, tests. If you aren’t testing. You are wrong.

Opinionated Choices

Gotchas

  • We try to use “Markers” in key files, such as routes and application.js. We do this to ensure that continued foundation development doesn’t trample continued application development
  • Don’t annotate the base Foundation application. You should only be annotating the models in your real application

Installation Steps (development)

1. mkdir My-Foundation-App
2. cd My-Foundation-App
3. git init
4. git remote add foundation git://github.com/handcrafted/foundation.git
5. git pull foundation master
6. git remote add origin git@github.com:me/my-foundation-app.git
7. cp config/database.example.yml config/database.yml
8. Confirm database setup in config/database.yml
9. sudo gem sources -a http://gemcutter.org/
10. sudo gem install chronic
11. rake gems:install
12. rake db:create
13. rake db:migrate
14. rake db:seed
15. compass

License

(The MIT License)

Copyright © 2009 Handcrafted, LLC

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ‘Software’), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED ‘AS IS’, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.