Skip to content

VitexSoftware/Flexplorer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flexplorer

Flexplorer Logo

🔍 Developer Console for ABRA Flexi API

Flexplorer is an alternative web interface for the ABRA Flexi ERP system (formerly FlexiBee), designed primarily for developers and integrators. It allows you to explore, test, and manipulate data via REST API without writing code.

Built using the PHP AbraFlexi library

⚡ Main Features

📊 Data Management

  • Evidence browsing - display all available evidences across all companies
  • DataGrids - dynamic tables with filtering, sorting, and pagination
  • Record editor - create, update, and delete data
  • Evidence structure display - metadata, fields, relations
  • Format support - JSON, XML, and CSV
  • External IDs - manage external record identifiers
  • Labels - modify label assignments to evidences
  • Permissions - view roles and access rights

đź”§ API Testing & Debugging

  • Query Builder - send direct requests to the server
  • Response Viewer - display server responses with syntax highlighting
  • Parallel View - JSON/XML result alongside AbraFlexi GUI
  • Filtering - advanced filters by ID, external ID, and other parameters

🪝 WebHooks & ChangesAPI

  • WebHook Manager - configure and manage webhooks
  • ChangesAPI Monitor - view received change data
  • WebHook Tester - test webhook script responses
  • Change Data Replay - resend change data to webhooks

🎨 Custom Buttons

  • Button Designer - create custom buttons in AbraFlexi GUI
  • Integration Links - connect AbraFlexi with FlexPlorer
  • Action Configuration - define button actions

🏢 Company Management

  • Create and delete companies
  • Company reset - delete and recreate
  • Cloning - create company copies
  • Backup & Restore - save and load backups
  • Accounting periods - batch create and cancel

đź“„ Documents and Printing

  • PDF previews - view print reports
  • Print reports - access PDFs for records and entire evidences
  • Document preview - preview edited documents

Source Code Latest Version Software License Build Status Coverage Status

Try it out:


For Debian or Ubuntu, please use the repository:

sudo apt install lsb-release wget
echo "deb http://repo.vitexsoftware.cz $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/vitexsoftware.list
sudo wget -O /etc/apt/trusted.gpg.d/vitexsoftware.gpg http://repo.vitexsoftware.cz/keyring.gpg
sudo apt update
sudo apt install flexplorer

During installation, dialogs will prompt for the default server, username, and password. These values will be written to the application configuration file and offered as defaults.

Debian Configure

After package installation and web server reload, the application will be installed in the /usr/share/flexplorer directory and accessible at http://localhost/flexplorer/ (configured in /etc/apache2/conf-enabled/flexplorer.conf). If the avahi daemon is installed, it will advertise the application as a service. The application can then be launched from the program menu in the "programming" section.

Authentication

Unauthenticated users are redirected to login.php with a login dialog. Here you can enter credentials or click on links in the left-side tabs. New tabs can be added either by selecting the switch below the login dialog or by adding a JSON file to the /etc/abraflexi/ directory. The format of these files must be compatible with https://github.com/VitexSoftware/abraflexi-client-config, meaning:

{
    "ABRAFLEXI_URL": "https:\/\/demo.abraflexi.eu:5434",
    "ABRAFLEXI_LOGIN": "winstrom",
    "ABRAFLEXI_PASSWORD": "winstrom",
    "ABRAFLEXI_COMPANY": "demo"
}

It is now also possible to log in directly to the application using the server URL and auth token. An example URL looks like this:

evidence.php?serveruri=https%3A%2F%2Fdemo.abraflexi.eu%3A5434&

Updates

If you have the package installed from the repository, updates work as is customary in Debian:

Debian Upgrade

Vagrant

A Box for Vagrant is also available. After running the command:

vagrant init vitexsoftware/flexplorer; vagrant up --provider virtualbox

