diff --git a/README.md b/README.md index 46cdb41..4ca3262 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,26 @@ # Phonograph -A friendly, collaborative PostgreSQL derivative for nerds of all stripes. +Phonograph is a friendly, collaborative data platform for nerds of all stripes, +built around PostgreSQL. + +Contemporary browser-centric platforms like Airtable open new frontiers for data +engineering, but they suffer from limitations that conventional databases have +long since addressed: relational data models are an afterthought; row-level +security is missing; third party integrations must be implemented piecemeal for +lack of a standardized API. Phonograph addresses these shortfalls by +implementing an accessible front-end interface backed by an existing, mature +database management system. ![Screenshot of multi-cursor editing, as well as a dropdown menu with a highlighted option labeled "PostgreSQL credentials"](./docs/screenshot_multi_cursor.png) +# Browser Compatibility Note + +[CSS anchor positioning](https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Anchor_positioning) +is a relatively new API, and Phonograph uses it extensively. Browser support is +now fairly good, but +[Firefox users in particular](https://bugzilla.mozilla.org/show_bug.cgi?id=1988225) +should upgrade to version 147 or newer for best experience. + # Development Quickstart The Phonograph repository comes with a [mise-en-place](https://mise.jdx.dev/) @@ -38,8 +55,8 @@ files as needed. Large language model code generation is permitted sparingly in very limited cases, for example for completing clearly defined transformations which span multiple files and are not supported by conventional code actions. All code -generated by LLMs must be thoroughly and frequently reviewed by the author, -before committing affected work. +generated by LLMs is considered reflective of its author, and authors are +expected to thoroughly and frequently review before committing affected work. As of this writing, models display a strong bias towards patterns which are well represented in public open source projects. This can cause them to tend towards @@ -58,11 +75,3 @@ Examples of LLM-assisted changes in practice: - Replacing SVG icons with similar webfont icons from a different icon pack. (Revision `ztrnxzqv` (Git `a8dd49f7`)) - -# Footnotes - -[^1]: Barring historical pedantry, "Postgres" and "PostgreSQL" are essentially - synonymous and are often used interchangeably. As a matter of convention - throughout Phonograph docs, "Postgres" is largely used to refer to the - database software, while "PostgreSQL" is typically used to refer to the - query language and/or wire protocol. diff --git a/docs/auth.md b/docs/auth.md index 2a2d9c7..aa04eb7 100644 --- a/docs/auth.md +++ b/docs/auth.md @@ -2,7 +2,7 @@ Postgres provides a sophisticated role based access control (RBAC) system, which Phonograph leverages to apply permissions consistently across the web UI and -inbound PostgreSQL[^1] connections. +inbound PostgreSQL connections. In order to efficiently pool database connections from the application server, most actions initiated via the web UI are run as the corresponding database user diff --git a/docs/screenshot_multi_cursor.png b/docs/screenshot_multi_cursor.png index 3d7edf9..df168c6 100644 Binary files a/docs/screenshot_multi_cursor.png and b/docs/screenshot_multi_cursor.png differ