Client SDKs

FiniteBase implements the Appwrite client wire protocol, so the standard Appwrite open-source client libraries work against your FiniteBase endpoint with no code changes — you only set the endpoint and project id. Below are self-contained quickstarts; nothing here requires leaving FiniteBase.

Web / JavaScript

Install
npm install appwrite
main.js
import { Client, Account, Databases, ID, Query } from 'appwrite';

const client = new Client()
  .setEndpoint('https://base.finiteskills.com/v1')
  .setProject('<YOUR_PROJECT_ID>');

const account = new Account(client);
const db = new Databases(client);

// Sign up + log in
await account.create(ID.unique(), 'user@example.com', 'password123', 'Jane');
await account.createEmailPasswordSession('user@example.com', 'password123');

// Write + query documents
await db.createDocument('main', 'notes', ID.unique(), { title: 'Hello', done: false });
const open = await db.listDocuments('main', 'notes', [ Query.equal('done', [false]) ]);

Flutter / Dart

pubspec / usage
// dependencies: appwrite: ^13.0.0
final client = Client()
  .setEndpoint('https://base.finiteskills.com/v1')
  .setProject('<YOUR_PROJECT_ID>');
final account = Account(client);
await account.createEmailPasswordSession(email: 'user@example.com', password: 'password123');
final db = Databases(client);
await db.createDocument(databaseId: 'main', collectionId: 'notes', documentId: ID.unique(), data: { 'title': 'Hi' });

Android / Kotlin

build.gradle / usage
// implementation("io.appwrite:sdk-for-android:6.x")
val client = Client(context)
  .setEndpoint("https://base.finiteskills.com/v1")
  .setProject("<YOUR_PROJECT_ID>")
val account = Account(client)
account.createEmailPasswordSession("user@example.com", "password123")

Node.js (server)

server.js
import { Client, Databases, ID } from 'node-appwrite';
const client = new Client()
  .setEndpoint('https://base.finiteskills.com/v1')
  .setProject('<YOUR_PROJECT_ID>')
  .setKey(process.env.FINITEBASE_KEY); // server API key
const db = new Databases(client);
await db.createDocument('main', 'notes', ID.unique(), { title: 'from server' });

Python (server)

app.py
from appwrite.client import Client
from appwrite.services.databases import Databases
client = Client()
client.set_endpoint('https://base.finiteskills.com/v1')
client.set_project('<YOUR_PROJECT_ID>')
client.set_key(os.environ['FINITEBASE_KEY'])
db = Databases(client)
db.create_document('main', 'notes', 'unique()', { 'title': 'from python' })

Prefer raw HTTP? See the REST API, GraphQL or PartiQL pages.