**
Avo - Ruby on Rails Admin Panel Framework**
Avo is a very custom Admin Panel Framework, Content Management System, and Internal Tool Builder for Ruby on Rails that saves engineers and teams **months of development time**.
## Get started
⚡️ **Install**: [docs.avohq.io/4.0/installation](https://docs.avohq.io/4.0/installation.html)
✨ **Website**: [avohq.io](https://avohq.io)
**Documentation**: [docs.avohq.io](https://docs.avohq.io)
**Roadmap**: [GitHub Roadmap](https://github.com/orgs/avo-hq/projects/14)
**Demo App**: [Avodemo](https://main.avodemo.com/)
**Twitter**: [`avo_hq`](https://twitter.com/avo_hq)
**Issue Tracker**: [GitHub Issues](http://github.com/avo-hq/avo/issues)
**Discussions and Feature Requests**: [GitHub Discussions](http://github.com/avo-hq/avo/discussions)
## Features
- **Powered by Hotwire** - Rails ❤️ Hotwire
- **Code driven configuration** - Configure your Rails dashboard entirely by writing Ruby code. [docs](https://docs.avohq.io/4.0/resources.html#manually-defining-resources)
- **Resource Management** - Create a CRUD interface for Active Record from one command. No more copy-pasting view and controller files around.
- **Dashboard widgets and metrics** - Create metrics, charts, and custom cards amazingly fast. [docs](https://docs.avohq.io/4.0/dashboards.html)
- **Resource Search** - Quickly run a search through one or more resources at once. [docs](https://docs.avohq.io/4.0/search/resource-search.html)
- **Associations enabled** - Link your models together with all types of associations (belongs_to, has_many, polymorphic, etc.). [docs](https://docs.avohq.io/4.0/associations.html)
- **Fuzzy-searchable associations** - Do you have a ton of records and don't want to scroll through a big dropdown? Avo's got you covered. [docs](https://docs.avohq.io/4.0/associations/belongs_to.html#searchable)
- **Active Storage support** - Amazingly easy, **one-line**, single or multi-file integration with **ActiveStorage**. [docs](https://docs.avohq.io/4.0/fields/file.html)
- **Records Ordering** - Sorting records is a breeze. [docs](https://docs.avohq.io/4.0/records-reordering.html)
- **Grid view** - Beautiful card layout to showcase your content. [docs](https://docs.avohq.io/4.0/grid-view.html)
- **Actions** - Run custom actions to one or more of your resources with as little as pressing a button [docs](https://docs.avohq.io/4.0/actions/overview.html)
- **Filters** - Write your own custom filters to quickly segment your data. [docs](https://docs.avohq.io/4.0/filters.html)
- **Keeps your app clean** - You don't need to change your app to use Avo. Drop it in your existing app or add it to a new one and you're done [docs](https://docs.avohq.io/4.0/installation.html)
- **Custom fields**- No worries if we missed a field you need. Generate a custom field in a jiffy. [docs](https://docs.avohq.io/4.0/custom-fields.html)
- **Custom tools** - Break out of the CRUD. Do you need to add a page with something completely new? You've got it! [docs](https://docs.avohq.io/4.0/custom-tools.html)
- **Authorization** - Leverage Pundit policies to build a robust and scalable authorization system. [docs](https://docs.avohq.io/4.0/authorization.html)
- **Localization** - Have it available in any language you need. [docs](https://docs.avohq.io/4.0/i18n.html)
- **No asset pipeline pollution** - Bring your own asset pipeline. [docs](https://docs.avohq.io/4.0/custom-asset-pipeline.html)
- **Mobile interface** - Check your data on the go from any mobile device.
- **Tabbed interface** - Conditionally show the data you need
- **Menu builder** - Group and surface information as you need to
- **Appearance** - Make it look good
## Some of the things we're going to focus on next
Theming ⭐️ notifications ⭐️ Resource segmentation ⭐️ inline editing ⭐️ multilingual records ⭐️ keyboard shortcuts ⭐️ track resource changes ⭐️ live resources ⭐️ columns view ⭐️ list view ⭐️ custom action items ⭐️ command bar
For more up-to-date info check out our [Roadmap](https://github.com/orgs/avo-hq/projects/14).
# Installation
Use this RailsBytes template to get started quick `rails app:template LOCATION='https://avohq.io/app-template'`. If you need a more detailed guide, follow [this page](https://docs.avohq.io/4.0/installation.html).
# Localization
Tab and panel titles use the resource's translation key with the title parameterized as the final segment:
```yaml
en:
avo:
resource_translations:
user:
tabs:
activity: Activity
panels:
contact_information: Contact information
```
For `tab title: "Activity"` and `panel title: "Contact information"`, Avo looks up `avo.resource_translations.user.tabs.activity` and `avo.resource_translations.user.panels.contact_information`. The configured title remains the fallback. Pass a full `translation_key:` to either item when the generated key is not suitable.
See the [localization documentation](https://docs.avohq.io/4.0/i18n.html) for the other available conventions.
# Contributing
Please read [CONTRIBUTING.MD](./CONTRIBUTING.MD)
# Upgrade Guide
Please read the [UPGRADE_GUIDE.MD](https://docs.avohq.io/4.0/upgrade.html)
# Release schedule
Please read the [RELEASE.MD](./RELEASE.MD)
# ✨ [Contributors](https://avohq.io/contributors)
# Sponsors
[Become a sponsor](mailto:
[email protected])
# Shoutouts
[Get a box of waffles and some of the best app monitoring from Appsignal](https://appsignal.com/r/93dbe69bfb)
[Get $100 in credits from Digital Ocean](https://www.digitalocean.com/?refcode=efc1fe881d74&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge)
## Other Open Source Work
- [`active_storage-blurhash`](https://github.com/avo-hq/active_storage-blurhash) - A plug-n-play [blurhash](https://blurha.sh/) integration for images stored in ActiveStorage
- [`class_variants`](https://github.com/avo-hq/class_variants) - Easily configure styles and apply them as classes. Very useful when you're implementing Tailwind CSS components and call them with different states.
- [`marksmith`](https://github.com/avo-hq/marksmith) - GitHub-style markdown editor for Ruby and Rails
- [`prop_initializer`](https://github.com/avo-hq/prop_initializer) - A flexible tool for defining properties on Ruby classes.
- [`stimulus-confetti`](https://github.com/avo-hq/stimulus-confetti) - The easiest way to add confetti to your StimulusJS app
- [`db_config`](https://github.com/avo-hq/db_config) - Database-backed configuration store for Rails with automatic type conversion, default values, and high-performance eager loading.
- [`jsonq`](https://github.com/avo-hq/jsonq) - Friendly JSON column queries for ActiveRecord