OpenSparrow - Open-Source Schema-Driven Platform
EN<br>PL<br>DE<br>FR<br>IT<br>ES
OpenSparrow
Schema-driven PHP platform to build CRUD apps, dashboards, and calendars on PostgreSQL
PHP 8.1+<br>PostgreSQL 14+<br>Vanilla JS<br>LGPL v3<br>Schema-driven<br>No build step
View Demo<br>GitHub
OpenSparrow is a professional PHP + PostgreSQL platform with a vanilla JS frontend. It transforms JSON structures into powerful business apps with user permissions.
Platform Features
Everything you need to build production-grade internal apps — no coding required
Data Management<br>Advanced Data Grid
Inline editing, error validation, status coloring, global search, and CSV export.
Data Structure<br>Nested Relations
Support for "Drilldown" views to display nested data and sub-tables inside a record view.
Administration<br>Visual Admin Panel
Configure schemas, form layouts, columns, and relations via GUI without writing code.
Analytics<br>Dashboard Engine
Generate KPI widgets, interactive lists, and bar charts that aggregate live database data.
Developer<br>Developer Tools
Built-in Debug Panel terminal for tracking API requests and environment errors on screen.
DevOps<br>Ready CI/CD Environment
Docker environment (with Nginx), static code analysis, and GitHub Actions.
Automation<br>Workflows Builder
Multi-step wizards guide users through structured data entry across related tables, with support for multiple records per step.
Storage<br>Files Module
Central repository for per-record file attachments with tagging, full-text search, and secure streaming downloads.
Scheduling<br>Calendar & Notifications
Date-based records on a visual calendar with color-coded sources and scheduled reminders via cron.
Security<br>Audit Logging & Security
Full audit trail of data changes, CSRF protection, DB-backed rate limiting on login, and role-based access control.
Collaboration<br>Record Comments
Threaded per-record discussions stored in the database. Teams annotate data directly inside the detail view without leaving the app.
Access Control<br>Three-Role Access Model
Distinct roles for admin, editor, and viewer — all sharing a single unified login page. No separate admin password file.
Perfect for: Building ERP/CRM systems, booking applications, task trackers, and Smart-Home environments.
Choose Installation Method
Recommended<br>Option A: Docker Environment
Quick start with configured Nginx server, PHP, and PostgreSQL database.
docker-compose up -d
Open localhost:8080 — on first run you are automatically redirected to the Setup Wizard .
Enter your PostgreSQL credentials, test the connection, choose a schema name, and click Initialize System Tables .
Sign in at /login as admin / admin and change the password immediately.
Option B: Manual / Docker-less
For users with their own server (Apache/Nginx) and a PostgreSQL 14+ instance.
git clone https://github.com/wrobeltomasz/open-sparrow.git
Configure your database connection in includes/database.json .
Run the project via web server or using php -S localhost:8000.
Initialize the database from the Admin Panel.
Option C: Shared Hosting (FTP)
No shell access required. Deploy the pre-built release ZIP to any shared hosting with PHP 8.1+ and PostgreSQL 14+.
github.com/wrobeltomasz/open-sparrow/releases
Download opensparrow-vX.Y.Z.zip from the Releases page and upload all files via FTP to your server root.
Open your site URL in a browser — you are automatically redirected to the Setup Wizard at /setup.php .
Enter database credentials, initialize system tables, then sign in as admin / admin and set a strong password.
Schema-Driven: Relations and Subtables in one JSON
"tables": {<br>"company": {<br>"display_name": "COMPANY",<br>"columns": {<br>"name": { "type": "character varying", "show_in_grid": true, "not_null": true },<br>"industry": { "type": "character varying", "show_in_grid": true }<br>},<br>"subtables": [<br>"table": "employee",<br>"foreign_key": "company_id",<br>"label": "Company Employees",<br>"columns_to_show": ["first_name", "last_name", "email"]<br>},<br>"employee": {<br>"display_name": "EMPLOYEE",<br>"foreign_keys": {<br>"company_id": {<br>"reference_table": "company",<br>"reference_column": "id",<br>"display_column": "name"
Download ZIP Package
Download OpenSparrow<br>We recommend PHP 8.2+ and PostgreSQL 15+
Open-Source Community
Share schemas, submit ideas, and co-create the future of data management with us!
Leave a star on GitHub