Groundwork is a set of rails templates that has the goal to jump-start the development of rails applications by helping in the configuration of development environment and with the implementation of features present in the majority of web applications:
- Authentication
- Authorization
- Internationalization
- Basic Administration
- Basic Layout
In the best case it will permit a developer to focus in the domain specific features of his application.
Uses git to create a fresh repository for the new application.
For rapid setup and prototyping the sqlite3 backend is used.
Uses haml and sass as templating engines for the whole application.
Implements the authentication logic using authlogic.
A fully functional BDD environment is in place. The core gems are installed and configured, in addition email-spec and remarkable are installed to help in the specification of behaviors.
The template has 100% test code coverage.
Groundwork is compose of several templates, some have been implemented so they can be used remotely and/or in existing rails applications:
$ rake rails:template LOCATION=http://github.com/hectoregm/groundwork/raw/master/<template>.rb
Right now you can use git and bdd templates in this way.
The main philosophy driving base is KISS: Keep it Short and Simple. Each feature is implemented to be reusable for a full range of applications, so you the developer focus in your features.
So while other app templates can have more bells and whistles Base objective is to be a good base to begin the development of features you need.
The following packages must be installed:
- git
- sqlite3-ruby
- rails >= 2.3.2
The BASE_PATH
env variable must be set with the path to the base
directory of the groundwork repository
$ export BASE_PATH = <path to groundwork/base directory>
Then to generate the rails app we use:
$ rails <name app> -m groundwork/base.rb
- Authentication: Using authlogic gem.
- Email activation.
- Password reset.
- Configuration of a BDD environmnent.
- Test Coverage: >= 95%.
- Basic Layout (Based in pilu/web-app-theme).
- Internationalization. (:es being the only translated language)
- Ruby 1.9 Compatibility
- Authorization
- Basic Administration
- Git
- rspec
- rspec-rails
- cucumber
- webrat
- remarkable
- email-spec
- forgery
- machinist
- authlogic
- haml
- web-app-theme
- rdiscount
- formtastic
Copyright 2009 Hector E. Gomez M. Released under the MIT license