BootrAils released ! 🎉
Posted February 16, 2022 - tagged changelog ‐ 8 min read
After weeks of developing a minimalist and easy-to-use Ruby-on-Rails starter kit, we are finally releasing publicly Bootrails.
You can get it here.
Below are a few screenshots, and some bits of philosophy.
What is BootrAils
Bootrails is a Ruby-on-Rails starter kit, that means that instead of starting with a blank app, you start with all classic features (design, authentication, admin dashboard, and many more) already implemented. This way, your precious time and energy is focused on added value right from the first day.
You never have twice the opportunity to make a first good impression. The landing page is here to convince the visitor to buy or use your product. We gave you some guidance as well as a clean, modern design by default, that could help you to achieve your goals
Classic pages like "about", "credits", "terms and conditions" are already designed, as well as the pricing page.
This is not strictly mandatory, but the styleguide page will help a lot the work between the designer and the developer. What is the color scale ? Which spacing(s) are allowed ? The styleguide will evolve with your product, so that you can't strictly rely on the documentation of your underlying CSS framework. We give you a minimalist styleguide from the start, so that you can make it your own.
The visitor is able to sign in, sign up, log out. The "forgot password ?" feature is implemented, as well as changing the user name, email, and password once connected. Of course closing the account is also available. On first connection, every new customer needs to verify its account through email confirmation.
The customer dashboard is what the customer can see or modify once connected.
When an admin is connected, an admin dashboard is available. This is where you can do the classic Create, Read, Update, Delete on your data. Even for non-techie. The admin dashboard gives a lot of guidance to the user - usually your CEO or coworkers. There is also a section for the developer, for more technical tasks.
The blog is already set-up. Canonical URL, code excerpts, categories, title, RSS feed, and so on. A classic feature, with all details already coded. This will increase SEO and help you with the marketing part right from the beginning.
UX and accessibility
Plain old Ruby-on-Rails
No fancy design pattern inside the code. You will find a classic Ruby-on-Rails app, without . There are two exception : the "misc" folder was added by Rodauth, our authentication gem. And there is a couple of "plain Ruby services" under the services/ folder. Aside of this, everything could be qualified as "boring Rails". So that reading and extending the codebase will be a breeze, even if you have learned Rails recently.
We have already set up continuous integration on CircleCi. It has a large generous free tier, and you can plug it to any version control system. GitHub is possible, but not mandatory. Once you have configured CircleCI (2 minutes, literally), all tests and coverage calculations are made for you, each time you push a new commit :
As "plain Rails" as possible
You will find very little (if not zero) surprise in the code. All the controllers code was first extracted from the standard Rails scaffolders, so if you have met once a HelloWorld tutorial about Rails, controller will look like these - with some minor differences.
As "lean" as possible
We started from rails --minimal, embedding only the strict necessary gems for a MVP built with Rails. For example, ActionCable is nice, but may not be needed to get your first customer. Therefore, ActionCable is not embedded in Bootrails.
As "simple" as possible
Sometimes Rails default features are too complex. For example, system tests are complex to build and maintain, so we use the cypress gem which abstract a lot of complexity, and make e2e testing a breeze.
Same can be said for frontend assets management. Rails 7 comes with 4 different tools (at least) to manage JS and CSS, whereas ViteJS is just one tool that does the job perfectly.
That being said, we always ensure backward compatibility with work of others. Sprockets is kept into the stack (even if not used), so that you may add external gems that relies on it one day.
As "universal" as possible
We love the brand new Hotwire trend, we also like AlpineJS a lot.
However, none of them is embedded into Bootrails. VanillaJS is sufficient to achieve a decent User Experience. We said "decent", not "top-notch". Which means that if one day you have to tackle a complex UX problem, nothing prevents you from adding Svelte or Vue, if you wish.
As "understandable" as possible
Not only we use plain old Rails and JS standards, but we also ensure that you will never get lost at any point. Just read and run the test suite to understand all the features at a glance, from the 1st day.
As "beautiful" as possible
This topic is subjective, and your mileage may vary, of course. But we tried to start with the most readable, clean, modern design to give your visitor an excellent first impression.
If you want to start a new Rails project, maybe the best way is to start from the
rails new --minimal command, and build classic/boring features described above, one by one, yourself.
Thus, you will have a reusable starter for all your new project, embedding only the tools you love.
That being said, if you don't have time to build such a starter yourself, and you like the philosophy of minimalism and empathy that guided us, maybe you can give Bootrails a try, just here.
Thanks for reading, have a good day ! Health first.