← All repositories

appwriteappwrite

54,884 stars5,002 forksTypeScriptbsd-3-clause3 views
appwrite.io

Appwrite

Features

  • Backend-as-a-Service PlatformsA comprehensive suite of backend services that provides developers with authentication, databases, storage, and serverless functions for building applications.
  • Unified Development BackendsA centralized platform that integrates essential infrastructure components into a single interface to simplify application development and resource management.
  • Role-Based Access ControlsEnforces granular security policies by mapping user identities to specific permission scopes across all platform resources and API endpoints.
  • Access Control ListsPlatform security defines access control rules for resources by assigning specific permission types like read, create, update, or delete to various user roles.
  • Connection Security PoliciesPlatform security enforces secure connections by instructing browsers to only access the platform via HTTPS, preventing protocol downgrade attacks and unauthorized data interception.
  • Multi-Factor AuthenticationPlatform authentication secures user accounts by scanning QR codes with authenticator apps and saving recovery codes to ensure only authorized individuals gain access.
  • Session Management PoliciesPlatform authentication restricts the number of concurrent sessions per user by automatically removing the oldest session when the defined maximum limit is reached.
  • OAuth ProvidersAuthenticate users with an existing Amazon account
  • Native Authentication ProvidersIntegrate native auth on Apple devices with Appwrite Auth
  • Apple Authentication ProvidersAuthenticate users with an existing Apple account
  • Third-Party Auth KitsIntegrate Appwrite Auth into your FlutterFlow apps without writing complex code
  • Authentication StrategiesImplementing robust identity management systems including multi-factor authentication, social logins, and session security for modern web and mobile applications.
  • Cross-Platform Data SynchronizationMaintaining consistent application state across multiple devices and platforms by syncing local data with a centralized cloud-based backend.
  • Database ReplicationSetup push-pull replication from a local database and enable offline sync capabilities using RxDB
  • Serverless Function OrchestrationExecuting custom backend logic in response to system events or API requests without the need to manage underlying server infrastructure.
  • Serverless Function RuntimesA managed execution environment that runs custom code in response to events or API requests without requiring manual server provisioning.
  • API Key ScopesPlatform security assigns granular access scopes to API keys to restrict server-side operations to specific services, ensuring the principle of least privilege.
  • Role-Based Access ControlPlatform infrastructure assigns administrative roles to team members to control access levels for project management, development, content editing, data analysis, and billing operations.
  • API Key ManagementPlatform security manages API keys programmatically using server-side SDKs to list, retrieve, create, update, or delete keys with specific access scopes.
  • Container-Based ArchitecturesDeploys modular system components as isolated containers to ensure consistent execution environments across diverse infrastructure and cloud providers.
  • Adapter Integration LayersStandardizes communication with third-party services and databases through modular drivers that abstract underlying provider-specific APIs and protocols.
  • Backend-as-a-Service IntegrationsBuilding full-stack applications by offloading core infrastructure tasks like user authentication, database management, and file storage to a managed service.
  • Billing Plan ManagementPlatform billing manages organization subscription plans, views billing cycles, and tracks resource usage resets to understand how recurring costs and additional usage charges are applied.
  • Subscription ManagementPlatform billing provisions a personal projects organization with shared resource limits by creating a free-tier account to manage resources across all contained projects.
  • Subscription UpgradesPlatform billing upgrades an organization to a Pro plan through the console settings to access increased resource limits and automatic scaling capabilities for projects.
  • Object Storage AdaptersStore files in Amazon S3 instead of your local storage device
  • Resource Allocation PoliciesPlatform compute allows selecting specific memory and CPU tiers for function and site execution to match performance requirements with your organization's resource plan.
  • Database Usage OptimizationsPlatform database management improves performance and controls costs by implementing server-side filtering, pagination, usage monitoring, and caching strategies for frequently accessed information.
  • Database ConfigurationsPlatform database management selects document or relational database options and defines connection parameters like host, port, and credentials using environment variables.
  • Database Usage MonitorsPlatform database management monitors read and write activity by counting rows affected by API calls to track usage against monthly subscription quotas.
  • API Error HandlingPlatform infrastructure parses JSON-formatted error responses containing a descriptive message, a specific error type, and an HTTP status code to handle and debug API failures.
  • WebhooksPlatform infrastructure reacts to platform events by configuring webhooks that notify backend services whenever specific actions or changes occur within the system.
  • Webhook SystemsTriggers asynchronous notifications and external integrations by broadcasting internal state changes through a configurable event bus.
  • Cross-Platform Connectivity LayersA versatile connectivity layer that links frontend applications with various third-party services, databases, and external APIs through standardized interfaces.
  • Rate LimitersPlatform security restricts the number of requests a user or IP address can make to specific API endpoints to prevent brute-force and denial-of-service attacks.
  • Session Persistence ProvidersPlatform authentication maintains user sessions across different platforms by storing session data securely in cookies, local storage, or platform-specific preference files.
  • Terraform ProvidersManage Appwrite TablesDB, Storage, Auth, Functions, Sites, Messaging, webhooks, backups, and more with HashiCorp Terraform and the official appwrite/appwrite provider.
  • Infrastructure as Code ManagementAutomating the provisioning and configuration of cloud resources and project environments using declarative configuration files and version control.
  • DDoS ProtectionsPlatform security safeguards infrastructure against volumetric and protocol-layer network attacks using multi-layer traffic monitoring and automated blocking of suspicious activity patterns.
  • Custom Domain SecurityPlatform security configures custom domains for API endpoints to automatically generate TLS certificates and enforce encrypted HTTPS communication for all traffic.
  • Custom DomainsPlatform infrastructure configures a custom domain for your project by adding a CNAME record to your DNS provider and verifying the domain to enable API requests.
  • Audit LogsPlatform infrastructure accesses structured audit logs, API usage logs, and serverless function execution logs to monitor authentication events, permission changes, and system activity.
  • Activity AuditingPlatform security views historical activity logs for users, tables, and rows through the activity tab to monitor system events and track user actions.
  • Logging ServicesMonitor application health in real time, store logs and track issues on your Appwrite instance with the help of AppSignal intergration.
  • Payment ProcessorsConnect Lemon Squeezy to Appwrite to handle payments, manage orders, generate invoices, and simplify your operations.
  • Subscription ManagementIntegrate Stripe subscriptions with Appwrite to accept and manage recurring payments from your customers.
  • Subscription Management ServicesConnect Lemon Squeezy subscriptions service to Appwrite to receive and manage recurring payments in your application.
  • Payment Processing ServicesIntegrate Stripe with Appwrite to accept payments, store orders, manage invoices, and streamline your business operations.
  • CORS PoliciesPlatform security restricts API access to authorized domains by requiring developers to register specific platforms, ensuring that requests from unknown origins are rejected.
  • Model Context ProtocolsConnect to Appwrite project with the MCP within Claude Desktop.
  • Environment Variable ConfigurationsInjects runtime settings and secrets into services at startup to manage project-specific behavior without modifying the underlying application code.
  • Environment VariablesPlatform compute defines environment variables at the project level to ensure they are automatically merged into the runtime environment of every function and site.
  • Data Import ToolsPlatform infrastructure migrates data from various external platforms or existing instances to a new project, with varying levels of automation for users, databases, files, and functions.
  • Webhook Management APIsPlatform messaging creates, updates, and deletes webhooks using a server SDK to automate event-driven integrations and manage signing keys for secure communication.
  • Email ProvidersSend customized emails to your users
  • Push Notification ProvidersIntegrate Firebase Cloud Messaging (FCM) with Appwrite to send push notifications to iOS, Android and web applications.
  • Secret ManagementPlatform compute protects sensitive configuration data by marking variables as secret to prevent their values from being retrieved through the console or API.
  • Webhook SecurityPlatform messaging validates incoming webhook requests by checking the HMAC-SHA1 signature in the request header against the stored secret key to ensure data integrity.
  • HTTP Status Code HandlersPlatform infrastructure interprets standard HTTP status codes returned by the API to understand the outcome of requests, including success, redirection, and client-side error conditions.
  • Rate Limit MonitoringPlatform security monitors API usage by inspecting HTTP response headers that indicate the total request limit, remaining requests, and the window reset time.
  • Text to Speech ServicesTransform text into natural, human-like speech
  • Password History PoliciesPlatform authentication prevents users from reusing recent passwords by maintaining a history of previous credentials to reduce the risk of account compromise.
  • Self-Hosted Backend ConfigurationsUse MongoDB as the underlying database for your self-hosted Appwrite instance.
  • Budget Cap ConfigurationsPlatform billing sets spending limits for automatic resource scaling and configures email notifications to receive warnings when organization usage approaches defined budget thresholds.
  • Resource Usage MonitoringPlatform billing monitors organization resource consumption through a dedicated usage dashboard and provides service restrictions when plan-specific limits are exceeded.
  • WhatsApp Messaging IntegrationsSend automated replies to messages on WhatsApp
  • Compliance CertificationsPlatform security maintains data protection standards by adhering to global compliance frameworks including GDPR, PCI, SOC 2, HIPAA, and CCPA.
  • Database Column EncryptionPlatform security encrypts text-based database columns using AES-128 in Galois/Counter Mode to secure sensitive information, noting that these columns cannot be used in database queries.
  • MongoDB ConnectorsSave a document in your MongoDB cluster and list all stored documents
  • Platform DeploymentPlatform self-hosting deploys the platform using pre-configured marketplace images, major cloud provider services, or platform-as-a-service solutions to match specific infrastructure requirements.
  • Command PalettesPlatform console opens a centralized command interface using a keyboard shortcut to search for available commands or navigate through the current page's content efficiently.
  • Documentation Site GeneratorsCreate a Astro-based documentation site with Appwrite Sites
  • Application Error HandlersPlatform infrastructure maps technical error codes to user-friendly messages to improve application usability while logging raw error details server-side for effective debugging.
  • Usage PoliciesPlatform infrastructure defines resource limits and enforcement actions governing platform usage to ensure compliance and avoid service interruptions while using cloud resources.
  • Production Environment ConfigurationsPlatform self-hosting configures production environments by securing sensitive data, optimizing resource allocation, implementing load balancing, and establishing robust monitoring and backup workflows.
  • Deployment IntegrationsManage versions and deploy Appwrite Functions
  • Editor IntegrationsConnect to Appwrite project with the MCP within Windsurf Editor.
  • Apple Push Notification ServicesIntegrate Apple Push Notification Service (APNs) with Appwrite Messaging to send remote notifications to your users' Apple devices.
  • Security HardeningPlatform security implements built-in protections including encrypted storage, enforced HTTPS, automated backups, audit logging, and abuse prevention to safeguard application data and user privacy.
  • Storage Encryption ServicesPlatform security encrypts files uploaded to storage buckets using AES-128 in Galois/Counter Mode to protect data smaller than 20MB within the underlying storage provider.
  • Service Abuse ProtectionsPlatform security prevents service abuse by implementing additional limits on computationally expensive or high-concurrency actions, mitigated by using webhooks and caching strategies.
  • Session Security AlertsPlatform session management sends automated email alerts whenever a new session starts to help users identify and report unauthorized account access attempts immediately.
  • Compute Usage MetricsPlatform compute calculates total consumption by multiplying allocated memory by active duration to monitor usage against monthly plan limits and billing thresholds.