Skip to content

HappyFunCorp/happy_seed

Repository files navigation

HappySeed

This project rocks and uses MIT-LICENSE. Documentation at the website

What is it?

HappySeed is a set of application templates to help you get started building out new sites. The main section is a rails application template plus a set of rails generators to help you get started with rails appliations quickly. These generators setup the configuration of the application in a standard way, and the full set of generators include many things for setting up a modern rails app and well as middleman apps. The full set of generators include

All of these documents are droped into the docs folder of your project, and can be viewed with the setup inspector once you start up the app.


                                                  ┌────────────────────┐
                                               ┌──│ devise_confirmable │
                ┌───────────┐                  │  └────────────────────┘
            ┌───│ ckeditor  │       ┌───────┐  │  ┌──────────────────┐
            │   └───────────┘       │  api  │  ├──│ devise_invitable │
            │   ┌────────────┐      └───────┘  │  └──────────────────┘
            ├───│ jazz_hands │          │      │  ┌───────┐      ┌────────────┐
            │   └────────────┘          ▼      ├──│ roles │◀─────│   admin    │
            │   ┌───────────┐      ┌────────┐  │  └───────┘      └────────────┘
            ├───│ htmlemail │   ┌──│ devise │◀─┤                 ┌────────┐
            │   └───────────┘   │  └────────┘  │  ┌────────┐  ┌──│facebook│
  ┌──────┐  │   ┌────────────┐  │              └──│omniauth│◀─┤  └────────┘
  │ base │◀─┼───│ bootstrap  │◀─┤                 └────────┘  │  ┌───────┐
  └──────┘  │   └────────────┘  │  ┌────────┐                 ├──│github │
            │   ┌────────────┐  └──│ splash │◀─┐              │  └───────┘
            ├───│   react    │     └────────┘  │              │  ┌──────────┐
            │   └────────────┘                 │              ├──│googleauth│
            │   ┌────────────┐           ┌───────────┐        │  └──────────┘
            └───│angular_view│◀──┐       │simple_cms │        │  ┌─────────┐
                └────────────┘   │       └───────────┘        ├──│instagram│
                                 │                            │  └─────────┘
                         ┌───────────────┐                    │  ┌───────┐
                         │angular_install│                    └──│twitter│
                         └───────────────┘                       └───────┘

Usage

$ gem install happy_seed

$ happy_seed rails app_name

To list out existing generators:

$ rails g

What is this for?

The purpose of this app is to make it quick and easy to start projects by getting all of the basic plumbing out of the way. There are a lot of great gems and tools around to help build software, and for common tasks, this takes away the pain of having to remember how to set them up. The omniauth-twitter gem is great, but remembering exactly how to configure twitter for each new project is a) the same each time and b) a pain to remember. This makes that go away.

This application template and set of generators dumps some sensible configuration into a new rails project and then lets you customize and change from there. It is not necessary to keep it in the project after a certain stage where everything will be custom anyway.

Lets whip up some things quickly!

Contributing

Clone the repo, and set the SEED_DEVELOPMENT environment variable to the local repo directory path. To run the generator from the cloned source, execute:

$ cd $SEED_DEVELOPMENT
$ bundle exec bin/happy_seed

This will create an app and set the happy_seed gem to use your local happy_seed repo. For an existing app, change the Gemfile to have the happy_seed gem point to this path. For a new app, this will be set up automatically.

For rails, you can now run the regular generator commands. Since it's inconvenient to create new apps over and over, a simple pattern is, for example:

$ git commit -a
$ rails g happy_seed:bootstrap
$ git reset --hard