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.

Screenshots

Landing page

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

landing page
Landing page

Classic pages

Classic pages like "about", "credits", "terms and conditions" are already designed, as well as the pricing page.

pricing page
Pricing page

Styleguide

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.

styleguide
Styleguide

Authentication flow

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.

login
Login page

Customer dashboard

The customer dashboard is what the customer can see or modify once connected.

Customer dashboard
Customer dashboard

Admin dashboard

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.

Admin dashboard
Admin dashboard

Blogging

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.

Blog
Blog

UX and accessibility

We have worked on UX to give every user, customer or coworker, the most intuitive experience. Flash messages are first-class citizen, they show for (almost) every action, no matter where what device or scrolling position is. All of these by using plain old Rails and Vanilla JavaScript (see below) only.

UX
UX

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.

Boring Rails
Boring Rails

Continuous Integration

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 :

Continuous Integration
Continuous Integration

Philosophy

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.

Last words

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.

David.

Build your MVP with Rails

👉 We are 2 Ruby-on-Rails lovers. By building BootrAils, we hope we will help you to launch your Startup idea (really) faster.
Take care ! Health first. 🙏
Shino & David.