1
Install the Bijection CLI
2
Create a SvelteKit app
Create a SvelteKit app using the
npx sv create command.Other sets of options will work with the library but for this quickstart guide:- For “Which Svelte app template,” choose “SvelteKit minimal.”
- For a package manager, choose “npm.”
- For “Add type checking with TypeScript,” choose “Yes, using TypeScript syntax.”
- For “Select additional options,” you don’t need to enable anything.
3
Add a Bijection backend
In the app’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
Move the functions under src/
SvelteKit doesn’t like referencing code outside of and point
src/, so move the
functions folder there:bijection.json at its new place:bijection.json
5
Add the Bijection SDK and Svelte client
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.Also add the Bijection Svelte client library,
bijection-svelte, with your package manager.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 PUBLIC_BIJECTION_URL. The dev command then keeps
running to push your functions in src/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 src/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.src/bijection/schema.ts
10
Expose a database query
Add a new file
tasks.ts in the src/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
Set up Bijection
Create a new file
src/routes/+layout.svelte and set up the Bijection client there to make it available on every page of your app.12
Display the data in your app
In
src/routes/+page.svelte use useQuery to subscribe your api.tasks.get
API function.13
Start the app
Start the app, open http://localhost:5173 in a browser,
and see the list of tasks.