Project

airview

0.0
The project is in a healthy, maintained state
Airview mounts an internal admin UI for browsing and editing explicitly registered ActiveRecord models.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Runtime

>= 7.1, < 9.0
 Project Readme

Airview

Airview is a mountable Rails engine for building an Airtable-like internal admin UI on top of a Rails application's own database.

It lets trusted internal users enable Rails models through the Airview setup UI, then browse records, filter and sort tables, save views, create records, edit cells, delete rows, and work with simple belongs_to references.

Airview does not authenticate users. Protect the mounted route in your host Rails app.

Installation

Add the gem to a Rails 7.1+ application:

bundle add airview

Run the installer and migrate:

bin/rails generate airview:install
bin/rails db:migrate

Usage

Mount the engine behind your app's authentication:

# config/routes.rb
authenticate :user, ->(user) { user.admin? } do
  mount Airview::Engine => "/airview"
end

Visit /airview/setup to configure resources. Airview discovers concrete host-app ActiveRecord models, pre-fills fields from the schema cache, hides sensitive-looking fields by default, and saves enabled resources in Airview-owned database tables.

Resource configuration is DB-managed. The initializer is reserved for future global settings.

Supported field types:

:string, :text, :integer, :float, :decimal, :boolean, :date, :datetime, :select, :belongs_to, :json

Only enabled resources and visible fields are shown. Creates, updates, and deletes go through ActiveRecord, so model validations and callbacks still apply.

Development

After checking out the repo, run bin/setup to install dependencies. You can also run bin/console for an interactive prompt.

Run tests and linting:

bundle exec rake

To install this gem onto your local machine, run bundle exec rake install.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/jacksonriso/airview. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.

Code of Conduct

Everyone interacting in the Airview project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.