Administrate
A framework for creating flexible, powerful admin dashboards in Rails. Try the demo.
Note: Administrate is still pre-1.0, and there may be occasional breaking changes to the API.
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
Add Administrate to your Gemfile:
# Gemfile
gem "administrate", "~> 0.1.5"
Re-bundle, then run the installer:
$ rails generate administrate:install
Restart your server, and visit http://localhost:3000/admin to see your new dashboard in action.
To customize the appearance, behavior, and contents of the dashboard, see the guides at http://administrate-docs.herokuapp.com.
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
andlib
subdirectories. - The demo app is nested within
spec/example_app
.
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/
)
Contributing Guidelines
Use the following guides for getting things done, programming well, and programming in style.