The ruby community has tons of great gems out there that have saved a huge amount of time. But every time we started a project we found ourselves doing the same stuff over and over, figuring out exactly how we wanted to configure a particular gem for a particular problem. Even though we were more interested in creating a new product with particular functionality we were spending a lot of time doing "plumbing".
$ gem install happy_seed
There is a small application template that is used to start the app, which itself includes the happy_seed gem. This exposes the rail generators and templates to your project, which is how functionality gets installed.
$ happy_seed rails app_name
You will get prompted for what you want to install. Read more about it!
The seed gem itself is a set of generators, and only that. Functionality is either copied directly into your application, or included via a gem.
Since a lot of the generators alter routes, when you destroy a generator (for example the splash page) it may not leave your routes in the correct state.
If you want to extract some functionality of your own application, rails plugins are the way to go. We like autotest and rspec, which was always tricky to configure, so we packaged that up to!
$ happy_seed plugin acts_as_awesome
Read more about it!
Or if you want to make an engine
$ happy_seed engine acts_as_awesome
Read more about it!
Explore the diagram!
Click anywhere on the diagram to see what each option for happy seed installs and what it is connected to.
This should give you an idea of what options are dependant on others.
Base install:
Disables Turbolinks, includes haml, meta-tags, and dotenv-rails. Sets up basic http authentication, and puma.
Check out the docs >
Bootstrap install:
Installs bootsrap-sass, modernizr-rails, organizes your assets directory organizes views and layouts directories, sets up application_helper methods to help with forms, includes flash support in application layout, updates rails scaffolding template to use bootsrap forms, turns off scaffolding stylesheet generation.
Check out the docs >
Devise install:
Installs devise, generates user class, copies over devise views and converts them to haml, and installs MailPreview for the device mailer.
Check out the docs >
Splash install:
Installs a splash page, sets up splash controller and sets up mailing list sign up with mailchimp. You just have to dump in your list id and api key.
Check out the docs >
Omniauth install:
Generates identity model link to user, installs omniauth, an omniauth controller, updates devise config, adds routes, removes devise email/password validations, adds FormUsers < User model for validations, and adds a registration controller to allow the user to add email and password for auth strategies that don't support it.
Check out the docs >
Jazz Hands install:
Installs jazz hands. Tada!!!!!!
Check out the docs >
HTML Email install:
Installs the pre-mailer gem which inlines styles for you and makes creating html-email much easier. It also sets up some base styles so that your html-emails look good out of the box.
Check out the docs >
Angular install:
Installs angularjs-rails, updates application.js, creates structure in app/assets for templates and angular controllers, installs angular_controller.rb, and creates a sample landing view.
Check out the docs >
Api install:
Installs apitome and rspec_api_documentation, uses token auth.
Check out the docs >
Devise invitable install:
Installs devise_invitable, migrates your db, adds columns for invite, copies over devise views and formats them with bootstrap.
Check out the docs >
Devise confirmable install:
Installs and sets up devise_confirmable so you can confirm users through a link in an email.
Check out the docs >
Roles install:
Installs and sets up can-can so you can manage roles quickly and easily. It is set up to work with active-admin out of the box so that you don't need a separate admin.
Check out the docs >
Admin install:
Installs and sets up active admin for back office mangement of content, users etc.
Check out the docs >
React Install
Installs react_on_rails and gets your Hello World react app up and running.
Check out the docs >
Simple CMS Install
Creates a simple CMS to make switching out content a breeze.
Check out the docs >
Ckeditor Install
Installs ckeditor so that you can give users editing content the ability to add format text with html etc.
Check out the docs >