Monkey::Gun
This is an opionionated project creator based in the assumption that server-rendered applications will be replaced by single-page applications in the near future. Javascript frameworks are here to stay and what our backend frameworks should evolve to be API generators.
Installation
Install it globally with this:
$ gem install monkey-gun
Usage
The assumption in the structure is the following:
- A folder for your API code. The assumption here is to use Rails, ActiveModelSerializers and PostgreSQL.
- A folder for your client side app code. We are assuming Ember because we like.
- A folder to test your API code in order to make a bridge with the client side.
- A Rakefile or a Capfile and a deploy folder for your deployment tasks. We can deploy against S3, DigitalOcean or whatever or maybe we can deploy to Github-Pages or Heroku. This is the only decision you have to do. There is an option that takes the values
capistrano
andrake
and make the correct arrangement. - A single repository for all of this. Manage multiple repositories can be an early optimization that can make things more complex and we need to start as simple as possible.
Well, after acknowledging this, here are the instructions:
$ monkey-gun create hello-world
Roadmap
- Make Rails and Ember optional to allow using any other framework in case somebody else likes any other thing.
- Include a fully-fledged Capfile for deployments, not only run
cap:i
.
Contributing
- Fork it ( https://github.com/juliogarciag/monkey-gun/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request