Build With Ease, Run Cost-Free
Bring your apps to life with zero running-costs. Bazaar provides authentication, document-orientated databases with realtime capabilities, a powerful permissions API, and more.
Privacy and Data Protection
Bazaar protects user privacy by separating user data from the actual app. This gives users total visibility and control over the data that was provided to any Bazaar app. This also helps app developers with regulatory requirements such as GDPR.
Truly Backendless
Setting up your Bazaar app is as simple as any Identity Provider. Traditional backendless solutions like Firebase and Supabase, require you to configure the backend's data access policy. In contrast, Bazaar's novel way of scoping data to a user makes any configuration obsolete.
Zero Running Costs
Bazaar revolutionizes app development with its zero running costs model, liberating creators from financial overheads. Ideal for hobby projects or scalable apps, it provides a cost-effective foundation for growth, from niche to widespread use.
Powerful Social Fabric
Bazaar has social features built-in and any app can use them to create more meaningful experiences.
NoSQL Realtime Databases
Bazaar's document-orientated per-user database architecture streamlines development and enhances data privacy, featuring an intuitive SDK for efficient realtime operations.
Simple Authentication
Bazaar makes user authentication as simple as can be with a minimal API and robust OAuth flow, ensuring secure authorization and efficient token management for improved security and developer experience.
Not your typical BaaS
Traditional BaaS
The developer is responsible for the whole app: frontend, compute, and database
Bazaar
The developer is only responsible for the frontend. Users have their own compute and database
With Bazaar, developers can create freely, without having to worry about running costs. That's because users pay for the resources they need, starting with a free plan, including compute and database resources, and can upgrade for larger capacity as needed.
Use with your Framework of Choice
Getting Started
// Initialize a client
import { BazaarApp } from "@bzr/bazaar";
const bzr = new BazaarApp({
appId: "example-app-id",
loginRedirectUri: "http://example.com",
});
Log in or Sign up
Add authentication to your app using Bazaar as an OAuth2 provider.
// Log in or sign up a user
bzr.login();
// Check if a user is logged in
bzr.isLoggedIn();
// On user log in event...
bzr.onLogin(() => {
// ...handle login
});
Realtime Databases
After logging in, each user gets immediate access to their own database, with realtime capabilities.
// Create a collection
const tasksCollection = bzr.collection("tasks");
// Insert a doc
const task = { name: "Make dream apps with Bazaar" };
tasksCollection.insertOne({ task });
// Fetch all docs
const allTasks = await tasksCollection.getAll();
// Subscribe to all collection change events
const unsubscribe = await tasksCollection.subscribeAll(filter, listener);
Simple and Powerful Permissions
Share resources by granting permissions explicitly or by creating sharing links.
// Create a permission
import { PermissionType } from "@bzr/bazaar";
const newPermission = {
collectionName: "example-collection-name",
userId: "example-user-id-to-grant-permission-to",
types: [PermissionType.READ],
filter: {
id: "example-doc-id",
},
};
bzr.permissions.create(newPermission);