Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time




Panax is a framework for generation of business applications based on solid relational data models.

A detailed configuration-driven approach allows a high customization level and complex business-rules.

Every change is reflected immediately in the resulting app, allowing agile prototyping.

Panax' aim is to be agnostic of database vendor, backend and user interface, exploiting state-of-the-art technologies, like Node.js and AngularJS, and allowing high extensibility.

Panax SOA use-cases

See: Wiki:Panax' Service-oriented Architecture

See: Wiki:Panax' Dataflow


Full API documentation available in:


PanaxDB is the core technology of Panax, which is an enhancement layer (add-on) for your relational database.

It provides an API to interact with the database adding several super powers:

  • Advanced scaffolding
  • Metadata heuristics
  • Automation capabilities
  • Configuration over coding
  • .. among others

More info: Wiki:PanaxDB

Panax Entity

A Panax Entity consist of 3 parts:

  1. Fields: Contain all the columns' related metadata.
  2. Layout: UI representation: order, grouping, displaying, etc.
  3. Data: Data model itself.

Example call:

getXmlData @TableName='Employee', @ControlType=formView, @Mode=readonly,
           @Filters='Id=377', @output='json', @getStructure=1, @getData=1

Example XML output:

<Employee ...>
    <Id fieldName="Id" Column_Name="Id" isPrimaryKey="1" isIdentity="1" dataType="int" length="10" isNullable="0" supportsInsert="1" supportsUpdate="1" headerText="Id" controlType="default" />
    <Name fieldName="Name" Column_Name="Name" isPrimaryKey="0" isIdentity="0" dataType="nvarchar" length="30" isNullable="0" supportsInsert="1" supportsUpdate="1" headerText="Name" controlType="default" />
    <Joined fieldName="Joined" Column_Name="Joined" isPrimaryKey="0" isIdentity="0" dataType="date" isNullable="0" supportsInsert="1" supportsUpdate="1" headerText="Join Date" controlType="date" />
      <px:tab name="General">
        <px:field fieldName="Name" />
      <px:tab name="Details">
        <px:field fieldName="Joined" />
      <Id value="377" text="377" />
      <Name value="John Doe" text="John Doe" />
      <Joined value="2014-06-08 00:00:00" text="08/06/2014" />
      <Id value="455" text="455" />
      <Name value="Sarah Connor" text="Sarah Connor" />
      <Joined value="2034-01-01 00:00:00" text="01/01/2034" />

Example UI output with ExtJS:

[coming soon]

Example UI output with AngularJS:

[coming soon]

Implicit business rules

Data model has implicit business rules that can be defined with a combination of the following features:

  • Relationships (1-1, 1-N, N-M)
  • Data Types (str, int, custom made, etc)
  • Properties (nullable, primary keys, unique keys, descriptions, extended, etc)

Panax' heuristics detect this metadata and adapts the entity model accordingly.


[coming soon]

Explicit business rules

Explicit business rules can be defined via:

  1. Panax Configurations applied to entities
  2. Programmability at database level (constraints, triggers, etc)

Panax Configurations (config procedure)

XPath-like configurations to change XML output


> panax db config...........


JavaScript abstraction module used primarly by PanaxUI to communicate with PanaxDB


User interface modules for Panax

More info: Wiki:PanaxUI

Backend (Node.js API)


Frontend (AngularJS GUI)



Command-line interface


See: Wiki: PanaxCLI Usage


Panax Jargon

Old New proposal Description
Field Database Column
Table Database Table
Schema Database Schema
Instance Database Instance
Catalog Entity A consumable database unit. Expressed as: [InstanceName.][SchemaName.]TableName
Metadata Implicit and explicit information about an Entity
Fields Metadata form Entity' fields
Layout An ordered representation (ex. form, grid) from Entity' fields
Structure Combination of Entity' Fields + Layout
Data DataModel? Actual data from Entity' fields
Mode A way to interact with a Catalog Entity
ControlType A representation (ex. graphical) of an Catalog Entity or a Field


Main Panax Documentation






No releases published


No packages published