1
0
Fork 0
forked from 2sys/phonograph
phonograph/README.md
Brent Schroeter ba7aafe71e update readme
2026-02-16 19:12:59 +00:00

58 lines
2.4 KiB
Markdown

# Phonograph
Phonograph is a friendly, collaborative data platform for nerds of all stripes.
It's for teams who wish they used Postgres, but actually use:
- Airtable
- Google Sheets
- Excel
- `inventory_export-2026-02-15_v3-FINAL.csv`
Phonograph is built on top of Postgres, exposing a curated subset of features
and adds a familiar user interface for developers and end users alike.
# Demo
Try the hosted demo at [phono.dev](https://phono.dev)!
# Features and Design
- Leverages Postgres RBAC for robust authorization, including RLS (planned),
while adding support for invite-by-email and a familiar permissions model for
collaboration.
- Integrates with effectively any third party software with a Postgres driver.
- Powerful user interface inspired by your favorite text editor features, like
multi-cursor editing.
- Write filters and generated column specs (planned) as PostgreSQL—made
possible by a custom SQL parser with support for advanced syntax like
`column = ANY(array)`.
![Screenshot of a spreadsheet-like user interface. A sidebar lists "Tables" and "Portals", and a table on the right displays URL, numeric, and single-select data.](./docs/screenshot_collab.png)
![Screenshot of a terminal overlayed above another page listing credentials and associated permissions. The terminal runs `psql` and displays a query running on the data from the previous screenshot.](./docs/screenshot_psql.png)
# An Experiment from Second System Technologies
Phonograph is a proof-of-concept built by Second System Technologies, to solve
real world problems, and its bones are built to scale. It's a work in progress,
which means that some expected features are missing and we have yet to sand out
many rough edges.
# Development Quickstart
The Phonograph repository comes with a [mise-en-place](https://mise.jdx.dev/)
configuration to automatically manage the development environment:
- `mise install` installs language runtimes and tooling.
- `mise run build-css && mise run build-svelte` builds browser assets.
- `mise run docker-services` runs a Postgres container for local development.
- `mise run server` compiles and runs the server with the dev profile.
## Configuration
Refer to [the .env.example file](./.env.example) for configuration options. An
external OAuth2 provider is required to manage authentication.
# The Phonograph Authorization Model
Refer to documentation in [docs/auth.md](./docs/auth.md).