Description
Low-code Admin panel and Business intelligence Rails engine (no DSL - configurable from the UI).
⚡ Motor Admin ⚡ alternatives and similar gems
Based on the "Admin Interface" category.
Alternatively, view motor-admin-rails alternatives based on common mentions on social networks and blogs.
-
RailsAdmin
RailsAdmin is a Rails engine that provides an easy-to-use interface for managing your data -
ActiveScaffold
Save time and headaches, and create a more easily maintainable set of pages, with ActiveScaffold. ActiveScaffold handles all your CRUD (create, read, update, delete) user interface needs, leaving you more time to focus on more challenging (and interesting!) problems. -
Sail
Sail is a lightweight Rails engine that brings an admin panel for managing configuration settings on a live Rails app -
Forest Admin
💎 Ruby on Rails agent for Forest Admin to integrate directly to your existing Ruby on Rails backend application. -
Wallaby
Autocomplete the resourceful actions and views for ORMs for admin interface and other purposes. -
Faalis
A RubyOnRails platform for rapid web application development. Containing a rich and flexible dashboard interface
SaaSHub - Software Alternatives and Reviews
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of ⚡ Motor Admin ⚡ or a related project?
README
⚡ Motor Admin ⚡
Low-code Admin panel and Business intelligence Rails engine (no DSL - configurable from the UI).
🤓 Demo App | 👀 Features overview | ⭐ Pro
Installation
Add this line to your application's Gemfile:
gem 'motor-admin'
And then execute:
$ bundle install
Create and run migration:
$ rails motor:install && rake db:migrate
Features
- Customizable CRUD
- Custom actions
- Virtual attributes
- Forms builder
- SQL queries
- Data visualization
- Dashboards
- Email alerts
- Authorization
- Intelligence search
- I18n
- Optimized for mobile
- Configurations sync between environments
- Authentication
Pro
- Multiple databases support
- Audit log
- Live collaboration
- Multi-factor authentication
- Custom styling
- Personalized report alerts via Slack
- Full-text search
- Stripe integration
- Shareable forms and reports
- learn more
Customizable CRUD
Everything in the admin panel can be configured using the intuitive settings UI, which can be opened via the icon in the top right corner.
Data displayed on the resource page can be completely customized via SQL queries and dashboards attached to the resource as a tab. Usually, queries used to display resource data should contain {{resource_name_id}}
variable.
Learn more about resource customizations
Custom Actions
Custom resource actions can be added via Active Record method call, API endpoint, or custom forms. Also, it's possible to override default create/update/delete actions.
Virtual attributes
Any ActiveRecord model method or attribute can be exposed to the admin panel by adding a new column with the name that matches the method name from the resource model:
class Customer < ApplicationRecord
has_many :orders
def lifetime_value
orders.sum(&:total_price)
end
end
Forms Builder
Values from the form fields can be used in API path via {field_name}
syntax: /api/some-endpoint/{resource_id}/apply
.
Learn more about custom forms builder
SQL Queries
Queries can include embedded variables via {{variable}}
syntax (mustache). {{#variable}} ... {{/variable}}
syntax allows to decide if conditions inside the scope should be included in the query.
Data Visualization
Data from the SQL query can be represented as: table, number, line chart, bar chart, pie chart, funnel, markdown
Dashboards
SQL queries can be organized into dashboards to create a convenient representation of the data.
Email Alerts
Query data can be sent via email periodically using the alerts feature. Interval of the alert email can be specified using natural language, e.g., every day at midnight
, every Monday at 8 PM
, every weekday at 6AM and 6PM
, every minute
.
Sender address can be specified using MOTOR_ALERTS_FROM_ADDRESS
environment variable.
Intelligence Search
Intelligence search can be opened via the top right corner button or using Cmd + P shortcut.
Authorization
Motor Admin allows to set row-level and column-level permissions via cancan gem. Admin UI permissions should be defined in app/models/motor/ability.rb
file in Motor::Ability
class. See Motor Admin guide and CanCan documentation to learn how to define user permissions.
I18n
Motor Admin can use Rails ActiveRecord i18n keys to render resource translations:
es:
activerecord:
models:
customer:
one: Cliente
other: Clientes
attributes:
customer:
name: Nombre
scopes:
customer:
enabled: Activado
Optimized for Mobile
Configurations Sync
All admin panel configurations are automatically stored in the config/motor.yml
file. It's recommended to include this file in the application git repository to always have the admin panel configurations in sync across different local and remote environments.
It's possible to sync local development admin panel configurations with remote production application via rake motor:sync
task:
MOTOR_SYNC_REMOTE_URL=https://remote-app-url/ MOTOR_SYNC_API_KEY=secure-random-string rake motor:sync
Authentication
Admin panel can be secured with 'Basic authentication' by specifying MOTOR_AUTH_USERNAME
and MOTOR_AUTH_PASSWORD
environment variables.
Alternatively, it can be secured with devise or any other authentication library used by the application:
authenticate :admin_user do
mount Motor::Admin => '/admin'
end
Development
Start webpack dev server:
yarn install && yarn serve
Setup development database:
rake app:db:create && rake app:db:setup
Start example application in development mode:
MOTOR_DEVELOPMENT=true rails s
License
The gem is available as open source under the terms of the MIT License.
*Note that all licence references and agreements mentioned in the ⚡ Motor Admin ⚡ README section above
are relevant to that project's source code only.