OpenSparrow – Open-source admin panel builder with zero dependencies

tomaszwrobel1 pts0 comments

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

admin data postgresql open database opensparrow

Related Articles