Initial boilerplate scaffold for continuum-backend
Bun + ElysiaJS control plane: Drizzle/Postgres schema (printers, farms, print_jobs, pgvector frame_embeddings), R2 presigned URLs, Redis Streams frame ingestion queue, REST routes, and the /ws/edge/v1 edge-gateway WebSocket uplink. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
# continuum-backend
|
||||
|
||||
Cloud control plane for Continuum. Bun + ElysiaJS, PostgreSQL (via pgCat/PgBouncer,
|
||||
with pgvector for frame embeddings), Redis Streams, and Cloudflare R2 storage.
|
||||
|
||||
## Run
|
||||
|
||||
```sh
|
||||
bun install
|
||||
cp .env.example .env # fill in DATABASE_URL, REDIS_URL, R2_*, SUPABASE_JWT_SECRET
|
||||
bun run db:generate && bun run db:migrate
|
||||
bun run dev
|
||||
```
|
||||
|
||||
## Layout
|
||||
|
||||
- `src/db/` — Drizzle schema (`printers`, `farms`, `print_jobs`, `frame_embeddings`)
|
||||
and client, pointed at pgCat.
|
||||
- `src/s3/` — R2 presigned URL helpers (`PUT` for client uploads, `GET` for the
|
||||
edge proxy).
|
||||
- `src/queue/` — Redis client + `XADD` helper pushing onto `stream:camera_frames`
|
||||
for `continuum-ai-worker`.
|
||||
- `src/routes/` — `/auth`, `/farms`, `/printers`, `/jobs`, and the edge-gateway
|
||||
WebSocket at `/ws/edge/v1`.
|
||||
|
||||
`frame_embeddings.embedding` requires the `vector` extension:
|
||||
`CREATE EXTENSION IF NOT EXISTS vector;`
|
||||
Reference in New Issue
Block a user