Super Scaffolding allows you to generate production-ready views and resource controllers, but it does much, much more, including allowing you to add new fields to existing scaffolds.
Nothing new here! We've all been using Devise for ages, so why not standardize on it and wrap it in a beautiful theme so we can build bigger and better things?
Teams and Invitations
Teams are the kind of feature where if you don't implement them on day one, they're a real pain to add later. Bullet Train's support here is industry leading.
Security and Permissions
We've weaved CanCanCan into the fabric of Bullet Train, so whether by web UI or REST API, users can only access the resources and features they're supposed to.
After years of pushing CanCanCan to the limit, we created another layer of abstraction on top of it to help simplify the definition and enforcement of custom user roles.
Gorgeous Tailwind CSS Theme
Bullet Train comes with a professionally designed UI theme, implemented with our favorite, Tailwind CSS. And because it's MIT licensed, it serves as a great starting point for creating, distributing, or selling your own Bullet Train themes.
Rich Form Fields
Not important enough for most developers to spend time on, but you won't want to work on your own app in the evening without it. Bullet Train supports dark mode out of the box.
Full Theme Engine
Our UI is built on top of a partial-based theme engine, so switching the look and feel of your UI is as easy as changing a Ruby gem. (Literally, that's how you do it.) It also leaves the door open to other CSS frameworks (like Bootstrap) and an entire theme ecosystem.
Simplest. Reactivity. Ever.
When data changes on the server, views update in the UI via ActionCable. Bullet Train pioneered an insanely simple approach to server-side reactivity that is now implemented and maintained as part of CableReady.
Bullet Train includes a Grape-powered JSON:API-compliant REST API. It also produces an OpenAPI schema, so you can auto-generate your API documentation and client libraries. And because Super Scaffolding is aware of it, your API always has feature parity with your web interface.
Not only can your users build their own integrations by subscribing to receive webhook notifications when things happen in your application, but they can debug them via a rich in-app UI.
All strings, including those you create with Super Scaffolding, are fully extracted into I18N YAML files and ready to be translated into whichever languages you want to support.
Blazing Fast JS and CSS
We've included pre-baked workflows to allow your users sign up with or integrate after sign-up with Facebook, Twitter, Stripe, and over a hundred other third-party OAuth provider platforms.
As part of our default sign-up process, we've included a highly editable onboarding wizard that ensures you can step new customers through their setup process. Nothing magical, it's just Rails code!
Bullet Train pages and workflows are tested to make sure they're fully responsive and work great on all devices right out of the box.
Complete Test Coverage
It's one thing to integrate all these third-party libraries and first-party features, but it's another altogether to write a full suite of automated system tests to make sure it never breaks on you.
Write System Tests In-Browser
We've created a new system for writing and debugging system tests and makes writing new tests as easy as using your application in the browser. It's called Magic Test.
Blazing Fast, Turn-Key CI
The starter repository includes a
for CircleCI that supports Knapsack Pro
out of the box, so your CI can run as fast as your one slowest test.
Framework Override Workflow
Despite being distributed in Ruby gems, every aspect of Bullet Train is designed to be overriden and customized on a per-application basis. Our
bin/resolve workflow makes it easy.
Bullet Train comes with a fully-loaded, production-ready
app.json configuration, so you can click a button and deploy to Heroku today, and newer platforms like Render in the future. Want to try it?
Bullet Train is built by a remote team all over the world and we ship updates around the clock. Since our functionality is shipped as Ruby gems, upgrading your application is as easy as running