ForestAdmin / django-forestadmin

🐍 Django agent for Forest Admin to integrate directly to your existing Django backend application.
https://www.forestadmin.com
GNU General Public License v3.0
123 stars 18 forks source link
admin admin-panel backend backend-api django internal-tool python

Forest Admin in Django

CI status Test Coverage semantic-release

Build

python setup.py sdist

Lint

Install flake8

pip install flake8

Lint files

flake8 .

Test

Run test database image

docker-compose up -d

Launch tests suite

pytest

Coverage

coverage run -m pytest

You can see coverage, thanks to coverage report, coverage xml, coverage html.

It is also possible to combine several coverage reports run with different python versions:

coverage3.6 run --parallel-mode -m pytest
coverage3.9 run --parallel-mode -m pytest
coverage combine
coverage report

In a nutshell

Forest Admin provides an off-the-shelf administration panel based on a highly-extensible API plugged into your application.

This project has been designed with scalability in mind to fit requirements from small projects to mature companies.

Who Uses Forest Admin

Getting Started

https://docs.forestadmin.com/documentation/how-tos/setup/install

Documentation

https://docs.forestadmin.com/documentation/

How it works

Howitworks

Forest Admin consists of two components:

The Forest Admin gem (aka Forest Liana) introspects all your data model and dynamically generates the Admin API hosted on your servers. The Forest Admin interface is a web application that handles communication between the admin user and your application data through the Admin API.

Features

CRUD

All of your CRUD operations are natively supported. The API automatically supports your data models' validation and allows you to easily extend or override any API routes' with your very own custom logic.

CRUD

Search & Filters

Forest Admin has a built-in search allowing you to run basic queries to retrieve your application's data. Set advanced filters based on fields and relationships to handle complex search use cases.

Search and Filters

Sorting & Pagination

Sorting and pagination features are natively handled by the Admin API. We're continuously optimizing how queries are run in order to display results faster and reduce the load of your servers.

Sorting and Pagination

Custom action

A custom action is a button which allows you to trigger an API call to execute a custom logic. With virtually no limitations, you can extend the way you manipulate data and trigger actions (e.g. refund a customer, apply a coupon, ban a user, etc.)

Custom action

Export

Sometimes you need to export your data to a good old fashioned CSV. Yes, we know this can come in handy sometimes :-)

Export

Segments

Get in app access to a subset of your application data by doing a basic search or typing an SQL query or implementing an API route.

Segments

Dashboards

Forest Admin is able to tap into your actual data to chart out your metrics using a simple UI panel, a SQL query or a custom API call.

Dashboard

WYSIWYG

The WYSIWYG interface saves you a tremendous amount of frontend development time using drag'n'drop as well as advanced widgets to build customizable views.

WYSIWYG

Custom HTML/JS/CSS

Code your own views using JS, HTML, and CSS to display your application data in a more appropriate way (e.g. Kanban, Map, Calendar, Gallery, etc.).

Custom views

Team-based permissions

Without any lines of code, manage directly from the UI who has access or can act on which data using a team-based permission system.

Team based permissions

Third-party integrations

Leverage data from third-party services by reconciling it with your application’s data and providing it directly to your Admin Panel. All your actions can be performed at the same place, bringing additional intelligence to your Admin Panel and ensuring consistency.

Third-party integrations

Notes & Comments

Assign your teammates to specific tasks, leave a note or simply comment a record, thereby simplifying collaboration all across your organization.

Notes and Comments

Activity logs

Monitor each action executed and follow the trail of modification on any data with an extensive activity log system.

Activity logs

How to contribute

This repository is officially maintained by Forest Admin. We're always happy to get contributions for other fellow lumberjacks. All contributions will be reviewed by Forest Admin's team before being merged into main.

Here is the contribution workflow:

  1. Fork the repo on GitHub
  2. Clone the project to your own machine
  3. Commit changes to your own branch
  4. Push your work back up to your fork
  5. Submit a Pull request so that we can review your changes

Please ensure that the tests are passing before submitting any pull request:

$ docker-compose up -d
$ pytest

Community

👇 Join our Developers community for support and more

Discourse developers community