Tibula
Tibula is a powerful and flexible application framework for building data-centric web applications. It allows you to define and evolve your application's structure (data models, fields, permissions, UI hints) as metadata stored within the database itself. This approach significantly reduces the need to write traditional backend application code, enabling you to dynamically create and manage complex applications—like CRMs, inventory managers, or project trackers—primarily through its user-friendly web interface.
Key Features
- Dynamic Data Modeling: Define, modify, and evolve your application's data models (tables and fields) directly from the web UI. Your application's structure can change in real-time without redeploying or writing traditional backend code.
- User-Friendly Web Interface: A clean, intuitive interface for all data interactions, including creating, searching, editing, deleting, and linking records.
- Headless JSON API: In addition to the web UI, every action in Tibula is accessible via a JSON API, making it a perfect backend for custom front-ends or integrations.
- Powerful Plugin System: Extend Tibula's core functionality by writing Go functions that hook into specific modules, allowing for custom business logic, complex validations, or unique workflows where direct Go code is required.
- Robust Permission System: Manage access control with a flexible system based on users and groups. Define exactly who can see and do what.
- Advanced Data Integration (SQL-driven): For dynamic field values and selection options, Tibula leverages embedded SQL queries, making a basic understanding of SQL beneficial for advanced configurations.
- Data Portability: A practical Import/Export feature allows for smooth data interchange of entire module definitions and their content in JSON format.
- Multi-Database Support: Run your application on either SQLite for simplicity and portability or MySQL for production scale.
Getting Started
To get started with Tibula, simply clone the repository and build the project using the following commands:
git clone https://github.com/eja/tibula
cd tibula
go build
./tibula --wizard
./tibula --start
Tibula will be accessible at http://localhost:35248 by default.
Command-line Options:
Tibula provides extensive command-line options to configure various aspects of its functionality. Key options include:
JSON Configuration:
License
Tibula is released under the GPL-3.0.