How does it work on the application side?

SimpleAdmin is a service to visually create admin panels without resorting to a programmer’s help; you are not tied to a specific programming language because all data is transferred through the API, and the admin panel structure is being built on the fly depending on the entities and fields you created using the visual component of the service.

Suppose we have a “Blog” application having a “Posts” model with title and description fields. For integration, you need a small library that connects to your project and creates the following API endpoints:

simple_admin/entities

Two actions (index, show) to get a list of all models and fields

simple_admin/resources

Performs standard CRUD operations, requests a list of entries (resources)

simple_admin/versions

Transfers the current gem version in the project for synchronization with the service

In order for the data not to fall into the hands of intruders, on the application side creating a special environment variable with a secret key:

# config/initializers/simpleadmin.rb
ENV['SIMPLE_ADMIN_SECRET_KEY'] = 'SECRET_KEY'

On the project creation page, you shall specify a secret key, your website URL, project name and description. There are two conditional abstractions on the service side: Entity and EntityFields, which are a reflection of your model and fields therein.

How does it work on the service side?

After the project creation, click on the project name and you will see the admin part.

When editing the model, you can create fields in two ways:

Single field creation

Create a field by separately selecting its type and page where it will be displayed

Multiple field creation

Check the required fields (or vice versa remove)

You can select the following attributes when creating the field:

* Field shortcut (how the field will look like in the admin panel)

* Field type (number, line, text, etc.)

* Display on page (page of all entries and page of a particular entry)

* Sorting by field — you can sort entries in descending/ascending order

* Search by field — you can check only the fields engaged in search

On the collection page, you can see a list of your most recent entries, sort them by id and title, find the desired entry and perform standard creation, editing and deletion operations.