you will be able to view the current development version at [http://localhost:8080/src/] and the version from the latest Debian package at [http://localhost:8080/flexplorer/]

Docker

A multi-architecture Docker image is available for amd64 and arm64 platforms.

Run with Docker

The following command makes FlexPlorer accessible at: localhost:2323

docker run -dit --name flexplorer -p 2323:80 vitexsoftware/flexplorer

Run with custom configuration

docker run -dit --name flexplorer -p 2323:80 \
  -e FLEXIBEE_URL=https://your-server.com \
  -e FLEXIBEE_LOGIN=username \
  -e FLEXIBEE_PASSWORD=password \
  -e FLEXIBEE_COMPANY=company \
  vitexsoftware/flexplorer

Example Docker output

vitex@docker:~$ docker run -dit --name flexplorer -p 2323:80 vitexsoftware/flexplorer
Unable to find image 'vitexsoftware/flexplorer:latest' locally
latest: Pulling from vitexsoftware/flexplorer
cc1a78bfd46b: Pull complete 
1cd0b77f3d1d: Pull complete 
9b851b09757c: Pull complete 
9b36fad49c61: Pull complete 
d0e15216409e: Pull complete 
da8507a1fa91: Pull complete 
1285ef6f4076: Pull complete 
07c17144f477: Pull complete 
058b8f440dad: Pull complete 
507722a10e0a: Pull complete 
f3440e09e483: Pull complete 
967168855bae: Pull complete 
da8a7cb827b5: Pull complete 
Digest: sha256:38ed8bd94aaf2e57877c8b207cd55bb486d09178dacbd0b4def87090cae6170b
Status: Downloaded newer image for vitexsoftware/flexplorer:latest
396261e16a3adb66faf8f63a3f518b3c10331cc9c0f575c73cd86df3899b8f87

Kubernetes / Helm

A Helm chart is available for easy deployment to Kubernetes clusters.

Install with Helm

# Install with default values (demo server)
helm install flexplorer ./helm/flexplorer

# Install with custom configuration
helm install flexplorer ./helm/flexplorer \
  --set flexplorer.flexibeeUrl=https://your-server.com \
  --set flexplorer.flexibeeLogin=username \
  --set flexplorer.flexibeePassword=password \
  --set flexplorer.flexibeeCompany=company

# Install with Ingress enabled
helm install flexplorer ./helm/flexplorer \
  --set ingress.enabled=true \
  --set ingress.hosts[0].host=flexplorer.example.com \
  --set ingress.hosts[0].paths[0].path=/ \
  --set ingress.hosts[0].paths[0].pathType=Prefix

For more details, see the Helm chart documentation.

Configuration

The configuration file config.php is located in the src/includes directory. The default configuration looks like this:

define('LOG_NAME', 'Flexplorer'); //Log identifier
define('LOG_TYPE', 'syslog'); //Possible values: memory, syslog, file

/*
 * Default message sender
 */
define('EMAIL_FROM', 'flexplorer@localhost');

/*
 * AbraFlexi API URL
 */
define('DEFAULT_ABRAFLEXI_URL', 'https://demo.flexibee.eu');
/*
 * AbraFlexi API user
 */
define('DEFAULT_ABRAFLEXI_LOGIN', 'winstrom');
/*
 * AbraFlexi API password
 */

define('DEFAULT_ABRAFLEXI_PASSWORD', 'winstrom');
/*
 * Company in AbraFlexi
 */

define('DEFAULT_ABRAFLEXI_COMPANY', 'demo');

Acknowledgments

The creation of this tool would not have been possible without the kind support of Spoje.Net.

At Spoje.Net, you can order commercial support for integrating the PHP AbraFlexi library into your projects.

Spoje.Net

Statistiky Projektu na Wakatime

Application Screenshots

Login uses the application user's name and password with REST API permissions. The tabs on the left side are loaded from configuration files in the /etc/abraflexi/ directory.

Mobile Login

FlexPlorer displays request responses:

Server Response

You can select any AbraFlexi evidence and list its contents:

Evidence Listing

Data can be edited and saved if the logged-in user has the appropriate permissions:

Evidence Editor

You can easily perform queries on an open evidence:

JSON Editor

Deleting a record from an evidence must be confirmed:

Confirmation Before Deletion

When testing WebHooks, this tool helps by composing a ChangesAPI record mock and sending it to the selected WebHook:

WebHook Request

You can also use change data received on the FlexPlorer webhook and choose which webhook of the tested application to send it to:

Change Data Reuse

The correct response is empty. Although it works, AbraFlexi would not like this script. Here we see what it returns:

WebHook Response

A search field is available for searching evidences:

WebHook Response

After pressing enter, more detailed results are displayed:

WebHook Response

It is also possible to search in column names of individual evidences and their descriptions:

Columns Search

Request body can be loaded from a file:

File Upload

Request response can be in supported formats (XML here):

XML Response

Company overview:

Company overview