Nuvix – open-source BaaS with a query DSL more expressive than PostgREST

2 points by ravikantsaini a month ago

Most BaaS query layers are thin wrappers. Nuvix's filter DSL is composable and typesafe directly in the URL.

# symbolic filter=_id.eq(9)|Name.like(Air),Stock.gt(0)

# functional — mix freely filter=or(_id.eq(9),and(Name.like(Air),Stock.gt(0)))

Supports or(), and(), not() with symbolic aliases |, ,, !. Parentheses for explicit grouping when mixing. Three literal types

'text' → string

42, true → number / bool

"column" → column reference — enables column-to-column comparisons

Inline relation filtering + response shaping

select=*,todos.one{!_id.is(null),$.shape(object)}(text)

Explicit joins, not FK inference js.join({ table: 'posts', as: 'user_posts' }, (b) => b .select('title', 'created_at') .eq('published', true) )

Joins defined in the query, not inferred from DB schema — so you can join on any condition, alias freely, and stay decoupled from your DB structure.

Full BaaS beyond the query layer — auth, storage, real-time, auto-generated RLS.

GitHub: https://github.com/nuvix-dev/nuvix