1
Install the Bijection CLI
2
Create a Nuxt application
Create a Nuxt application using the
npm create nuxt@latest my-nuxt-app command.Bijection will work with any of the official modules but to follow this quickstart skip installing them for now.
This quickstart uses the Nuxt 4 layout, with the application’s code in app/.3
Add a Bijection backend
In the application’s directory, run
bijection init. It adds a
bijection/ folder, where you write your backend functions, with a sample
schema, query and mutation, and bijection.json.4
Add the Bijection SDK to the application
The Bijection SDK (Then install your app’s dependencies with its package manager as usual (for
example
bijection/react, bijection/browser, …) is not published
to the npm registry. Your app declares it as a tarball from bijection.com, for
the version of your CLI (bijection --version prints it). Add this line to the
dependencies in your app’s package.json:package.json
npm install). The react-vite and nextjs templates of
bijection init write this line and run the install for you.5
Add the Bijection URL
Expose the Bijection URL to the browser through your
nuxt.config.ts file.6
Set up a Bijection dev deployment
Log this machine in to Bijection, once per machine, then run
bijection dev. The first run creates your dev deployment and saves its URL
in .env.local as BIJECTION_URL. The dev command then keeps running to
push your functions in bijection/ to your dev deployment on every change.Bijection’s hosted service is not yet open for public sign-up, and the CLI
has no default management service. Before running
bijection login, set
BIJECTION_MANAGEMENT_URL to the management service URL you were given, in
your shell’s startup file so that every later bijection command sees it too:7
Create sample data for your database
In a new terminal window, create a
sampleData.jsonl
file with some sample data.8
Add the sample data to your database
Now that your project is ready, add a
tasks table
with the sample data into your Bijection database with
the import command.9
Declare the tasks table
bijection init created bijection/schema.ts, which declares the tables of
your database, starting with a sample messages table. Add a tasks table
beside it. The schema gives your functions TypeScript types, and Bijection
enforces it at runtime.bijection/schema.ts
10
Expose a database query
Add a new file
tasks.ts in the bijection/ folder
with a query function that loads the data.Exporting a query function from this file
declares an API function named after the file
and the export name, api.tasks.get.11
Create the Bijection client
In a new file
app/plugins/bijection.client.ts, create one
BijectionClient for your deployment and provide it to the application.
The .client suffix runs the plugin only in the browser, where the client
keeps its connection open.app/plugins/bijection.client.ts
12
Display the data in your app
In
app/app.vue, subscribe to your api.tasks.get API function with
onUpdate once the component is mounted in the browser. The callback runs
with the first result and again whenever the tasks change.app/app.vue
13
Update script to start development server
By default, Bijection stores environment variables in
.env.local, and Nuxt
looks for environment variables in .env.To use the default npm run dev command,
update your package.json to use the --dotenv .env.local flag.14
Start the app
Start the app, open http://localhost:3000 in a browser,
and see the list of tasks.
BijectionClient.