A Rails engine that helps you put together a super-flexible admin dashboard.
Ruby HTML CSS Other
Clone or download
nickcharlton Add an app.json for Heroku.
This will allow us to use Heroku Review Apps.
Latest commit 2c54226 Aug 10, 2018
Permalink
Failed to load latest commit information.
.circleci Add Ruby 2.2.9 to Circle and clarify support. Jan 27, 2018
app Fix i18n inconsistencies in forms for associations Jul 20, 2018
bin Remove delayed_job_active_record dependency (#845) May 2, 2017
config Add missing zh-TW translations (#1163) May 18, 2018
docs Add forgotten .with_options in documentation (#1166) Aug 10, 2018
gemfiles Release version 0.10.0. Apr 20, 2018
lib Sort has_many fields (#945) Jun 1, 2018
spec Return a 404 when docs pages are not found. (#1177) Aug 6, 2018
.gitignore Add `.byebug_history` and `gemfiles/.bundle/` to .gitignore (#1145) Apr 20, 2018
.hound.yml Update rubocop configuration file to run locally Feb 14, 2016
.rspec Remove the fuubar gem Apr 19, 2016
.rubocop.yml Update .rubocop.yml for rubocop 0.53. (#1116) Mar 16, 2018
.ruby-version Upgrade to Ruby 2.5.0. (#1074) Jan 26, 2018
.sample.env New suspenders app Feb 20, 2015
.scss-lint.yml Update normalize.css and change how we include it (#882) May 19, 2017
Appraisals Support Rails 5.2 (#1148) Apr 20, 2018
CHANGELOG.md Release version 0.10.0. Apr 20, 2018
CODE_OF_CONDUCT.md Add CODE_OF_CONDUCT.md (#915) Jun 20, 2017
CONTRIBUTING.md Add appraisal and foreman commands to docs (#877) May 9, 2017
Gemfile Update gems (#1098) Feb 16, 2018
Gemfile.lock Update nokogiri from 1.8.2 to 1.8.4. (#1194) Jul 27, 2018
LICENSE.md Update copyright range (#980) Sep 25, 2017
Procfile Remove worker from Procfile (#854) May 3, 2017
README.md Add a "Reviewed by Hound" badge (#1195) Aug 1, 2018
Rakefile Improve heroku deploy workflow Nov 6, 2015
administrate.gemspec Support Rails 5.2 (#1148) Apr 20, 2018
app.json Add an app.json for Heroku. Aug 10, 2018
config.ru Improve heroku deploy workflow Nov 6, 2015

README.md

Administrate

CircleCI Gem Version Code Climate Reviewed by Hound

A framework for creating flexible, powerful admin dashboards in Rails. Try the demo.

Warning:

Administrate is still pre-1.0, and there may be occasional breaking changes to the API. Check the release notes for important updates.

administrate

What Is Administrate?

Administrate is a library for Rails apps that automatically generates admin dashboards. Administrate's admin dashboards give non-technical users clean interfaces that allow them to create, edit, search, and delete records for any model in the application.

Administrate solves the same problem as Rails Admin and ActiveAdmin, but aims to provide a better user experience for site admins, and to be easier for developers to customize.

To accomplish these goals, Administrate follows a few guiding principles:

  • No DSLs (domain-specific languages)
  • Support the simplest use cases, and let the user override defaults with standard tools such as plain Rails controllers and views.
  • Break up the library into core components and plugins, so each component stays small and easy to maintain.

Getting Started

Administrate supports Rails from 4.2, up to 5.0 and beyond. We support Ruby 2.2.9 and up.

Add Administrate to your Gemfile and re-bundle:

gem "administrate"

The included installer will create dashboards for each model in your app, complete with routes:

$ rails generate administrate:install

Restart your server, and visit http://localhost:3000/admin to see your new dashboard in action.

For more detailed instructions or to make it work with Rails API-only applications, please go through the 'Getting Started` guide.

Create Additional Dashboards

In order to create additional dashboards, pass in the resource name to the dashboard generator. A dashboard and controller will be created.

$ rails generate administrate:dashboard Foo

Documentation

To customize the appearance, behavior, and contents of the dashboard, see the guides at https://administrate-prototype.herokuapp.com. These guides are available as markdown files in the docs subdirectory of the git repository, too.

Repository Structure

This repository contains both the source code for Administrate, and a demo Rails app that uses Administrate. The demo app is hosted publicly on Heroku.

  • The gem's source code lives in the app and lib subdirectories.
  • The demo app is nested within spec/example_app.
  • The guides as seen at https://administrate-prototype.herokuapp.com live as markdown files in the docs subdirectory.

Rails configuration files have been changed to recognize the app in the new location, so running the server or deploying to Heroku works normally.

With this structure, developing a typical feature looks like:

  • Add tests in spec/
  • Implement a feature in administrate/
  • Exercise the feature using the demo rails app (spec/example_app/app/)

Front-end Architecture

This project uses:

  • Sass
  • BEM-style CSS selectors, with namespaces
  • Autoprefixer
  • SCSS-Lint, with Hound (configuration)
  • A variety of CSS units:
    • em for typographical-related elements
    • rem for lengths related to components
    • px for borders, text shadows, etc.
    • vw/vh for lengths that should be relational to the viewport

Contributing

Please see CONTRIBUTING.md.

administrate was originally written by Grayson Wright and is now maintained by Nick Charlton. Many improvements and bugfixes were contributed by the open source community.

License

administrate is Copyright © 2015-2018 thoughtbot. It is free software, and may be redistributed under the terms specified in the LICENSE file.

About thoughtbot

thoughtbot

administrate is maintained and funded by thoughtbot, inc. The names and logos for thoughtbot are trademarks of thoughtbot, inc.

We love open source software! See our other projects or hire us to design, develop, and grow your product.