View Me on GitHub

Seed.
Build MVPs quickly.

Happy Seed

The fastest way to get an MVP out the door.
Quickly set up a project and get all the pesky details right

What?

Starting up building applications in seconds with the follow features:

  • User Accounts
  • Smart testing
  • Splash pages
  • Integration with facebook, twitter, google, etc.
  • Smart Generators with HAML and Bootstrap
  • Admin Tools
  • Use what you need
  • Much more...

How is Happy Seed put together?


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 >

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 >

Why?

We like to try out lots of different ideas, and we build a lot of apps for clients.

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".

Why not make it really easy to get through the plumbing, so we can focus on the part that makes the application different rather than the stuff that makes it the same?

How?

Install the gem

$ gem install happy_seed

This creates the Rails plugin on your system.

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.

Generate a new rails app

$ happy_seed rails app_name

Now create!

You will get prompted for what you want to install. Read more about it!

Start editing!

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.

Rails Plugins

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!

Rails Engines

Or if you want to make an engine

$ happy_seed engine acts_as_awesome

Read more about it!

Middleman static site

$ happy_seed static static_site

Read more about it!

Middleman static blog

$ happy_seed static_blog static_site

Read more about it!