appwrite/sdk-for-web sits at 334 stars on GitHub, written primarily in TypeScript. [READ-ONLY] Official Appwrite Web SDK ๐งก
Snapshot summary built from the project's own GitHub metadata โ there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then โ see the READ ME tab for the original README in full.
This SDK targets Appwrite server version 2.0.x as shipped on Appwrite Cloud. Self-hosted releases can lag behind Cloud โ if you run an older self-hosted build, use a matching older SDK from previous releases when APIs differ.
Appwrite is an open-source backend as a service server that abstracts and simplifies complex and repetitive development tasks behind a very simple to use REST API. Appwrite aims to help you develop your apps faster and in a more secure way. Use the Web SDK to integrate your app with the Appwrite server to easily start interacting with all of Appwrite backend APIs and tools. For full API documentation and tutorials go to https://appwrite.io/docs
Installation
NPM
To install via NPM:
npm install appwrite --save
If you're using a bundler (like Rollup or webpack), you can import the Appwrite module when you need it:
import { Client, Account } from 'appwrite';
CDN
To install with a CDN (content delivery network) add the following scripts to the bottom of your tag, but before you use any Appwrite services:
For you to init your SDK and interact with Appwrite services you need to add a web platform to your project. To add a new platform, go to your Appwrite console, choose the project you created in the step before and click the 'Add Platform' button.
From the options, choose to add a Web platform and add your client app hostname. By adding your hostname to your project platform you are allowing cross-domain communication between your project and the Appwrite API.
Init your SDK
Initialize your SDK with your Appwrite server API endpoint and project ID which can be found in your project settings page.
// Init your Web SDK
const client = new Client();
client
.setEndpoint('http://localhost/v1') // Your Appwrite Endpoint
.setProject('455x34dfkj') // Your project ID
;
Make Your First Request
Once your SDK object is set, access any of the Appwrite services and choose any request to send. Full documentation for any service method you would like to use can be found in your SDK documentation or in the API References section.
const account = new Account(client);
// Register User
account.create(ID.unique(), "[email protected]", "password", "Walter O'Brien")
.then(function (response) {
console.log(response);
}, function (error) {
console.log(error);
});
Full Example
// Init your Web SDK
const client = new Client();
client
.setEndpoint('http://localhost/v1') // Your Appwrite Endpoint
.setProject('455x34dfkj')
;
const account = new Account(client);
// Register User
account.create(ID.unique(), "[email protected]", "password", "Walter O'Brien")
.then(function (response) {
console.log(response);
}, function (error) {
console.log(error);
});
Type Safety with Models
The Appwrite Web SDK provides type safety when working with database documents through generic methods. Methods like listDocuments, getDocument, and others accept a generic type parameter that allows you to specify your custom model type for full type safety.
TypeScript:
interface Book {
name: string;
author: string;
releaseYear?: string;
category?: string;
genre?: string[];
isCheckedOut: boolean;
}
const databases = new Databases(client);
try {
const documents = await databases.listDocuments<Book>(
'your-database-id',
'your-collection-id'
);
documents.documents.forEach(book => {
console.log(`Book: ${book.name} by ${book.author}`); // Now you have full type safety
});
} catch (error) {
console.error('Appwrite error:', error);
}
JavaScript (with JSDoc for type hints):
/**
* @typedef {Object} Book
* @property {string} name
* @property {string} author
* @property {string} [releaseYear]
* @property {string} [category]
* @property {string[]} [genre]
* @property {boolean} isCheckedOut
*/
const databases = new Databases(client);
try {
/** @type {Models.DocumentList<Book>} */
const documents = await databases.listDocuments(
'your-database-id',
'your-collection-id'
);
documents.documents.forEach(book => {
console.log(`Book: ${book.name} by ${book.author}`); // Type hints available in IDE
});
} catch (error) {
console.error('Appwrite error:', error);
}
Tip: You can use the appwrite types command to automatically generate TypeScript interfaces based on your Appwrite database schema. Learn more about type generation.
Error Handling
The Appwrite Web SDK raises an AppwriteException object with message, code and response properties. You can handle any errors by catching the exception and present the message to the user or handle it yourself based on the provided error information. Below is an example.
You can use the following resources to learn more and get help
๐ Getting Started Tutorial
๐ Appwrite Docs
๐ฌ Discord Community
๐ Appwrite Web Playground
Contribution
This library is auto-generated by Appwrite custom SDK Generator. To learn more about how you can help us improve this SDK, please check the contribution guide before sending a pull-request.
License
Please see the BSD-3-Clause license file for more information.
How active is development on appwrite/sdk-for-web?
The most recent commit recorded on appwrite/sdk-for-web was 15 days ago, based on the GitHub push timestamp. The repository has 62 forks โ one of the better signals of community interest.
How does appwrite/sdk-for-web compare to other Frontend projects?
appwrite/sdk-for-web is tracked by TopGit in the Frontend category, with 334 GitHub stars and written in TypeScript. Browse the Frontend topic page on TopGit to compare it against similar projects by stars and activity.
How many stars does appwrite/sdk-for-web have?
appwrite/sdk-for-web has 334 GitHub stars โ refresh the page for the live number, or check github.com/appwrite/sdk-for-web. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
What is appwrite/sdk-for-web?
appwrite/sdk-for-web (appwrite/sdk-for-web) is a TypeScript project on GitHub. From the project's own README: [READ-ONLY] Official Appwrite Web SDK ๐งก
What language is appwrite/sdk-for-web written in?
appwrite/sdk-for-web is written primarily in TypeScript. GitHub's language field is based on the largest share of bytes in the default branch.
What topics is appwrite/sdk-for-web associated with?
Why is appwrite/sdk-for-web categorized under Frontend?
TopGit places appwrite/sdk-for-web in the Frontend category based on its GitHub topics and description (tagged: "angular", "appwrite", "baas"). Categories are assigned from real repository metadata, not editorial guesswork.
Read full README in the tab above.
Want a second opinion on sdk-for-web?
Ask an AI that can read this page โ one click and you get its take on sdk-for-web.