54 lines
2.3 KiB
Markdown
54 lines
2.3 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.
|
|
|
|
# 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)`.
|
|
|
|

|
|
|
|

|
|
|
|
# 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).
|