Daisy-on-Rails is a Ruby on Rails starter kit designed to bootstrap your new app with a modern Rails stack.
Keep it simple
The primary goal of Daisy-on-Rails is to offer a starter kit that accelerates the process of getting a new Rails application up and running with a modern tech stack and the base feature you need to quickly test a project.
It started as a recuring need to bootstrap new projects with a modern stack and a set of tools that I like to use. The goal of Daisy-on-Rails is to remain simple and minimalistic.
If you are looking for a feature rich tempalte with payments, Team etc check out Jumpstart, Bullet Train or Business Class
- Rails 7.2: The latest version of the Ruby on Rails framework.
- Hotwire: Turbo 8 with morphing capabilities.
- Tailwind CSS: A utility-first CSS framework for rapid UI development.
- DaisyUI: A Tailwind CSS component library for styling and theming.
- ViewComponent: Encapsulates the rendering logic of Rails views into reusable objects.
- Authentication: Implemented with Authentication-zero.
- Admin Interface: Utilizing AVO for easy admin panel creation. (WIP)
- Propshaft: A modern replacement for Sprockets to handle assets.
- Sitepress: Static pages and blog
- Standard: Code style enforcement for Ruby and JavaScript.
- ERB Lint: Linter for ERB templates.
- Livereload: Enables live reloading of web pages as you code.
- Minitest: A fast, easy-to-use testing framework for Ruby.
- Github Actions: Continuous integration
- Kamal: basic Kamal deploy script (WIP)
The template includes default UI components for quick integration:
- Navbar (WIP)
- Buttons
- Links
- Modals (WIP)
- Badges (WIP)
- Dropdowns
- Form fields (input, teaxt area)
<%= form_with(url: sign_in_path, class: "flex flex-col max-w-sm gap-6 w-full") do |form| %>
<%= form.ui_email_field :email, label: false, placeholder: t("email"), required: true, autofocus: true %>
<div class="flex flex-col gap-1">
<%= link_to t("forgot_password"), new_identity_password_reset_path, class: "link link-primary ml-auto" %>
<%= form.ui_password_field :password, label: false, placeholder: t("password"), required: true, autocomplete: "current-password" %>
</div>
<%= form.ui_submit t("sign_in"), class: "mt-6", id: :sign_in %>
<% end %>
Easily customize the theme using Daisy UI's theme settings to align with your project's branding and design preferences.
This starter kit includes custom generators that use the built-in components, streamlining the development process.
To use this template for your project, follow these steps:
-
Clone the Repository
git clone git@github.com:adrienpoly/daisy-on-rails.git myapp cd myapp
-
Rename the Origin Remote
git remote rename origin daisy-on-rails
-
Add Your Repository
git remote add origin git@github.com:your-account/your-repo.git # Replace with your new Git repository URL
-
Rename the Application
Look for DaisyOnRails and daisy_on_rails and replace with your app name (e.g. Myapp)
Run bin/setup
to install Ruby and JavaScript dependencies and setup your database.
bin/setup
To run the application, use the bin/dev
script.
bin/dev
To merge changes, merge from the daisy-on-rails
remote.
git fetch daisy-on-rails
git merge daisy-on-rails/main
Daisy-on-Rails is released under the MIT License.
Bug reports and pull requests are welcome on GitHub at github.com/adrienpoly/daisy-on-rails