Skip to content

docs: update README and .env.example to the current feature set - #108

Open
aalvaropc wants to merge 3 commits into
mainfrom
docs/readme-env-refresh
Open

docs: update README and .env.example to the current feature set#108
aalvaropc wants to merge 3 commits into
mainfrom
docs/readme-env-refresh

Conversation

@aalvaropc

Copy link
Copy Markdown
Owner

What changed

  • Rewrote the README feature sections to match the code as of PR feat: auto-refresh catalog explorer after sync completes via PubSub #106: data lineage (/lineage), global search (/search), SQL snippets, public dashboard sharing (/share/:token) and iframe embed (/embed/:token), Prometheus /metrics, OpenAPI spec + Swagger UI (/api/openapi, /api/docs), JSON/XLSX exports, OAuth login (Google/GitHub), scoped API tokens with rate limiting, query cancellation, EXPLAIN ANALYZE, result caching, conditional schedule alerts, and all nine card types.
  • Corrected the REST API routes to the real versioned paths (/api/v1/... with hyphens) and documented the scope model (read / execute / manage) and rate limits.
  • Updated the domain contexts table (added Snippets, Lineage, Search, Authorization) and the tech stack versions to the pinned toolchain (Elixir 1.17 / OTP 27).
  • .env.example: fixed EXTERNAL_DB_PORT from 5433 to 5465 (the port docker-compose actually maps) and added the four OAuth env vars that config/runtime.exs reads but were never listed.
  • priv/repo/seeds.exs: aligned the external demo DB port default (5433 → 5465) — the seeded demo data source pointed at a dead port out of the box.

Why

The README froze roughly 30 PRs before development stopped, so it undersold the project and documented API routes that do not exist. Anyone (including future us) picking the project back up gets a wrong map. The port mismatch meant a fresh make setup produced a demo data source that could never connect.

How to test

  • Cross-check any route or feature named in the README against lib/onesqlx_web/router.ex — each one exists.
  • mix ecto.reset then select name, host, port from data_sources; on the dev DB → External Demo DB | localhost | 5465 (verified locally).
  • mix precommit passes (docs-only plus two one-line value changes).

Pin erlang 27.1.2 and nodejs 22.23.2 in .tool-versions (the previous
exact pins 27.1 / 22.20.0 are no longer installable via asdf), and
align the Dockerfile builder image and CI OTP_VERSION with the same
Erlang patch release so local, CI, and release builds use one toolchain.

Add `npm ci` to the assets.setup alias: mix setup only installed the
tailwind/esbuild binaries, so a fresh clone failed at assets.build with
unresolved CodeMirror imports.

Remove assets/tsconfig.json, orphan config with no TypeScript sources.
The README froze ~30 PRs before development stopped and no longer
matched the code. Document the features shipped since: data lineage,
global search, SQL snippets, public dashboard sharing/embed, Prometheus
metrics, OpenAPI/Swagger, JSON/XLSX exports, OAuth login, API scopes
and rate limiting, query cancellation, EXPLAIN ANALYZE, result caching,
conditional alerts, and the new card types. Correct the API routes to
the real versioned paths (/api/v1/...) and the toolchain versions to
the pinned ones (Elixir 1.17 / OTP 27).

Also fix the external demo database port: docker-compose maps it to
5465, but .env.example and the seeds default said 5433, so the seeded
demo data source pointed at a dead port. Add the OAuth env vars that
config/runtime.exs reads but .env.example never mentioned.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant