
Base Rails 5.1 application with pre-configured tools and features - brunofacca
https://github.com/brunofacca/zen-rails-base-app
======
ssaunier_
At Le Wagon, we had the same need for our students, but we took advantage of
the built-in Rails Templates features. Super handy!

More details here: [https://github.com/lewagon/rails-
templates](https://github.com/lewagon/rails-templates)

~~~
6t6t6t6
Is there a reason for defaulting to Rails 5.0.5 rather than 5.1.3?

------
romanovcode
> minimize the time spent writing boilerplate code and performing repetitive
> setup tasks.

The problem with this is that everyone likes his configuration be in certain
way. So in the end we have 100s of theses kinds of "boilerplate" starting
apps.

I personally don't see value in them at all.

~~~
msluyter
Perhaps, or perhaps enough developers adopt a given project that it becomes a
viable platform. I'm thinking of DropWizard, which is mostly an opinionated
collection of libraries and which has a large impact. (Or at least it did...
been a while since I've done Java.)

One problem I often find myself facing w/Python is that the ecosystem is so
large that it's hard to keep up with the vast numbers of libraries. I have a
list of a dozen or so in my head that for a large enough project I'd probably
want to use. But personally keeping that list fresh is non-trivial. That, and
of course, newer devs in an ecosystem don't have one.

I think these sorts of projects speak to that need.

Now, obviously as you suggest, people have differing needs/preferences, so
there's room for competing visions, and in some cases this can become a sort
of "now we have N+1 problems" meta-problem. But I don't think the fundamental
impetus is misguided.

~~~
weaksauce
I typically search for "awesome $languagename" to get a list of curated
libraries that people use and are stable. It's a decent shortcut to find
what's good.

~~~
yellowapple
I'm sorry to say that the curation of those lists tends to need work.

I know this because I have at least one project on the "awesome Elixir" list
that is absolute rubbish :)

------
pjungwir
This looks very nice!

I have something like this for my own projects, and my favorite piece is
having detailed tests that I don't have to re-write every time: tests for
Devise, tests for Stripe subscriptions, tests for many-to-many users and
accounts, etc. I see this project has the same, which I really like.

I don't know why Devise doesn't have a generator to write all those tests for
you, just like it will give you some starting views. Of course they won't
match your app perfectly, but having the failures is helpful too, and probably
it would be less effort to adjust them than to write new ones from scratch.

The idea isn't to "test the library"\---Devise should have its own internal
tests too---but to make sure that the features work as expected with your own
configuration and customizations.

The other gem where a free battery of tests would really save time is Spree.
(Maybe that exists; I don't know yet.)

------
walski
Looks great. There also is [https://github.com/RailsApps/rails-
composer](https://github.com/RailsApps/rails-composer) which seems to be a
little more modular in what it sets the app up with. It had a Rails 5.1
upgrade Kickstarter a while back, but I'm not sure what came out of that. The
project looks a little abandoned.

~~~
schwad
It's not super busy, but I'm not sure if it needs to be. There have been
commits on it to handle 5.1: [https://github.com/RailsApps/rails-
composer/commit/7088e05e7...](https://github.com/RailsApps/rails-
composer/commit/7088e05e7d7eddce49488e0ccec9c60a386420fb) .

I'll be honest, I use it a lot if I want to spin up a new Rails application
and go through a quick CLI picking databases/auth approaches/test frameworks.

The only other tool I would consider looking at for this is Thoughtbot's
Suspenders but at this moment I have no pain points with rails-composer.

In case I'm not the only one who likes to use it, I've added it to CodeTriage
just now in case anyone would like to be involved in supporting this project.
[https://www.codetriage.com/railsapps/rails-
composer](https://www.codetriage.com/railsapps/rails-composer)

------
CLGrimes
Great concept. I've never understood why there weren't pre-configured SaaS-
based Rails templates out there. Thank you for your contribution to the
community!

------
mhoad
This looks amazing, thanks for posting

~~~
DamnYuppie
Agreed, this is very well put together. One of the better examples of a start
application configuration I have seen in awhile.

------
vvdcect
It would be cool if you could have a command line feature where we could
select what packages we want to use and also add details about the app. Rails
composer is pretty interesting too and it has this feature.
[https://github.com/RailsApps/rails-
composer](https://github.com/RailsApps/rails-composer)

------
voldemort1968
I thought Rails _was_ the boilerplate.

~~~
the-dude
It is boilerplates all the way down.

------
timdorr
Couldn't this be implemented as an Application Template instead?
[http://guides.rubyonrails.org/rails_application_templates.ht...](http://guides.rubyonrails.org/rails_application_templates.html)

~~~
brunofacca
Yes, it could. I might eventually do that, but currently the project has a
narrower scope in the sense that it is meant to have a set of preselected
defaults.

------
ziggzagg
> Base or "skeleton" application for Ruby on Rails 5.1 projects. Built to
> minimize the time spent writing boilerplate code and performing repetitive
> setup tasks.

Wasn't Rails 1.0 invented to solve this exact problem? A decade later and
after 5 versions we are here?

~~~
craigmcnamara
Rails out of the box is ready to build a production ready project. These are
for when developer preferences diverge from the out of the box rails defaults.
I love RSpec and I always set that up when I start a new Rails/Ruby project.
If you do consulting work, you definitely make new apps frequently and having
your favorite things ready to go is a plus. Thoughtbot has a project called
suspenders that includes their preferences for new apps.

------
steinuil
> Built to minimize the time spent writing boilerplate code and performing
> repetitive setup tasks

I never used Rails, but I thought its motto was "conventon over
configuration"?

~~~
craigmcnamara
Rails is productive out of the box. The author has different preferences for
some defaults and some plugins that require config. This is common for a
consultancy to have a project like this so their rails apps are consistent
around non-default add-ons and preferences.

------
abledon
Coming from Django , I was surprised rails 5.1 didn't come with authentication
/ authorization (or a valid email regexp)

I will definitely use this!

~~~
aleyan
Coming to Django, if you want to do auth via email instead of username, you
are out of batteries. I say this criticism as a fan of both Django and Rails.

~~~
gjjrfcbugxbhf
It's about 20 loc to implement this in Django...

Edit: problem is that when starting a new project people often miss those 20
loc - as well as not noticing the documented best practices for accessing the
user...

~~~
abledon
yeah, but i think by mentioning 'batteries' it means __no__ code is needed,
simply a change in a config setting / changing a string to say.. 'username'->
'email' somewhere.

