phonograph/README.md

55 lines
2.3 KiB
Markdown
Raw Normal View History

2025-11-19 01:45:58 +00:00
# Phonograph
2025-05-13 00:02:33 -07:00
2026-02-16 15:40:35 +00:00
Phonograph is a friendly, collaborative data platform for nerds of all stripes.
It's for teams who wish they used Postgres, but actually use:
2026-01-13 18:07:35 +00:00
2026-02-16 15:40:35 +00:00
- Airtable
- Google Sheets
- Excel
- `inventory_export-2026-02-15_v3-FINAL.csv`
2025-05-13 00:02:33 -07:00
2026-02-16 15:40:35 +00:00
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.
2025-11-19 01:45:58 +00:00
2026-02-16 15:40:35 +00:00
# Features and Design
2026-01-13 18:07:35 +00:00
2026-02-16 15:40:35 +00:00
- 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.
2026-01-13 18:07:35 +00:00
2025-11-18 20:38:01 -08:00
# 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).