POD is a lightweight, zero-dependency Database Management System (DBMS) built entirely with the Go standard library. It leverages the native filesystem (EXT4 compatible) to store records as JSON files while maintaining an internal index for rapid lookups.
Designed for simplicity and portability, POD requires no external database servers (like PostgreSQL or MySQL). It is ideal for small-to-medium applications, prototyping, or embedded systems where a full RDBMS is overkill.
Author: Azzurro Technology Inc Website: https://azzurro.tech Contact: info@azzurro.tech
- Zero Dependencies: Built exclusively with Go standard library, HTML, CSS, and JS.
- Filesystem-Based Storage: Data is stored as individual JSON files in a directory structure.
- Internal Indexing: Maintains a lightweight
index.jsonfor O(1) lookups without scanning the entire filesystem. - Dynamic Form Builder: Web UI allows users to define schemas and create records on the fly.
- Full CRUD Support: Create, Read, Update, and Delete records via UI or API.
- Search Capability: Full-text search across all record fields.
- RESTful API: Programmatic access for integration with other tools.
- Containerized: Ready-to-run with Docker and Docker Compose.
Ideal for production environments requiring easy scaling and data persistence.
- Ensure
docker-compose.ymlis in your project root. - Run:
docker-compose up -d --build - Data persists in the
pod-datavolume. - Stop with:
docker-compose down
Best for embedded devices or minimal footprint environments.
- Build:
CGO_ENABLED=0 go build -o pod-server main.go - Run:
./pod-server - Ensure the
storagedirectory has write permissions.
Deploy as a stateful set for high availability.
- Create a PersistentVolumeClaim for
/app/storage. - Deploy the container image with the volume mounted.
- Expose via a LoadBalancer or Ingress controller.
Quick setup for testing and prototyping.
- Install Go 1.22+.
- Run:
go run main.go - Access
http://localhost:8080.
Navigate to the "Form Builder" section in the web UI. The form automatically detects existing fields or defaults to name, email, and status. Enter your data and click "Save Record". The system instantly creates a JSON file in the data directory and updates the internal index.
Use the search bar to query any field value. The system performs a case-insensitive substring match across all records. Results are displayed in a list sorted by the last updated timestamp.
Click on any field in the search results to edit it directly. Changes are saved immediately upon losing focus (blur event) or by triggering the update API. No explicit "Save" button is required for inline edits.
Interact programmatically via the REST API.
GET /api/schema: Returns the current list of active fields.POST /api/record: Creates a new record (JSON body required).PUT /api/record?id=<ID>: Updates an existing record.GET /api/search?q=<term>: Returns matching records.
This project is licensed under the MIT License. See the LICENSE file for details.
POD is a project by Azzurro Technology Inc © 2026