diff --git a/src/routes/blog/post/a-recap-of-init/+page.markdoc b/src/routes/blog/post/a-recap-of-init/+page.markdoc index d16db0cb85..ca8d9866d1 100644 --- a/src/routes/blog/post/a-recap-of-init/+page.markdoc +++ b/src/routes/blog/post/a-recap-of-init/+page.markdoc @@ -30,7 +30,7 @@ We did everything in-house, which brought some challenges as we had to learn on ## The fun begins -And then, finally, we got to [announce Init](https://appwrite.io/blog/post/announcing-init) to all of you and have you join in the fun and create your tickets. +And then, finally, we got to [announce Init](/blog/post/announcing-init) to all of you and have you join in the fun and create your tickets. ![Init begins](/images/blog/a-recap-of-init/init5.png) @@ -76,13 +76,13 @@ We kicked off the first Discord session with Appwrite Hero and Vonage dev advoca ### Content list -- [Best practices for sending push notifications](https://appwrite.io/blog/post/push-notifications-best-practices) -- [How tools like Twilio can simplify messaging for developers](https://appwrite.io/blog/post/simplify-messaging-twilio) +- [Best practices for sending push notifications](/blog/post/push-notifications-best-practices) +- [How tools like Twilio can simplify messaging for developers](/blog/post/simplify-messaging-twilio) - [Product tour video](https://www.youtube.com/watch?v=QdDgPeuBZ1I) ## Another day -On day 1 we continued our same flow and announced Improved support for [server-side rendering.](https://appwrite.io/blog/post/introducing-support-for-server-side-rendering) +On day 1 we continued our same flow and announced Improved support for [server-side rendering.](/blog/post/introducing-support-for-server-side-rendering) {% youtube src="https://www.youtube-nocookie.com/embed/jeL4cSovOBA?si=0tMDecmUucWOYASg" thumbnail="/images/blog/a-recap-of-init/thumbnails/thumbnail-ssr.png" /%} @@ -100,9 +100,9 @@ For day 1 we invited [Hitesh Choudhary](https://twitter.com/Hiteshdotcom) to com ### Content list -- [SSR vs CSR with Next.js](https://appwrite.io/blog/post/csr-vs-ssr-with-nextjs) +- [SSR vs CSR with Next.js](/blog/post/csr-vs-ssr-with-nextjs) - [Product tour](https://youtu.be/7LN05c-ov_0) -- [Announcement SSR](https://appwrite.io/blog/post/introducing-support-for-server-side-rendering) +- [Announcement SSR](/blog/post/introducing-support-for-server-side-rendering) ## Safety first @@ -127,11 +127,11 @@ We got a curve ball thrown at us on day 2 of Init, as our guest for the day had ### Content list - [Product tour 2FA](https://youtu.be/OWRju8ZZuQ8) -- [Announcement 2FA](https://appwrite.io/blog/post/announcing-two-factor-authentication) -- [From passwords to protection: Implementing 2FA in your applications](https://appwrite.io/blog/post/password-protection-2fa) -- [Announcement Enum SDK support](https://appwrite.io/blog/post/introducing-enum-sdk-support) -- [Effective use of enums in API design](https://appwrite.io/blog/post/enums-api-design) -- [Enhancing type safety in software development with enums](https://appwrite.io/blog/post/enhancing-type-safety) +- [Announcement 2FA](/blog/post/announcing-two-factor-authentication) +- [From passwords to protection: Implementing 2FA in your applications](/blog/post/password-protection-2fa) +- [Announcement Enum SDK support](/blog/post/introducing-enum-sdk-support) +- [Effective use of enums in API design](/blog/post/enums-api-design) +- [Enhancing type safety in software development with enums](/blog/post/enhancing-type-safety) ## More querying! @@ -147,9 +147,9 @@ For day 3 of Init, we had [Danny Thompson](https://twitter.com/DThompsonDev) joi ### Content list -- [Database operators announcement](https://appwrite.io/blog/post/introducing-new-database-operators) +- [Database operators announcement](/blog/post/introducing-new-database-operators) - [Product tour video](https://youtu.be/IMgl9f_iht4) -- [Understanding data queries in database management](https://appwrite.io/blog/post/understand-data-queries) +- [Understanding data queries in database management](/blog/post/understand-data-queries) ## The end and the beginning @@ -163,9 +163,9 @@ The closing party got an extra special touch with five giveaways to celebrate. A ### Content list -- [New runtimes announcement](https://appwrite.io/blog/post/introducing-enum-sdk-support) -- [Sound null-safety for your Dart functions](https://appwrite.io/blog/post/sound-null-safety-for-your-dart-functions) -- [Why you need to try the new Bun function runtime](https://appwrite.io/blog/post/why-you-need-to-try-the-new-bun-runtime) +- [New runtimes announcement](/blog/post/introducing-enum-sdk-support) +- [Sound null-safety for your Dart functions](/blog/post/sound-null-safety-for-your-dart-functions) +- [Why you need to try the new Bun function runtime](/blog/post/why-you-need-to-try-the-new-bun-runtime) # Thank you all for joining diff --git a/src/routes/blog/post/accessibility-in-pink-design/+page.markdoc b/src/routes/blog/post/accessibility-in-pink-design/+page.markdoc index 320b55be57..92d5ed1c4c 100644 --- a/src/routes/blog/post/accessibility-in-pink-design/+page.markdoc +++ b/src/routes/blog/post/accessibility-in-pink-design/+page.markdoc @@ -1,7 +1,7 @@ --- layout: post title: How Pink Design helped us improve web accessibility in our products. -description: +description: When creating products, accessibility can be an afterthought. Understandably, we want to ship our products fast and deliver value to our users. We might think that accessibility is needed for edge cases and therefore not prioritize it. date: 2022-11-14 cover: /images/pages/homepage/dashboard.png timeToRead: 3 @@ -9,7 +9,7 @@ author: arman category: accessibility, design --- -When creating products, accessibility can be an afterthought. Understandably, we want to ship our products fast and deliver value to our users. We might think that accessibility is needed for edge cases and therefore not prioritize it. It's good to be reminded that the World Health Organization (WHO) estimates that 16% of the global population has some form of disability (Dec 2022).Ignoring such a significant part of your user base simply doesn't create a good user experience.Creating accessible products is everyone's responsibility. Designers, developers, content authors, and whoever else is involved in creating products should do their part and strive towards achieving a better experience for everyone. +When creating products, accessibility can be an afterthought. Understandably, we want to ship our products fast and deliver value to our users. We might think that accessibility is needed for edge cases and therefore not prioritize it. It's good to be reminded that the World Health Organization (WHO) estimates that 16% of the global population has some form of disability (Dec 2022). Ignoring such a significant part of your user base simply doesn't create a good user experience.Creating accessible products is everyone's responsibility. Designers, developers, content authors, and whoever else is involved in creating products should do their part and strive towards achieving a better experience for everyone. It's not always easy to maintain a high level of accessibility, but it's definitely easier with a design system. The components we created in Pink Design, Appwrite's fully open source UI library, have an accessibility level of AA. This is the recommended level of accessibility for most products. diff --git a/src/routes/blog/post/add-a-search-function-to-your-app/+page.markdoc b/src/routes/blog/post/add-a-search-function-to-your-app/+page.markdoc index 53b7052bc6..9981e36f7c 100644 --- a/src/routes/blog/post/add-a-search-function-to-your-app/+page.markdoc +++ b/src/routes/blog/post/add-a-search-function-to-your-app/+page.markdoc @@ -20,9 +20,9 @@ Meilisearch is a flexible and powerful user-focused search engine that can be ad To use the function, you need the following set of keys: -- `APPWRITE_KEY` - API Key to talk to Appwrite backend APIs.To generate API Keys you can follow the documentation [here](https://appwrite.io/docs/getting-started-for-server#apiKey) +- `APPWRITE_KEY` - API Key to talk to Appwrite backend APIs.To generate API Keys you can follow the documentation [here](/docs/getting-started-for-server#apiKey) - `APPWRITE_ENDPOINT` - To get the Appwrite endpoint, you need to go to [Appwrite](https://cloud.appwrite.io/) and find it under “Settings” -- `APPWRITE_DATABASE_ID` - The ID of the Appwrite database that contains the collection to sync. You can find the documentation [here](https://appwrite.io/docs/databases). +- `APPWRITE_DATABASE_ID` - The ID of the Appwrite database that contains the collection to sync. You can find the documentation [here](/docs/databases). - `APPWRITE_COLLECTION_ID` - The ID of the collection in the Appwrite database to sync. To use Meilisearch, you can either self-host it using the command 👇 @@ -31,7 +31,7 @@ To use Meilisearch, you can either self-host it using the command 👇 curl -L [https://install.meilisearch.com](https://install.meilisearch.com/) | sh ``` -Or use [Meilisearch Cloud](https://www.meilisearch.com/cloud). For this example, we will assume that you are using Meilisearch Cloud. +Or use [Meilisearch Cloud](https://www.meilisearch.com/cloud). For this example, we will assume that you are using Meilisearch Cloud. Here’s the keys you need: @@ -40,7 +40,7 @@ Here’s the keys you need: ![Overview Meilisearch](/images/blog/add-a-search-function-to-your-app/functions.png) -- `MEILISEARCH_ADMIN_API_KEY` - This is the admin API key for Meilisearch. You will find it in the Meilisearch Console under “API Key”. +- `MEILISEARCH_ADMIN_API_KEY` - This is the admin API key for Meilisearch. You will find it in the Meilisearch Console under “API Key”. - `MEILISEARCH_SEARCH_API_KEY` - This is the API Key for Meilisearch search operations. To get this, you need you create a new index from the Meilisearch Console. Once created you will find it under `Overview` as `Default Search API Key` @@ -51,7 +51,7 @@ Here’s the keys you need: ![Keys](/images/blog/add-a-search-function-to-your-app/connect.png) - `MEILISEARCH_INDEX_NAME` - Name of the Meilisearch index to which the documents will be synchronized. For e.g, in the above picture, the Index name is `Newindex`. You can also find it under `Settings` as `Index Name`. - + ## Preparing the Function @@ -90,12 +90,12 @@ How can the *template* be extended ? Some examples are: 1. **Real-time Data Exploration:** It can be used to provide real-time search capabilities for datasets and data streams, allowing users to explore and analyze data in real-time. -2. **Content Management Systems:** The function template can be integrated into content management systems (CMS) to facilitate efficient content retrieval for editors and site visitors. +2. **Content Management Systems:** The function template can be integrated into content management systems (CMS) to facilitate efficient content retrieval for editors and site visitors. Be sure to check out the other available Function Templates. We’ve created multiple that could be of use in your projects. You can find the [templates GitHub repository here](https://github.com/appwrite/templates). For more information about Appwrite and Appwrite Functions: -1. **[Appwrite Function Docs](https://appwrite.io/docs/functions)**: These documents provide more information on how to use Appwrite Functions. +1. **[Appwrite Function Docs](/docs/functions)**: These documents provide more information on how to use Appwrite Functions. 2. **[Functions Announcement](https://dev.to/appwrite/serverless-your-way-unleashing-appwrite-functions-true-potential-2l4f)**: Read the full announcement on Functions 1.4. 3. **[Appwrite Discord](https://discord.com/invite/appwrite)**: Connect with other developers and the Appwrite team for discussion, questions, and collaboration. diff --git a/src/routes/blog/post/adding-url-shortener-function/+page.markdoc b/src/routes/blog/post/adding-url-shortener-function/+page.markdoc index 5f492d5374..3038b417e9 100644 --- a/src/routes/blog/post/adding-url-shortener-function/+page.markdoc +++ b/src/routes/blog/post/adding-url-shortener-function/+page.markdoc @@ -10,17 +10,17 @@ category: functions featured: false --- -Appwrite Functions are user-defined functions that can start small and scale big, deploying automatically from source control. With the introduction of function templates, you can quickly add new integrations into your app without writing additional code or managing infrastructure. Function templates are pre-built Appwrite Functions that can be integrated into your Appwrite project with just a few clicks. +Appwrite Functions are user-defined functions that can start small and scale big, deploying automatically from source control. With the introduction of function templates, you can quickly add new integrations into your app without writing additional code or managing infrastructure. Function templates are pre-built Appwrite Functions that can be integrated into your Appwrite project with just a few clicks. A URL shortener takes a long or complex URL and generates a shorter, more concise version. The primary purpose of a URL shortener function is to make links easier to share, manage, and remember. -For e.g https://dev.to/appwrite/introducing-appwrite-migrations-effortless-data-migration-from-your-platforms-5dhh to http://tinyurl.com/bd5usb3n +For e.g https://dev.to/appwrite/introducing-appwrite-migrations-effortless-data-migration-from-your-platforms-5dhh to http://tinyurl.com/bd5usb3n In this blog, we’ll learn to build a URL shortener using Appwrite Functions template. The template benefits from the built-in scalability, reliability, and security of Appwrite Functions. You can find the source code on our [templates GitHub repository](https://github.com/appwrite/templates/tree/main/node/url-shortener). # Setting up the Template -To get started, you need to navigate to the functions page on the **[Appwrite](https://appwrite.io/cloud)** console. From there, we will select the **Templates** tab, search for and select the **URL Shortener** function template. +To get started, you need to navigate to the functions page on the **[Appwrite](https://cloud.appwrite.io)** console. From there, we will select the **Templates** tab, search for and select the **URL Shortener** function template. ![Function template](/images/blog/adding-url-shortener/functions.png) @@ -55,6 +55,6 @@ Be sure to check out the other available Function Templates. We’ve created man For more information about Appwrite and Appwrite Functions: -1. **[Appwrite Function Docs](https://appwrite.io/docs/functions)**: These documents provide more information on how to use Appwrite Functions. +1. **[Appwrite Function Docs](/docs/functions)**: These documents provide more information on how to use Appwrite Functions. 2. **[Functions Announcement](https://dev.to/appwrite/serverless-your-way-unleashing-appwrite-functions-true-potential-2l4f)**: Read the full announcement on Functions 1.4. 3. **[Appwrite Discord](https://discord.com/invite/appwrite)**: Connect with other developers and the Appwrite team for discussion, questions, and collaboration. diff --git a/src/routes/blog/post/announcing-appwrite-is-gdpr-compliant/+page.markdoc b/src/routes/blog/post/announcing-appwrite-is-gdpr-compliant/+page.markdoc index 0630c86253..b285e7e34b 100644 --- a/src/routes/blog/post/announcing-appwrite-is-gdpr-compliant/+page.markdoc +++ b/src/routes/blog/post/announcing-appwrite-is-gdpr-compliant/+page.markdoc @@ -26,6 +26,6 @@ Here are some technical insights into how we enhance data security: As always, with Appwrite, developers can continue creating with peace of mind. Your personal data will not be mistreated. -Appwrite is also [HIPAA](https://appwrite.io/docs/advanced/security/hipaa) and [SOC 2](https://appwrite.io/docs/advanced/security/soc2) compliant as of April 24th, 2024. +Appwrite is also [HIPAA](/docs/advanced/security/hipaa) and [SOC 2](/docs/advanced/security/soc2) compliant as of April 24th, 2024. -Further resources: [Documentation](https://appwrite.io/docs/advanced/security/gdpr), [Privacy policy](https://appwrite.io/privacy) , [Cookie policy](https://appwrite.io/cookies) +Further resources: [Documentation](/docs/advanced/security/gdpr), [Privacy policy](/privacy) , [Cookie policy](/cookies) diff --git a/src/routes/blog/post/announcing-appwrite-is-hipaa-compliant/+page.markdoc b/src/routes/blog/post/announcing-appwrite-is-hipaa-compliant/+page.markdoc index 2b6a6cb912..6c40c2068d 100644 --- a/src/routes/blog/post/announcing-appwrite-is-hipaa-compliant/+page.markdoc +++ b/src/routes/blog/post/announcing-appwrite-is-hipaa-compliant/+page.markdoc @@ -28,9 +28,9 @@ So what did we do to comply? We’ve set measures and controls to maintain secur - Encryption of data transmitted between Appwrite and users using transport layer security (TLS) and HTTP strict Transport Security, ensuring confidentiality both at rest and during transmission. - Access to environments containing customer data is strictly controlled, requiring authentication and authorization through multi-factor authentication (MFA). -Appwrite safeguards personal information to the same extent it protects its own, complying with relevant privacy laws and regulations in the jurisdictions where its services are offered. +Appwrite safeguards personal information to the same extent it protects its own, complying with relevant privacy laws and regulations in the jurisdictions where its services are offered. Please note that while Appwrite Cloud serves as a HIPAA-compliant platform to handle data, it is the responsibility of developers to ensure that their application is also compliant with HIPAA regulations. -Looking for a HIPAA compliant backend provider? Or looking to replace Firebase? Appwrite can be your solution. Take a look at our [documentation](https://appwrite.io/docs/advanced/security) to learn more about our security. +Looking for a HIPAA compliant backend provider? Or looking to replace Firebase? Appwrite can be your solution. Take a look at our [documentation](/docs/advanced/security) to learn more about our security. diff --git a/src/routes/blog/post/announcing-appwrite-messaging/+page.markdoc b/src/routes/blog/post/announcing-appwrite-messaging/+page.markdoc index d2d44445f7..28422d7e21 100644 --- a/src/routes/blog/post/announcing-appwrite-messaging/+page.markdoc +++ b/src/routes/blog/post/announcing-appwrite-messaging/+page.markdoc @@ -1,7 +1,7 @@ --- layout: post title: "Announcing Messaging: Push, Email and SMS directly from your Appwrite backend" -description: +description: Appwrite is excited to announce Messaging, a new product that simplifies user communication for developers. With Messaging, you can send emails, SMS, and push notifications through a unified API, all within your Appwrite project. date: 2024-02-26 cover: /images/blog/messaging-announcement.png timeToRead: 6 diff --git a/src/routes/blog/post/announcing-appwrite-new-ai-integrations/+page.markdoc b/src/routes/blog/post/announcing-appwrite-new-ai-integrations/+page.markdoc index 5140c5638b..f32cc9c381 100644 --- a/src/routes/blog/post/announcing-appwrite-new-ai-integrations/+page.markdoc +++ b/src/routes/blog/post/announcing-appwrite-new-ai-integrations/+page.markdoc @@ -19,7 +19,7 @@ Let's examine the integrations, Function templates, and what's still to come. ## AI use cases and documentation -To make your life easier, we have added technical guides to our documentation covering [computer vision](https://appwrite.io/blog/post/state-of-computer-vision), [natural language processing](https://appwrite.io/blog/post/state-of-natural-language-processing), and [audio processing](https://appwrite.io/blog/post/state-of-audio-processing). These advanced tutorials explain how to use [AI and Appwrite](https://appwrite.io/docs/products/ai) in your projects. +To make your life easier, we have added technical guides to our documentation covering [computer vision](/blog/post/state-of-computer-vision), [natural language processing](/blog/post/state-of-natural-language-processing), and [audio processing](/blog/post/state-of-audio-processing). These advanced tutorials explain how to use [AI and Appwrite](/docs/products/ai) in your projects. ![AI docs](/images/blog/ai-docs.png) @@ -27,22 +27,22 @@ To make your life easier, we have added technical guides to our documentation co We've also added support for many AI tools so you can integrate them into your projects. You will find step-by-step tutorials for each integration in our documentation. So far, we have added integrations and tutorials for: -- [Pinecone](https://appwrite.io/docs/products/ai/integrations/pinecone) -- [OpenAI](https://appwrite.io/docs/products/ai/integrations/openai) +- [Pinecone](/docs/products/ai/integrations/pinecone) +- [OpenAI](/docs/products/ai/integrations/openai) - Hugging Face -- [ElevenLabs](https://appwrite.io/docs/products/ai/integrations/elevenlabs) -- [Perplexity](https://appwrite.io/docs/products/ai/integrations/perplexity) -- [Replicate](https://appwrite.io/docs/products/ai/integrations/replicate) -- [fal.ai](http://fal.aihttps://appwrite.io/docs/products/ai/integrations/fal-ai) -- [LangChain](https://appwrite.io/docs/products/ai/integrations/langchain) -- [Together AI](https://appwrite.io/docs/products/ai/integrations/togetherai) +- [ElevenLabs](/docs/products/ai/integrations/elevenlabs) +- [Perplexity](/docs/products/ai/integrations/perplexity) +- [Replicate](/docs/products/ai/integrations/replicate) +- [fal.ai](/docs/products/ai/integrations/fal-ai) +- [LangChain](/docs/products/ai/integrations/langchain) +- [Together AI](/docs/products/ai/integrations/togetherai) - Anyscale ## AI powered Function templates -Function templates are pre-built Appwrite [Function](https://appwrite.io/docs/products/functions) that can be integrated into your Appwrite project with just a few clicks. With templates, you can easily incorporate new features and integrations into your app without writing additional code or managing infrastructure. +Function templates are pre-built Appwrite [Function](/docs/products/functions) that can be integrated into your Appwrite project with just a few clicks. With templates, you can easily incorporate new features and integrations into your app without writing additional code or managing infrastructure. -We have templates for your favorite AI tools, like OpenAI, LangChain, HuggingFace, and many more, covering many use cases, such as building an [intelligent chatbot](https://appwrite.io/blog/post/function-template-prompt-chatgpt) using OpenAI. +We have templates for your favorite AI tools, like OpenAI, LangChain, HuggingFace, and many more, covering many use cases, such as building an [intelligent chatbot](/blog/post/function-template-prompt-chatgpt) using OpenAI. Find the full overview on your console under the `Templates` tab in `Fuctions`. Filter function templates by the `AI` use case and select the AI function template that you need. diff --git a/src/routes/blog/post/announcing-appwrite-pro/+page.markdoc b/src/routes/blog/post/announcing-appwrite-pro/+page.markdoc index 87365fdf08..52ed124623 100644 --- a/src/routes/blog/post/announcing-appwrite-pro/+page.markdoc +++ b/src/routes/blog/post/announcing-appwrite-pro/+page.markdoc @@ -10,7 +10,7 @@ category: cloud featured: false --- -After [announcing our pricing plans](https://appwrite.io/blog/post/announcing-pricing) for Appwrite Cloud in August, we have reached another milestone as we roll out billing and welcome our newest addition to Appwrite Cloud, Appwrite Pro. A new product offering that allows you to build with more confidence. +After [announcing our pricing plans](/blog/post/announcing-pricing) for Appwrite Cloud in August, we have reached another milestone as we roll out billing and welcome our newest addition to Appwrite Cloud, Appwrite Pro. A new product offering that allows you to build with more confidence. While Appwrite Cloud is still in beta, Appwrite Pro is a new chapter we write together. Pro will help us add more features and capabilities to Appwrite, making app development more accessible and enjoyable for developers like you. @@ -21,9 +21,9 @@ Previously, all Appwrite Cloud developers used the Starter plan with unrestricte - Starter: a free plan that provides an easy starting point for budding projects - Pro: a paid plan that offers more resources and premium support -As we explained in depth in our [Pricing announcement](https://appwrite.io/blog/post/announcing-pricing), our pricing plans are based on a set of guiding principles we created, which we call the “Value Framework.” It guided us through determining the resources in a Pro plan and a fair price. It focuses on delivering the maximum value for you without compromising on the affordability and accessibility of our products and services. +As we explained in depth in our [Pricing announcement](/blog/post/announcing-pricing), our pricing plans are based on a set of guiding principles we created, which we call the “Value Framework.” It guided us through determining the resources in a Pro plan and a fair price. It focuses on delivering the maximum value for you without compromising on the affordability and accessibility of our products and services. -Pro gives you much more room and flexibility to build, scale, and maintain your apps compared to the Starter plan. Here is a snapshot of the differences in resources and support for Appwrite Starter and Appwrite Pro. You can find the complete overview on our [pricing page](https://appwrite.io/pricing#:~:text=Contact%20us-,Compare%20plans,-Discover%20our%20plans). +Pro gives you much more room and flexibility to build, scale, and maintain your apps compared to the Starter plan. Here is a snapshot of the differences in resources and support for Appwrite Starter and Appwrite Pro. You can find the complete overview on our [pricing page](/pricing). {% table %} * Appwrite Starter @@ -102,7 +102,7 @@ Early adopters of Appwrite Cloud may already have a large number of organization - Upgrade additional organizations to the Pro plan using your early adopters’ credit. - Move your projects using the **Transfer project** feature in your project’s settings. -- [Migrate](https://appwrite.io/docs/advanced/migrations/cloud) your Appwrite Cloud projects to a self-hosted instance. +- [Migrate](/docs/advanced/migrations/cloud) your Appwrite Cloud projects to a self-hosted instance. We appreciate the support and feedback from early Cloud adopters. These options should help you transition smoothly as we roll out Appwrite Pro. @@ -110,7 +110,7 @@ We appreciate the support and feedback from early Cloud adopters. These options Open-source software forms the foundation of modern software technologies. As lovers and builders of open-source software, we understand and appreciate the difficulty of building in the open. We’re fortunate to have the opportunity to build open-source software sustainably, and we can’t wait to give back. -Like our previous initiatives, such as the OSS Fund, Appwrite Cloud will also support open-source developers. OSS maintainers can use Appwrite to build and maintain their projects on the Appwrite Pro plan for free. Please reach out on our [contact page](https://apwr.dev/OSSplan) to enquire about this plan. As always, Appwrite also remains open-sourced and free to [self-host](https://appwrite.io/docs/advanced/self-hosting). +Like our previous initiatives, such as the OSS Fund, Appwrite Cloud will also support open-source developers. OSS maintainers can use Appwrite to build and maintain their projects on the Appwrite Pro plan for free. Please reach out on our [contact page](https://apwr.dev/OSSplan) to enquire about this plan. As always, Appwrite also remains open-sourced and free to [self-host](/docs/advanced/self-hosting). Appwrite Pro is just the start. We will continue developing our product offering to match your growing needs and capabilities and are excited to see your projects succeed with Appwrite Cloud. While you benefit from everything Appwrite Pro has to offer, you also become advocates in our mission to make software development accessible and enjoyable for all. @@ -125,5 +125,5 @@ Together, we build like a team of hundreds_ In case you need help upgrading, transferring your projects, or have billing and budget cap queries, please find the following resources: - [FAQ on pricing page](https://apwr.dev/pricingFAQ) -- [Project migration](https://appwrite.io/docs/advanced/migrations/cloud) +- [Project migration](/docs/advanced/migrations/cloud) - [Discord support](https://appwrite.io/discord) diff --git a/src/routes/blog/post/appwrite-decoded-bradley-schofield/+page.markdoc b/src/routes/blog/post/appwrite-decoded-bradley-schofield/+page.markdoc index 9c671edd35..fb70ea77d8 100644 --- a/src/routes/blog/post/appwrite-decoded-bradley-schofield/+page.markdoc +++ b/src/routes/blog/post/appwrite-decoded-bradley-schofield/+page.markdoc @@ -1,7 +1,7 @@ --- layout: post title: "Appwrite Decoded: Bradley Schofield" -description: In this blog, we put Bradley Schofield in the spotlight and share his side of the story. +description: In this blog, we put Bradley Schofield in the spotlight and share his side of the story. cover: /images/blog/appwrite-decoded-bradley/bradley-cover.png timeToRead: 4 date: 2024-02-08 @@ -15,23 +15,23 @@ This week, we shed light on Bradley, the youngest team member at Appwrite but, a ## From college dropout to skilled dev -Bradley’s story is interesting but not uncommon in the software industry. He started on a computer science degree in college, only to drop out. In his own words: *“They weren’t teaching me anything new.”* +Bradley’s story is interesting but not uncommon in the software industry. He started on a computer science degree in college, only to drop out. In his own words: *“They weren’t teaching me anything new.”* -He moved on to do an apprenticeship for more hands-on experience, but soon after, he left to join Appwrite. Eldad, Founder and CEO of Appwrite, asked him to join due to his many valuable contributions to the product at the time, including projects that showcase Appwrite's versatility through [integrations](https://appwrite.io/docs/quick-starts) with various web frameworks such as React, Vue, Svelte, among others. +He moved on to do an apprenticeship for more hands-on experience, but soon after, he left to join Appwrite. Eldad, Founder and CEO of Appwrite, asked him to join due to his many valuable contributions to the product at the time, including projects that showcase Appwrite's versatility through [integrations](/docs/quick-starts) with various web frameworks such as React, Vue, Svelte, among others. > “Eldad approached me and asked if I wanted to interview for the role. I simply could not refuse, and it has been a blast ever since!”* -Delivering new features and providing solutions for developers is what Bradley finds most satisfying in his role. His interest lies in backend development and data analytics, but he enjoys constant learning and adapting to new challenges, integrating them into Appwrite in the most compatible way. This also made him a more than welcome addition to the Appwrite team. His eagerness to learn and positive attitude toward difficult tasks has helped him build products beyond his expectations, as demonstrated by his significant contributions to [Functions](https://appwrite.io/docs/products/functions) and [Migrations](https://appwrite.io/docs/advanced/migrations). +Delivering new features and providing solutions for developers is what Bradley finds most satisfying in his role. His interest lies in backend development and data analytics, but he enjoys constant learning and adapting to new challenges, integrating them into Appwrite in the most compatible way. This also made him a more than welcome addition to the Appwrite team. His eagerness to learn and positive attitude toward difficult tasks has helped him build products beyond his expectations, as demonstrated by his significant contributions to [Functions](/docs/products/functions) and [Migrations](/docs/advanced/migrations). -Working at Appwrite has equipped Bradley with various skills and knowledge, particularly in understanding the dynamics of the developer community. +Working at Appwrite has equipped Bradley with various skills and knowledge, particularly in understanding the dynamics of the developer community. > “Before working at Appwrite, I wasn’t really aware of the developer community, I didn’t even know what a DevRel role was! Once you experience the community from within, you gain a whole new perspective.” ## Achieving more with a team -When it comes to being part of a team, Bradley believes it empowers you to tackle projects far greater than you could achieve alone. +When it comes to being part of a team, Bradley believes it empowers you to tackle projects far greater than you could achieve alone. -> “It’s really important and truly empowering. It gives you the confidence to take on larger projects and pushes you forward regarding abilities.” +> “It’s really important and truly empowering. It gives you the confidence to take on larger projects and pushes you forward regarding abilities.” Discussing challenging tasks with his team members often results in solutions that seem far more attainable. @@ -39,31 +39,31 @@ Transparency and an ambitious mindset are among the aspects of Appwrite that Bra ## Working from anywhere in the world -Bradley acknowledges that remote work may be a different experience for each person, and he believes the benefits outweigh the drawbacks. He particularly appreciates the flexibility and freedom it offers: +Bradley acknowledges that remote work may be a different experience for each person, and he believes the benefits outweigh the drawbacks. He particularly appreciates the flexibility and freedom it offers: -> "The biggest perk for me is the ability to work from anywhere. Pretty much any place can be your office, which is a huge advantage." +> "The biggest perk for me is the ability to work from anywhere. Pretty much any place can be your office, which is a huge advantage." -The flexibility to spontaneously travel to a different city at any moment and continue working as if nothing had changed is a huge advantage for him. The friendly atmosphere within the team only adds an extra layer of appeal. +The flexibility to spontaneously travel to a different city at any moment and continue working as if nothing had changed is a huge advantage for him. The friendly atmosphere within the team only adds an extra layer of appeal. As colleagues frequently extend invitations to visit them in other locations, with the assurance that it won't disrupt his work schedule. -However, he also acknowledges the potential social isolation and the challenge of staying focused while surrounded by a computer all day. His advice is to maintain a healthy balance: +However, he also acknowledges the potential social isolation and the challenge of staying focused while surrounded by a computer all day. His advice is to maintain a healthy balance: > "Stay active, strike a balance between work and personal life, spend time with loved ones, and don't forget to recharge!" ## New runtimes, frameworks, and knowledge -Bradley likes working with the latest [runtimes](https://appwrite.io/docs/products/functions/runtimes) and frameworks, and he very much enjoys the opportunity to explore new horizons every day. His overarching goal is to continuously expand his knowledge and expertise as a developer, helping fellow developers along the way. +Bradley likes working with the latest [runtimes](/docs/products/functions/runtimes) and frameworks, and he very much enjoys the opportunity to explore new horizons every day. His overarching goal is to continuously expand his knowledge and expertise as a developer, helping fellow developers along the way. > “I do a lot of research on various topics and come up with feature ideas that we often turn into reality. It's always exciting to see what new project lies ahead, as I'm always eager to try new things. Most recently, I've been particularly interested in exploring machine learning.” -Introducing new functions stands out among Bradley's many proud moments at Appwrite. +Introducing new functions stands out among Bradley's many proud moments at Appwrite. > "We used to support only dynamic languages, but now we can handle compiled languages like C++." -For anyone who wants to be a part of Appwrite, Bradley invites you to [contribute](https://appwrite.io/community). +For anyone who wants to be a part of Appwrite, Bradley invites you to [contribute](/community). -> ”Start working on it, don't wait for opportunities to come knocking. Make them happen!” +> ”Start working on it, don't wait for opportunities to come knocking. Make them happen!” Want to know more about Bradley? Visit his social profiles: diff --git a/src/routes/blog/post/appwrite-decoded-dennis-ivy/+page.markdoc b/src/routes/blog/post/appwrite-decoded-dennis-ivy/+page.markdoc index 05bbefbc50..e477aca49b 100644 --- a/src/routes/blog/post/appwrite-decoded-dennis-ivy/+page.markdoc +++ b/src/routes/blog/post/appwrite-decoded-dennis-ivy/+page.markdoc @@ -1,7 +1,7 @@ --- layout: post title: "Appwrite Decoded: Dennis Ivy" -description: In this blog, we put Dennis Ivy in the spotlight and share his side of the story. +description: In this blog, we put Dennis Ivy in the spotlight and share his side of the story. cover: /images/blog/appwrite-decoded-dennis/dennis-cover.png timeToRead: 12 date: 2024-04-22 @@ -15,10 +15,10 @@ In this blog, we'll walk you through the career journey of Dennis Ivy, one of ou # From self taught to teaching others -Dennis, fueled by his passion for technology, turned his self-taught coding skills into a dynamic career, all without the formal education you might expect. His journey kicked off not in a classroom but from a deep curiosity. Dennis dove headfirst into the coding world, motivated by the goal of launching his own online businesses. It wasn't just about building for companies; it was about mastering the process of creation and then sharing that knowledge with anybody who needs it. +Dennis, fueled by his passion for technology, turned his self-taught coding skills into a dynamic career, all without the formal education you might expect. His journey kicked off not in a classroom but from a deep curiosity. Dennis dove headfirst into the coding world, motivated by the goal of launching his own online businesses. It wasn't just about building for companies; it was about mastering the process of creation and then sharing that knowledge with anybody who needs it. > "I started coding out of pure curiosity, and before I knew it, I was hooked. Building projects was exciting, but sharing what I learned was the real game changer.” -> +> He took this passion to [YouTube](https://www.youtube.com/@DennisIvy), creating a space where he could pass on his experiences, turning every tutorial into a collaborative learning journey. @@ -27,82 +27,82 @@ He took this passion to [YouTube](https://www.youtube.com/@DennisIvy), creating Dennis's path was anything but traditional. Drawn to the endless possibilities of digital spaces, he saw a chance to break free from the traditional physical business model and reach people on a global scale. > "The digital world was like a vast ocean, and I just had to learn how to sail it. The potential to scale and connect was limitless.” -> +> This insight led him to explore digital marketing and web development, eventually founding a digital marketing and web development agency. While operating his agency for several years, he gained experience managing and growing a business. -Now, as a developer advocate, Dennis continues to share, connect, and inspire. What he values most about his job is the balance it offers. +Now, as a developer advocate, Dennis continues to share, connect, and inspire. What he values most about his job is the balance it offers. > "It's like being in a sandbox, but the castles I build now can reach and teach others.” -> +> -This blend of independence and the opportunity to work remotely allows him to control his routine while still engaging deeply with the community. The joy of his work comes not just from the projects he completes but from the lightbulb moments he witnesses in others as they grasp the once challenging concepts of coding. +This blend of independence and the opportunity to work remotely allows him to control his routine while still engaging deeply with the community. The joy of his work comes not just from the projects he completes but from the lightbulb moments he witnesses in others as they grasp the once challenging concepts of coding. > "It's being able to actually see people take a concept that was difficult to understand and then have that 'aha' moment of 'wow, I finally understand what I'm trying to learn.'" -> +> # Choosing passion over routine -Before Dennis switched to Appwrite, in his old gig, things were okay on paper—nice paycheck, stable job—but it was like walking down the same road every day, never really getting satisfied. It wasn't about the money for him; it was about finding work that made him actually want to get out of bed in the morning, something that sparked a bit of fire in his eyes. That's exactly what he found at Appwrite. +Before Dennis switched to Appwrite, in his old gig, things were okay on paper—nice paycheck, stable job—but it was like walking down the same road every day, never really getting satisfied. It wasn't about the money for him; it was about finding work that made him actually want to get out of bed in the morning, something that sparked a bit of fire in his eyes. That's exactly what he found at Appwrite. > "Landing at Appwrite was like catching the perfect wave. I saw this product, and I just knew it was going to make some serious noise in the industry.” > ![Dennis career update](/images/blog/appwrite-decoded-dennis/dennis-career-update.png) -For Dennis, Appwrite boils down to three big ideas: open source, community, and, yeah, excitement. Open source is the heartbeat of Appwrite—it's about doing things together, out in the open, making something cool that everyone can be a part of. +For Dennis, Appwrite boils down to three big ideas: open source, community, and, yeah, excitement. Open source is the heartbeat of Appwrite—it's about doing things together, out in the open, making something cool that everyone can be a part of. > "It's teamwork, through and through.” -> +> At Appwrite, it's never just another day at work; it's another chance to dive into something that really matters with a team that's all about pushing boundaries. -Appwrite's focus on [community](https://appwrite.io/community) stands out, from the active engagement on the Discord server to the support of educational meetups. +Appwrite's focus on [community](/community) stands out, from the active engagement on the Discord server to the support of educational meetups. > "I've never been part of a company this dedicated to its community.” -> +> This commitment to building a supportive environment was recognized when Appwrite received the Best DevRel Team award in 2023, a clear nod to our exceptional community engagement. ![Dennis DevRel post](/images/blog/appwrite-decoded-dennis/dennis-post-devrel.png) -Dennis is excited about Appwrite’s future, especially considering the competitive field with some big names in the industry. It's not just about being in the ring with the giants; it’s the excitement of innovation and the commitment to introducing bold and ambitious products that drive him. +Dennis is excited about Appwrite’s future, especially considering the competitive field with some big names in the industry. It's not just about being in the ring with the giants; it’s the excitement of innovation and the commitment to introducing bold and ambitious products that drive him. > “Tackling projects that might look a bit intimidating or complex, but have the potential to leave a mark? That's what fires me up. Imagining all the cool stuff we can achieve looking forward—now that's a vision I get behind.” -> +> # Finding a new perspective on development -Before teaming up with Appwrite, Dennis rarely had [back-end as a service](https://appwrite.io/blog/post/leveraging-baas-tools-to-scale-faster) (BaaS) tools on his radar. As a die-hard back-end engineer, he was a bit skeptical. He questioned how these tools would fit into his skill set and workflow. Appwrite turned those doubts into a definitive yes, proving that such tools could boost efficiency and speed, complementing his skills rather than constraining them. +Before teaming up with Appwrite, Dennis rarely had [back-end as a service](/blog/post/leveraging-baas-tools-to-scale-faster) (BaaS) tools on his radar. As a die-hard back-end engineer, he was a bit skeptical. He questioned how these tools would fit into his skill set and workflow. Appwrite turned those doubts into a definitive yes, proving that such tools could boost efficiency and speed, complementing his skills rather than constraining them. > "Initially, I was all about refining and expanding back-ends on my own. Appwrite shifted my focus, encouraging a broader, product-centric perspective over mere code perfection." -> +> -In terms of teamwork, Dennis views it through a pragmatic lens. It's not about keeping everyone occupied with tasks; it’s about strategic synergy, aligning tasks with individual strengths to optimize the team's output. This approach not only boosts efficiency but also fosters an atmosphere where each member gets to be the star in their domain. +In terms of teamwork, Dennis views it through a pragmatic lens. It's not about keeping everyone occupied with tasks; it’s about strategic synergy, aligning tasks with individual strengths to optimize the team's output. This approach not only boosts efficiency but also fosters an atmosphere where each member gets to be the star in their domain. > "We lean into our strengths—everyone brings their A-game, making us unstoppable as a unit." > ![Dennis team post](/images/blog/appwrite-decoded-dennis/dennis-post-team.png) -One of Dennis's standout abilities is his knack for spotting areas within projects that need fine-tuning. Being both a user and an advocate of Appwrite gives him a dual perspective; he sees things from a user’s angle, which means he’s on the front line for catching glitches or figuring out what could be better. This skill comes in handy, especially when it’s time to level up content. Whether it’s filling in the blanks in a guide or adding the missing piece to a video, Dennis has an eye for what’s needed. He’s all about creating content that doesn’t just talk at users but really speaks to them, breaking down Appwrite's ins and outs into something everyone can grasp. His goal? To ensure everyone understands what Appwrite can do and how to make the most of it. +One of Dennis's standout abilities is his knack for spotting areas within projects that need fine-tuning. Being both a user and an advocate of Appwrite gives him a dual perspective; he sees things from a user’s angle, which means he’s on the front line for catching glitches or figuring out what could be better. This skill comes in handy, especially when it’s time to level up content. Whether it’s filling in the blanks in a guide or adding the missing piece to a video, Dennis has an eye for what’s needed. He’s all about creating content that doesn’t just talk at users but really speaks to them, breaking down Appwrite's ins and outs into something everyone can grasp. His goal? To ensure everyone understands what Appwrite can do and how to make the most of it. > “I’m here to make sure our content not only covers everything Appwrite is capable of but also actually helps you use it.” > ![Dennis setup](/images/blog/appwrite-decoded-dennis/dennis-setup.png) -Finding his place at Appwrite has been a game-changer for Dennis. No more feeling stuck in a box or like he’s just going through the motions. Here, he’s found the space to shine, contributing big ways to content and how the product shapes up. It’s the kind of work that motivates him to get up in the morning, knowing he’s part of a team that truly values his contributions. +Finding his place at Appwrite has been a game-changer for Dennis. No more feeling stuck in a box or like he’s just going through the motions. Here, he’s found the space to shine, contributing big ways to content and how the product shapes up. It’s the kind of work that motivates him to get up in the morning, knowing he’s part of a team that truly values his contributions. > “I’m all in on what we’re building here, dedicating hours because it matters—to me, to the team, and to our users.” > ![Dennis github universe event](/images/blog/appwrite-decoded-dennis/dennis-github-universe.png) -What Dennis has achieved so far at Appwrite is a strong indicator of what he is up to in the future. What's at the top of his list? The revival of Appwrite's [YouTube channel](https://www.youtube.com/appwrite) and deeper engagement with its tools led to a significant uptick in audience growth—almost doubling since he began contributing to video content. This initiative not only raised awareness about the platform's educational resources but also marked a personal milestone in his career. +What Dennis has achieved so far at Appwrite is a strong indicator of what he is up to in the future. What's at the top of his list? The revival of Appwrite's [YouTube channel](https://www.youtube.com/appwrite) and deeper engagement with its tools led to a significant uptick in audience growth—almost doubling since he began contributing to video content. This initiative not only raised awareness about the platform's educational resources but also marked a personal milestone in his career. > “I’m definitely proud of the fact that I've brought awareness there, and seeing the community grow is incredibly rewarding." -> +> Another highlight for him was taking the stage in New York, representing Appwrite at a conference—a moment where he got to share the essence of Appwrite with a broader audience, feeling a deep sense of accomplishment. @@ -111,22 +111,22 @@ Another highlight for him was taking the stage in New York, representing Appwrit His vision for Appwrite is ambitious yet clear: positioning it as the foremost choice for back-end services. > "I'm all in on making Appwrite the top pick for anyone needing back-end services." -> +> His game plan involves not just showcasing its solid features but also ensuring it’s known for top-notch developer education and an unbeatable user experience. His dedication is all about shining a spotlight on Appwrite, ensuring it's recognized as an essential player in the tech arena. ![Dennis github post](/images/blog/appwrite-decoded-dennis/dennis-post-github.png) -On the personal front, Dennis is entering into exciting new territory. A publishing house has expressed interest in his expertise on various topics, presenting him with an opportunity to broaden his influence. He has already started working on the preliminary content, dedicating his energy to this new project, which has the potential to share his insights and experiences on a wider scale. +On the personal front, Dennis is entering into exciting new territory. A publishing house has expressed interest in his expertise on various topics, presenting him with an opportunity to broaden his influence. He has already started working on the preliminary content, dedicating his energy to this new project, which has the potential to share his insights and experiences on a wider scale. > “I’m excited to develop content that resonates and educates.” -> +> # Work from home, don’t live at work Dennis has a keen perspective on remote work life. It’s certainly a mixed bag. The absence of face-to-face communication is deeply felt, as it removes the nuanced understanding and connection from physically sharing space with colleagues. -However, the advantages of remote work shine through, especially in how it enables organizations to scale rapidly and tap into talent beyond geographical boundaries. Appwrite, by embracing remote work, spans multiple time zones, enhances operational efficiency and offers team members the flexibility to tailor their work schedules. +However, the advantages of remote work shine through, especially in how it enables organizations to scale rapidly and tap into talent beyond geographical boundaries. Appwrite, by embracing remote work, spans multiple time zones, enhances operational efficiency and offers team members the flexibility to tailor their work schedules. > "Discovering talent from the comfort of your own living room? That's invaluable. It's how we manage to be everywhere, all at once." > @@ -135,40 +135,40 @@ However, the advantages of remote work shine through, especially in how it enabl For Dennis, flexibility isn’t just about geographic freedom; it's about redefining productivity on one's own terms and escaping the 9-to-5 mold. Appwrite's culture supports this vision with daily check-ins that ensure accountability. Dennis appreciates how these practices reinforce team focus and cohesion. -Maintaining personal discipline and a distinct separation between work and home life is essential, Dennis advises. For those balancing family responsibilities, setting clear boundaries ensures that work concerns don’t encroach on personal time and vice versa. +Maintaining personal discipline and a distinct separation between work and home life is essential, Dennis advises. For those balancing family responsibilities, setting clear boundaries ensures that work concerns don’t encroach on personal time and vice versa. > “Keeping my home free from work stress is important. I separate professional discussions from my personal life until the workday ends.” -> +> -It’s also about creating a dedicated workspace that’s all business during work hours. For Dennis, this means rituals like dressing for work, even if the commute is just across the hallway. +It’s also about creating a dedicated workspace that’s all business during work hours. For Dennis, this means rituals like dressing for work, even if the commute is just across the hallway. > Respecting the work you do, no matter the location, is crucial. Even for minor calls, I make sure to look presentable. It's about blending the professional feel of an office with the comfort of home—the best of both worlds.” -> +> This approach not only boosts his productivity but also preserves a healthy balance between work obligations and personal life. # From insight to impact, advocating to the community -Dennis is genuinely proud to represent Appwrite, cherishing the chance to engage directly with users and watch their journey from confusion to clarity. Witnessing users reach that "aha" moment, where everything clicks and they see the full potential of what they can do with the product, is a highlight for him. +Dennis is genuinely proud to represent Appwrite, cherishing the chance to engage directly with users and watch their journey from confusion to clarity. Witnessing users reach that "aha" moment, where everything clicks and they see the full potential of what they can do with the product, is a highlight for him. > "It's incredible to see users evolve from a place of uncertainty about what we offer to a point where they grasp the potential of what they can create with us. That’s a big win in my book." -> +> This aspect of community engagement doesn't just show him the direct impact of his work; it’s a major source of joy. -In his interactions with the community, Dennis treasures the mosaic of experiences and backgrounds he comes across. From industry veterans with years of wisdom to eager beginners just starting their journey, and resilient individuals navigating career changes, each interaction is a chance to connect, share insights, and offer support, enriching his understanding of the tech community’s diverse landscape. +In his interactions with the community, Dennis treasures the mosaic of experiences and backgrounds he comes across. From industry veterans with years of wisdom to eager beginners just starting their journey, and resilient individuals navigating career changes, each interaction is a chance to connect, share insights, and offer support, enriching his understanding of the tech community’s diverse landscape. > "Getting to really connect, learn who they are, share stories, and sometimes offer a piece of advice—there’s excitement in that. The tech community is a vast, vibrant mix of people from every possible background. Engaging with such a broad spectrum is genuinely uplifting.” > ![Dennis nextjs post](/images/blog/appwrite-decoded-dennis/dennis-nextjs.png) -Stepping into Appwrite isn’t for those who shy away from a challenge, as Dennis points out: +Stepping into Appwrite isn’t for those who shy away from a challenge, as Dennis points out: > “If you’re coming on board, be ready to hit the ground running.” -> +> -This isn’t just any routine job; Appwrite is built on a culture of proactive engagement and meaningful contribution. For those eyeing a spot in this dynamic crew, Dennis advises preparing themselves for an immersive experience. At Appwrite, every opinion matters, and ideas are not just acknowledged—they're brought to life. This approach stands in sharp contrast to environments where feedback might silently disappear into the void. The ethos here champions meaningful involvement, where each team member plays a crucial role in driving the product forward. +This isn’t just any routine job; Appwrite is built on a culture of proactive engagement and meaningful contribution. For those eyeing a spot in this dynamic crew, Dennis advises preparing themselves for an immersive experience. At Appwrite, every opinion matters, and ideas are not just acknowledged—they're brought to life. This approach stands in sharp contrast to environments where feedback might silently disappear into the void. The ethos here champions meaningful involvement, where each team member plays a crucial role in driving the product forward. > “So, yes, gear up for some real work, expect to get your hands dirty, but also know that your ideas will pave the path.” > @@ -178,12 +178,12 @@ This isn’t just any routine job; Appwrite is built on a culture of proactive e For developers, professionals, or anyone stepping into new territory, Dennis’s advice is straightforward yet profound: > “Waiting for the stars to align? Don’t. Just dive in.” -> +> -Whether it's launching into a project, gearing up for an interview, or mastering a new skill, the notion of being fully prepared is a myth, and hesitancy can be a barrier to progress. Procrastination often masquerades as preparation. +Whether it's launching into a project, gearing up for an interview, or mastering a new skill, the notion of being fully prepared is a myth, and hesitancy can be a barrier to progress. Procrastination often masquerades as preparation. > “This isn’t just about coding but applies to many walks of life; whatever you're doing, go for it.” -> +> If you’re looking to learn more about Dennis or connect with him, visit his social profiles: diff --git a/src/routes/blog/post/appwrite-decoded-khushboo-verma/+page.markdoc b/src/routes/blog/post/appwrite-decoded-khushboo-verma/+page.markdoc index 6f9c270b39..1df818be50 100644 --- a/src/routes/blog/post/appwrite-decoded-khushboo-verma/+page.markdoc +++ b/src/routes/blog/post/appwrite-decoded-khushboo-verma/+page.markdoc @@ -1,7 +1,7 @@ --- layout: post title: "Appwrite Decoded: Khushboo Verma" -description: In this blog, we put Khushboo Verma in the spotlight and share her side of the story. +description: In this blog, we put Khushboo Verma in the spotlight and share her side of the story. cover: /images/blog/appwrite-decoded-khushboo/khushboo-cover.png timeToRead: 10 date: 2024-03-21 @@ -15,22 +15,22 @@ In this episode we will take you through Khushboo Verma’s career journey, a so # On and off campus advocate -Khushboo earned her degree in computer science engineering from one of the largest all-women's universities in Asia. However, her university life was about more than just hitting the books. It was about fostering a sense of community. +Khushboo earned her degree in computer science engineering from one of the largest all-women's universities in Asia. However, her university life was about more than just hitting the books. It was about fostering a sense of community. > "I led numerous workshops on campus and worked to build communities not just within our university but also at a state level.” -> +> -She recognized the potential among women and was instrumental in proving that software engineering wasn't just a man's world. +She recognized the potential among women and was instrumental in proving that software engineering wasn't just a man's world. > "In our university, women were very hardworking and had access to the right opportunities, something that wasn't quite the same in other universities. So, through communities, I tried to bridge that gap as much as possible and always advocated for diversity and inclusion.” -> +> Khushboo didn't stop there. She actively engaged in several community programs, like the Microsoft Student Ambassador and Google Machine Learning programs. These experiences expanded her horizon beyond the university walls, keeping her in the loop with the latest tech trends and what everyone was exploring in their spare time. Landing internships at big names like Microsoft and Adobe as a software engineer and product intern, respectively, was just the icing on the cake. These opportunities didn't just add to her resume, but they advanced her career forward, offering valuable experience in the dynamic tech landscape. ![Khushboo git](/images/blog/appwrite-decoded-khushboo/khushboo-git.png) > "All of this motivated me to contribute more to the software engineering space, a field I truly love." -> +> After graduating, she joined Microsoft full-time as a software engineer and explored the cloud computing space working with the Azure storage team. But despite her new role, she still was eager to be involved with the community. During this period, she also got the opportunity to speak publicly. From international stages at Microsoft Ignite and Microsoft Build to Pycon India, she was there, sharing her knowledge, leading hands-on coding workshops, and everything in between. @@ -41,12 +41,12 @@ After graduating, she joined Microsoft full-time as a software engineer and expl ![Khushboo campus expert](/images/blog/appwrite-decoded-khushboo/khushboo-campus-expert.png) -So, why does she pour so much into community work? It's about giving back to the place that gave her so much. +So, why does she pour so much into community work? It's about giving back to the place that gave her so much. > “I believe communities have this amazing power to lift people up, to help them become the best version of themselves. That's been true for me, so I see it as my responsibility to give it back." -> +> -This connection to her community isn't just a side project, it's a core part of who Khushboo is. +This connection to her community isn't just a side project, it's a core part of who Khushboo is. > "It's more than just work. It's a passion that's really close to my heart.” > @@ -55,7 +55,7 @@ This connection to her community isn't just a side project, it's a core part of # Joining Appwrite through community -Her journey to Appwrite is nothing short of inspirational. Back when she was hosting a podcast called "Tech Interviews Simplified" for GitHub Education, she had the chance to invite Aditya, a Developer Advocate from Appwrite, to discuss DevRel roles. Eldad, the CEO of Appwrite, also joined the live stream to support Aditya, setting the stage for what was to come. +Her journey to Appwrite is nothing short of inspirational. Back when she was hosting a podcast called "Tech Interviews Simplified" for GitHub Education, she had the chance to invite Aditya, a Developer Advocate from Appwrite, to discuss DevRel roles. Eldad, the CEO of Appwrite, also joined the live stream to support Aditya, setting the stage for what was to come. > "After the show wrapped up, Aditya and I had a great conversation about Appwrite, his reasons for joining, and where I could dive deeper into learning about it.” > @@ -66,36 +66,36 @@ When the time came for a new challenge post-Microsoft, she remembered that conve ![Khushboo post career update](/images/blog/appwrite-decoded-khushboo/khushboo-career-update.png) -Her favorite part about working at Appwrite? It's the opportunity to shoulder a lot of responsibility. This keeps her learning journey continuously active. +Her favorite part about working at Appwrite? It's the opportunity to shoulder a lot of responsibility. This keeps her learning journey continuously active. > "What's more, the people here are incredibly supportive and approachable, making the learning process not just easy, but fun and exciting too." -> +> For Khushboo, it's all about the win-win: tackling high-impact projects with a swift and efficient process. This setup not only supports her learning but also ensures she's always surrounded by a team ready to lend a hand. > "Software engineering is very complex and filled with challenges. Often, we find ourselves diving into unknown waters, tackling problems that no one has solved before.” -> +> -This is precisely why she values being part of a team so highly. When you hit a snag or find your motivation lacking, it's the team that comes to your rescue. You're surrounded by a mix of people who've been in your shoes or who can help you overcome obstacles and encourage you to excel. For her, it's more than just collaboration, it's about cultivating a supportive environment. +This is precisely why she values being part of a team so highly. When you hit a snag or find your motivation lacking, it's the team that comes to your rescue. You're surrounded by a mix of people who've been in your shoes or who can help you overcome obstacles and encourage you to excel. For her, it's more than just collaboration, it's about cultivating a supportive environment. > "It's a place where newcomers are nurtured, and the more experienced offer guidance and mentorship." -> +> In Khushboo's eyes, being part of a team means you're in a constant state of growth, always learning, and always helping others advance along with you. ![Khushboo post team engineering](/images/blog/appwrite-decoded-khushboo/khushboo-team-engineering.png) -When asked to describe Appwrite in three words, Khushboo immediately says "ambition." +When asked to describe Appwrite in three words, Khushboo immediately says "ambition." > "We're always pushing the envelope, striving to achieve more and do our best.” -> +> -“Collaboration” comes next on her list. +“Collaboration” comes next on her list. > "It's incredible to see how the design, product, engineering, and growth team work together. The level of collaboration is amazing, allowing us to see the product's journey from start to finish." -> +> -But what really sealed the deal for her was the “culture.” +But what really sealed the deal for her was the “culture.” > "The culture here was a major deciding factor for me. It's refreshing to be part of a workspace that's not only supportive and friendly but also acknowledges and celebrates each employee's efforts. This makes Appwrite a fantastic place to work." > @@ -110,13 +110,13 @@ At Appwrite, there's real trust in Khushboo's abilities. When she faces a new ta ![Khushboo and Eldad](/images/blog/appwrite-decoded-khushboo/khushboo-with-eldad.png) > "And, really, everyone at Appwrite is just so smart." -> +> Being surrounded by such talented individuals is a daily motivation, constantly inspiring her to aim higher in her professional and personal life. ![Khushboo post team](/images/blog/appwrite-decoded-khushboo/khushboo-team.png) -But it's not all about the work. Appwrite values her holistic growth. Despite being a software engineer, she's encouraged to explore her passions beyond coding. Whether it's public speaking or content creation, there's always support for her to engage in activities beyond her core responsibilities. +But it's not all about the work. Appwrite values her holistic growth. Despite being a software engineer, she's encouraged to explore her passions beyond coding. Whether it's public speaking or content creation, there's always support for her to engage in activities beyond her core responsibilities. > "It's an amazing setup that's enhanced my growth more than I ever imagined.” > @@ -126,7 +126,7 @@ But it's not all about the work. Appwrite values her holistic growth. Despite be With Appwrite, she stepped into an environment where openness and transparency were more than just ideals—they were practiced daily. Getting a grip on the company’s bigger picture wasn’t just encouraged. It was essential. Seeing the direct line between her work in engineering and the company's achievements was a breath of fresh air. > “I found myself collaborating more closely with other teams in a way that was both new and exciting. It’s one thing to work on a project, but it’s another to see your piece fit into the puzzle, contributing to something that we all have a hand in.” -> +> This approach didn’t just widen her view on how businesses operate, it also reshaped her entire mindset toward working together and solving problems. The impact of these experiences has been profound, leaving a lasting impression on her professional path. @@ -134,10 +134,10 @@ This approach didn’t just widen her view on how businesses operate, it also re # Past and future through Appwrite -Working on [Appwrite Functions](https://appwrite.io/docs/products/functions) was a real journey of discovery for Khushboo. Starting from square one, she was prepared to tackle every detail from the ground up. The initial steps of drafting a detailed design document and steering it through the approval stages were just the prologue. The real excitement kicked in as she began building the feature from zero, witnessing its progression to a live environment. But for Khushboo, the project didn’t end with deployment. She was keen on hearing the community's voice, eagerly welcoming their feedback to enhance the feature further. Integrating this feedback, she fine-tuned the function to better meet user expectations. The community’s positive response was incredibly affirming, fueling her drive to innovate and keep exceeding what’s possible. +Working on [Appwrite Functions](/docs/products/functions) was a real journey of discovery for Khushboo. Starting from square one, she was prepared to tackle every detail from the ground up. The initial steps of drafting a detailed design document and steering it through the approval stages were just the prologue. The real excitement kicked in as she began building the feature from zero, witnessing its progression to a live environment. But for Khushboo, the project didn’t end with deployment. She was keen on hearing the community's voice, eagerly welcoming their feedback to enhance the feature further. Integrating this feedback, she fine-tuned the function to better meet user expectations. The community’s positive response was incredibly affirming, fueling her drive to innovate and keep exceeding what’s possible. > "At Appwrite, I see tremendous room for personal and professional development, especially as the product evolves.” -> +> Every day is a chance for her to polish her system design abilities and advance as a self-reliant software engineer. As she looks to the future, she's eager to embrace a leadership position, whether it be technical or people-oriented, guided by a mindset of openness to new challenges. Yet, at the core of her ambition lies a genuine desire to contribute meaningfully and witness the impact of her work on users. This sentiment resonates with both her friendly nature and professional approach. @@ -146,7 +146,7 @@ Every day is a chance for her to polish her system design abilities and advance Switching from the structured environment of an office to the flexibility of remote work initially presented a few challenges for Khushboo. Adjusting to Appwrite's remote nature didn't happen overnight. However, she quickly appreciated the benefits of asynchronous communication, which was crucial in maintaining transparency and fostering teamwork despite the team being spread across the globe. Navigating the challenges of interacting effectively with teammates in various time zones and cultural contexts was a learning curve. > "Appwrite really supports us by providing options like co-working spaces. I've taken to working from one, and it’s a game-changer. It brings a bit of the office vibe back, allowing me to hang out with professionals from other fields and partake in the communal energy and events typical of an office setting." -> +> She's all about taking regular breaks, whether for a quick walk in the park or chatting with a coworker. It's one of the perks of remote work—being able to set your own schedule and work when you're feeling most productive. Remote work has its challenges, but Khushboo is a shining example that with the right mindset and a handful of clever strategies, not only can you navigate these challenges, but also fully tap into the wealth of benefits remote work offers. @@ -157,21 +157,21 @@ She's all about taking regular breaks, whether for a quick walk in the park or c If you have your eyes on a software engineering career, Khushboo has some golden advice: get your hands dirty with code, lots of it. But don’t stop there. Once you've built up your confidence in coding, dive into the world of system design. > "Software engineering can sometimes be daunting. You might feel overwhelmed by everything there is to learn, worrying you’re falling behind or getting left out. But here’s the thing, every engineer has been there. The key? Commit to learning something new every day." -> +> She believes in the power of sticking to a path of constant learning and finding joy in small discoveries. Linking up with mentors who've faced similar hurdles and surrounding yourself with driven peers can be transformative, making those big challenges much more manageable. > "Finding your way through the job market's competitive terrain can feel like a tough climb, especially with how things are today.” -> +> -She's convinced that those who dive into open source projects, share their achievements on social media, and [connect with the wider community](https://appwrite.io/heroes) by writing blogs, making videos, or speaking at conferences stand out. She points out that in a world where opportunities know no borders, making yourself seen and heard on the global stage is crucial. +She's convinced that those who dive into open source projects, share their achievements on social media, and [connect with the wider community](/heroes) by writing blogs, making videos, or speaking at conferences stand out. She points out that in a world where opportunities know no borders, making yourself seen and heard on the global stage is crucial. -Take, for example, Appwrite—a globally remote company constantly [scouting for talent](https://www.appwrite.careers) worldwide. Khushboo’s guidance is clear-cut: develop a passion for building and exploring new things, but don’t forget to let the [commnunity](https://appwrite.io/community) see what you’re capable of. Rather than solely relying on traditional job applications, she advocates for proactively sharing one's projects and expertise, enabling potential employers to discover them. Khushboo also highlights the significance of empathy and cultural fit in addition to technical proficiency. Being empathetic and understanding others' perspectives fosters strong teamwork and collaboration, qualities that are highly valued in today's workplace. +Take, for example, Appwrite—a globally remote company constantly [scouting for talent](https://www.appwrite.careers) worldwide. Khushboo’s guidance is clear-cut: develop a passion for building and exploring new things, but don’t forget to let the [commnunity](/community) see what you’re capable of. Rather than solely relying on traditional job applications, she advocates for proactively sharing one's projects and expertise, enabling potential employers to discover them. Khushboo also highlights the significance of empathy and cultural fit in addition to technical proficiency. Being empathetic and understanding others' perspectives fosters strong teamwork and collaboration, qualities that are highly valued in today's workplace. Khushboo wraps up her journey's story with a quote that resonates deeply with her: > “As long as you have faith and are willing to work hard, you can achieve anything you want.” -> +> Her dedication to spreading knowledge doesn't stop; whether it's workshops, meetups, or conferences, she's there, eager to share what she knows with anyone willing to learn. diff --git a/src/routes/blog/post/appwrite-is-now-soc-2-type-1-compliant/+page.markdoc b/src/routes/blog/post/appwrite-is-now-soc-2-type-1-compliant/+page.markdoc index beb0deac0b..a4882a5bb5 100644 --- a/src/routes/blog/post/appwrite-is-now-soc-2-type-1-compliant/+page.markdoc +++ b/src/routes/blog/post/appwrite-is-now-soc-2-type-1-compliant/+page.markdoc @@ -11,9 +11,9 @@ featured: false --- We remain dedicated to maintaining the highest information security standards for all industries. Although we go beyond just meeting the requirements, Appwrite still commits to conform to the most stringent security standards -like [GDPR](https://appwrite.io/docs/advanced/security/gdpr), [HIPAA](https://appwrite.io/docs/advanced/security/hipaa), and [PCI](https://appwrite.io/docs/advanced/security/pci) to ensure the safety of your data. +like [GDPR](/docs/advanced/security/gdpr), [HIPAA](/docs/advanced/security/hipaa), and [PCI](/docs/advanced/security/pci) to ensure the safety of your data. -Today, we are excited to add to Appwrite's list of security standards compliance and announce that Appwrite has achieved SOC 2 Type 1 compliance (System and Organization Controls). +Today, we are excited to add to Appwrite's list of security standards compliance and announce that Appwrite has achieved SOC 2 Type 1 compliance (System and Organization Controls). # What is SOC 2 Type 1? @@ -37,7 +37,7 @@ This assures you of data security of the highest standards for your products. # What we did to attain compliance -So, what did we do to attain compliance with SOC 2 Type I? Just like with our [GDPR](https://appwrite.io/blog/post/announcing-appwrite-is-gdpr-compliant) and [HIPAA](https://appwrite.io/blog/post/announcing-appwrite-is-hipaa-compliant) compliance, we needed to undergo rigorous evaluations of internal policies, procedures, and infrastructure. We've implemented measures to safeguard user data, ensuring that our practices align with the stringent requirements of SOC 2 standards. +So, what did we do to attain compliance with SOC 2 Type I? Just like with our [GDPR](/blog/post/announcing-appwrite-is-gdpr-compliant) and [HIPAA](/blog/post/announcing-appwrite-is-hipaa-compliant) compliance, we needed to undergo rigorous evaluations of internal policies, procedures, and infrastructure. We've implemented measures to safeguard user data, ensuring that our practices align with the stringent requirements of SOC 2 standards. ## Appwrite system description @@ -54,4 +54,4 @@ Outlined below are some of the key measures Appwrite implements to uphold the se - Appwrite oversees vendor management processes to ensure the security of third-party vendors and service providers who may access systems or data. - Ongoing training and awareness initiatives are conducted to equip employees with the necessary knowledge and skills to uphold best practices in safeguarding systems and data. -Looking for a SOC 2 Type 1 compliant backend provider? Or looking to replace Firebase? Appwrite can be your solution. Take a look at our [documentation](https://appwrite.io/docs/advanced/security) to learn more about our security. +Looking for a SOC 2 Type 1 compliant backend provider? Or looking to replace Firebase? Appwrite can be your solution. Take a look at our [documentation](/docs/advanced/security) to learn more about our security. diff --git a/src/routes/blog/post/appwrite-messaging-is-free-for-six-months/+page.markdoc b/src/routes/blog/post/appwrite-messaging-is-free-for-six-months/+page.markdoc index 8ade006ed7..17ae81fd4f 100644 --- a/src/routes/blog/post/appwrite-messaging-is-free-for-six-months/+page.markdoc +++ b/src/routes/blog/post/appwrite-messaging-is-free-for-six-months/+page.markdoc @@ -8,14 +8,14 @@ timeToRead: 5 author: eldad-fux category: Product --- -When we [introduced Messaging](https://appwrite.io/blog/post/announcing-appwrite-messaging) during [Init](https://appwrite.io/init), we were overwhelmed by the excitement within the Appwrite community. Now we can also announce that Messaging will be free for the next six months. +When we [introduced Messaging](/blog/post/announcing-appwrite-messaging) during [Init](/init), we were overwhelmed by the excitement within the Appwrite community. Now we can also announce that Messaging will be free for the next six months. ## Free for the next six months Messaging is in beta, and during this time, we will analyze all usage and collect pricing feedback from the Appwrite community to establish a fair price for the service. Just like with our Cloud pricing, we want to adhere to the Value Framework we created. > We created a set of principles to guide us through the pricing process. We like to call this the “Value Framework” as it focuses on delivering the maximum value to our users without compromising on the affordability and accessibility of our products and services. -> +> So what does this mean? @@ -34,11 +34,11 @@ During the coming months, we will contact many of you to ask for feedback on Mes ## New features planned -The release of Messaging is just the beginning. We will add many new features to the product to make it the best messaging service and ensure you get everything you need to deliver a great messaging experience to your end users. +The release of Messaging is just the beginning. We will add many new features to the product to make it the best messaging service and ensure you get everything you need to deliver a great messaging experience to your end users. Some features we will be adding: the ability to send test messages, add variables to your messages, advanced targeting, and in depth usage stats. -We will add more providers and invite you to contribute with your own pull requests. Visit our [community page](https://appwrite.io/community) to learn more about contributing or add your issues directly to [GitHub](https://github.com/appwrite/appwrite). +We will add more providers and invite you to contribute with your own pull requests. Visit our [community page](/community) to learn more about contributing or add your issues directly to [GitHub](https://github.com/appwrite/appwrite). ## A complete backend for your projects @@ -48,7 +48,7 @@ We’re excited to bring Messaging to Cloud and to offer the service for free fo Learn more about Messaging in our resources: -- [Best practices for sending push notifications](https://appwrite.io/blog/post/push-notifications-best-practices) -- [How tools like Twilio can simplify messaging for developers](https://appwrite.io/blog/post/simplify-messaging-twilio) -- [Documentation](https://appwrite.io/docs/products/messaging) +- [Best practices for sending push notifications](/blog/post/push-notifications-best-practices) +- [How tools like Twilio can simplify messaging for developers](/blog/post/simplify-messaging-twilio) +- [Documentation](/docs/products/messaging) - [Product tour](https://www.youtube.com/watch?v=QdDgPeuBZ1I) diff --git a/src/routes/blog/post/building-apps-with-bun-and-appwrite/+page.markdoc b/src/routes/blog/post/building-apps-with-bun-and-appwrite/+page.markdoc index 624f9dbc33..9611a34424 100644 --- a/src/routes/blog/post/building-apps-with-bun-and-appwrite/+page.markdoc +++ b/src/routes/blog/post/building-apps-with-bun-and-appwrite/+page.markdoc @@ -13,7 +13,7 @@ If you are a developer, your definition of `bun` must have recently changed. Fro # What is Bun? -Bun is an all-in-one JavaScript runtime & toolkit designed for speed, complete with a bundler, [test runner](https://bun.sh/docs/cli/test), and Node.js-compatible [package manager](https://bun.sh/package-manager). +Bun is an all-in-one JavaScript runtime & toolkit designed for speed, complete with a bundler, [test runner](https://bun.sh/docs/cli/test), and Node.js-compatible [package manager](https://bun.sh/package-manager). To install Bun, follow the instructions [here](https://bun.sh/). It is built from scratch to serve the modern JavaScript ecosystem. It has three major design goals: @@ -27,7 +27,7 @@ Bun lets you read environment variables from a **`.env`** file and utilize the f Bun also natively supports TypeScript out of the box. Other than that, it also supports `.js`, `.cjs`, `.mjs`, `.jsx`, and `.tsx` files. -*Bonus: Bun package manager is known for its speed, offering faster package management as one of its key features. Even if you don't use Bun as a runtime, you can use Bun's built-in package manager, that can significantly speed up your development workflow.* +*Bonus: Bun package manager is known for its speed, offering faster package management as one of its key features. Even if you don't use Bun as a runtime, you can use Bun's built-in package manager, that can significantly speed up your development workflow.* Try it for yourself: @@ -43,15 +43,15 @@ The powers of Bun are endless. If you are interested to know more about the capa **How is Bun so fast?** > Bun made some bold decisions to make this happen! It is not because they are using Zig or not using V8 nor because it's machine code. It is because of the mindset to make everything as highly performant as possible. -> +> -Other than that, there are things like: While installing a package, Bun doesn’t do a network check to see if it is downloading in the latest version. `@latest` tags are effectively ignored in Bun. +Other than that, there are things like: While installing a package, Bun doesn’t do a network check to see if it is downloading in the latest version. `@latest` tags are effectively ignored in Bun. Also, making small adjustments, such as creating a list of labeled pointers instead of keeping the function pointers separately, greatly improved the speed. # Introduction to Appwrite -Explore the capabilities of Bun with [Appwrite](https://appwrite.io/) - a backend platform to help you minimize time to create value. Appwrite abstracts away the complexities and repetitiveness of building a modern application so you can jump straight to the fun parts, building impactful features. +Explore the capabilities of Bun with [Appwrite](/) - a backend platform to help you minimize time to create value. Appwrite abstracts away the complexities and repetitiveness of building a modern application so you can jump straight to the fun parts, building impactful features. Using Appwrite, you can quickly deploy and scale your Bun/JavaScript code base with ease. To achieve that, you can use Appwrite Functions. @@ -59,11 +59,11 @@ Appwrite Functions is available in multiple languages and runtimes (and Bun is o ![Bun start](/images/blog/building-apps-with-bun-and-appwrite/bun-start.png) -Appwrite functions are capable of doing more. In our latest release, we have added `Function templates`, which means you’ll be able to add Functions engineered by the Appwrite team and community to your Appwrite project. Functions also have their own `domain`, either custom or generated by Appwrite. This lets you write Appwrite Functions that act like typical REST endpoints to handle webhooks, custom integrations, or even serve HTML content. Appwrite Functions will now also fit into your existing workflow right alongside the rest of your code as you can deploy them directly from `Git`. +Appwrite functions are capable of doing more. In our latest release, we have added `Function templates`, which means you’ll be able to add Functions engineered by the Appwrite team and community to your Appwrite project. Functions also have their own `domain`, either custom or generated by Appwrite. This lets you write Appwrite Functions that act like typical REST endpoints to handle webhooks, custom integrations, or even serve HTML content. Appwrite Functions will now also fit into your existing workflow right alongside the rest of your code as you can deploy them directly from `Git`. # Integrating Bun in Appwrite -Now that you have been introduced to Bun and Appwrite, it is time to test them out! To use Bun in Appwrite, you need to use the latest version of Appwrite. +Now that you have been introduced to Bun and Appwrite, it is time to test them out! To use Bun in Appwrite, you need to use the latest version of Appwrite. Installing a self-hosted version of Appwrite is pretty straight-forward, all you need to do is: @@ -78,17 +78,17 @@ docker run -it --rm \ appwrite/appwrite:1.5.7 ``` -For one-click setups, check out the [installation docs](https://appwrite.io/docs/self-hosting). +For one-click setups, check out the [installation docs](/docs/self-hosting). To use Bun in Appwrite, you need to add it to `_APP_FUNCTIONS_RUNTIMES` in the `.env` file and restart your Appwrite instance with `docker compose up -d`. ![Bun functions](/images/blog/building-apps-with-bun-and-appwrite/bun-functions.png) -Next, go ahead and create a Bun function using the Appwrite CLI by running appwrite init function. +Next, go ahead and create a Bun function using the Appwrite CLI by running appwrite init function. Now that your function is set up, we can try some examples: -**Example 1:** +**Example 1:** Bun aims to provide a consistent and predictable module resolution system that just works. The specialty of Bun is that you can use `import` or `require` in the same file—they both work all the time. @@ -116,7 +116,7 @@ The output will be: Bun supports `.jsx` and `.tsx` files out of the box. Bun's internal transpiler converts JSX syntax into vanilla JavaScript before execution. -Let us test with the following code: +Let us test with the following code: ```jsx import { renderToString } from "react-dom/server"; @@ -143,7 +143,7 @@ When the function successfully executes, you will get the following output: # Takeaways -In this article, we learned about Bun and using it with Appwrite. While we support Node.js, Deno, and Bun within Appwrite, it is up to you to choose which one you want to build with. +In this article, we learned about Bun and using it with Appwrite. While we support Node.js, Deno, and Bun within Appwrite, it is up to you to choose which one you want to build with. While comparing the performance of these three runtimes with Appwrite, we have come up with some interesting results: @@ -153,12 +153,12 @@ While comparing the performance of these three runtimes with Appwrite, we have c - Load testing - All in similar ranges, with Bun and Node.js being the most stable > Benchmarks above are related to runtime used in Appwrite Functions. -> +> Here are some resources to get started: -- [Appwrite Function Docs](https://appwrite.io/docs/functions) +- [Appwrite Function Docs](/docs/functions) - [Bun Docs](https://bun.sh/docs) - [Appwrite Discord](https://discord.com/invite/appwrite) -With the benchmarks shared above and having the flexibility within Appwrite to build with any runtime, what would be your choice? +With the benchmarks shared above and having the flexibility within Appwrite to build with any runtime, what would be your choice? diff --git a/src/routes/blog/post/building-init-giveaway-app/+page.markdoc b/src/routes/blog/post/building-init-giveaway-app/+page.markdoc index 7ea1bc424a..2dac84cd1d 100644 --- a/src/routes/blog/post/building-init-giveaway-app/+page.markdoc +++ b/src/routes/blog/post/building-init-giveaway-app/+page.markdoc @@ -9,7 +9,7 @@ author: aditya-oberai category: open-source --- -Last week, we saw the culmination of a whole new initiative, the celebration of everything new with Appwrite and the community, called [Init](https://appwrite.io/init). From February 26th to March 1st, we celebrated a new product and/or feature every day and shared educational content around the same. Alongside, we hosted online events each day in the Appwrite Discord server with creators and friends of Appwrite to learn about the new releases, ask questions, and, most of all, geek out together. +Last week, we saw the culmination of a whole new initiative, the celebration of everything new with Appwrite and the community, called [Init](/init). From February 26th to March 1st, we celebrated a new product and/or feature every day and shared educational content around the same. Alongside, we hosted online events each day in the Appwrite Discord server with creators and friends of Appwrite to learn about the new releases, ask questions, and, most of all, geek out together. One popular aspect of these events was a random giveaway that we ran every single day, giving out Init swag to a number of our community members. When planning out these giveaways, however, we wanted to create a high-quality experience for our community members, to make it as special and exciting as every other aspect of Init. diff --git a/src/routes/blog/post/building-with-ai-function-templates/+page.markdoc b/src/routes/blog/post/building-with-ai-function-templates/+page.markdoc index 76fb269412..e9e52a3087 100644 --- a/src/routes/blog/post/building-with-ai-function-templates/+page.markdoc +++ b/src/routes/blog/post/building-with-ai-function-templates/+page.markdoc @@ -9,13 +9,13 @@ author: aditya-oberai category: product --- -It’s an exciting time for software development, as many new concepts and techniques pop up every day, giving us endless possibilities to build new and shiny things. But this sea of opportunity can be hard to navigate and keep up with. AI, for instance, is a field that is rapidly evolving and is influencing not only the products we can build but also the way we develop them. However, building AI-powered applications can be complicated. Appwrite’s new AI Function templates make it easier to build AI powered applications. +It’s an exciting time for software development, as many new concepts and techniques pop up every day, giving us endless possibilities to build new and shiny things. But this sea of opportunity can be hard to navigate and keep up with. AI, for instance, is a field that is rapidly evolving and is influencing not only the products we can build but also the way we develop them. However, building AI-powered applications can be complicated. Appwrite’s new AI Function templates make it easier to build AI powered applications. So, what did we add? This blog provides an overview of all the concepts we’ve added, tutorials, templates, and the integrations we support. # Computer vision -[Computer vision](https://appwrite.io/blog/post/state-of-computer-vision) is a field of AI aiming to provide machines with a comprehensive understanding of visual data from a variety of sources. Two sub techniques we added support for are image classification and object detection. Both techniques are widely used in our day to day lives, let’s take a look. +[Computer vision](/blog/post/state-of-computer-vision) is a field of AI aiming to provide machines with a comprehensive understanding of visual data from a variety of sources. Two sub techniques we added support for are image classification and object detection. Both techniques are widely used in our day to day lives, let’s take a look. ## Image classification @@ -59,7 +59,7 @@ Detect and label objects in images # Natural language processing -[Natural language processing](https://appwrite.io/blog/post/state-of-natural-language-processing) (NLP) is a fascinating intersection of computer science, artificial intelligence, and linguistics. It's about teaching computers to understand, interpret, and generate human language. Translating languages, answering questions, or helping find information, NLP is at the heart of many technologies we use every day. Two techniques that Appwrite Function templates support are text generation and language translation. +[Natural language processing](/blog/post/state-of-natural-language-processing) (NLP) is a fascinating intersection of computer science, artificial intelligence, and linguistics. It's about teaching computers to understand, interpret, and generate human language. Translating languages, answering questions, or helping find information, NLP is at the heart of many technologies we use every day. Two techniques that Appwrite Function templates support are text generation and language translation. ## Text generation @@ -107,7 +107,7 @@ Translate text between languages # Audio processing -[Audio processing](https://appwrite.io/blog/post/state-of-audio-processing) is a field of machine learning that allows machines to understand, analyze, and manipulate various audio signals. The applications are vast and varied, from speech recognition to music generation and noise reduction. It's used in many everyday tools you use, including voice assistants, music streaming services, and for noise reduction in online calls. We’ve added support for speech to recognition, text-to-speech, and even music generation. +[Audio processing](/blog/post/state-of-audio-processing) is a field of machine learning that allows machines to understand, analyze, and manipulate various audio signals. The applications are vast and varied, from speech recognition to music generation and noise reduction. It's used in many everyday tools you use, including voice assistants, music streaming services, and for noise reduction in online calls. We’ve added support for speech to recognition, text-to-speech, and even music generation. ## Speech to recognition @@ -175,15 +175,15 @@ Efficiently convert text to music As we have covered in this blog, we have added a lot of great templates for you to get started on your AI journey. Including support for AI integrations: -- [Pinecone](https://appwrite.io/docs/products/ai/integrations/pinecone) -- [OpenAI](https://appwrite.io/docs/products/ai/integrations/openai) -- [Hugging Face](https://appwrite.io/docs/products/ai/tutorials/image-classification) -- [ElevenLabs](https://appwrite.io/docs/products/ai/integrations/elevenlabs) -- [Perplexity](https://appwrite.io/docs/products/ai/integrations/perplexity) -- [Replicate](https://appwrite.io/docs/products/ai/integrations/replicate) -- [fal.ai](https://appwrite.io/docs/products/ai/integrations/fal-ai) -- [LangChain](https://appwrite.io/docs/products/ai/integrations/langchain) -- [Together AI](https://appwrite.io/docs/products/ai/integrations/togetherai) +- [Pinecone](/docs/products/ai/integrations/pinecone) +- [OpenAI](/docs/products/ai/integrations/openai) +- [Hugging Face](/docs/products/ai/tutorials/image-classification) +- [ElevenLabs](/docs/products/ai/integrations/elevenlabs) +- [Perplexity](/docs/products/ai/integrations/perplexity) +- [Replicate](/docs/products/ai/integrations/replicate) +- [fal.ai](/docs/products/ai/integrations/fal-ai) +- [LangChain](/docs/products/ai/integrations/langchain) +- [Together AI](/docs/products/ai/integrations/togetherai) ![Image of Appwrite Console](/images/blog/building-with-ai-function-templates/function-templates-overview.png) @@ -196,7 +196,7 @@ We've also added more AI Function templates for more use cases than discussed ab Take a look at these two blogs to learn more about using Function templates in your projects: -- [Streamline receipt scanning with Appwrite Cloud](https://appwrite.io/blog/post/scan-receipts-with-appwrite-functions) -- [Build an intelligent chatbot with ChatGPT and Appwrite Functions](https://appwrite.io/blog/post/function-template-prompt-chatgpt) +- [Streamline receipt scanning with Appwrite Cloud](/blog/post/scan-receipts-with-appwrite-functions) +- [Build an intelligent chatbot with ChatGPT and Appwrite Functions](/blog/post/function-template-prompt-chatgpt) We will continue to add more AI tutorials, integrations, blogs, videos, and Function templates. You can also contribute by adding your own pull requests to the [repository](https://github.com/appwrite/templates). diff --git a/src/routes/blog/post/bun-function-resume/+page.markdoc b/src/routes/blog/post/bun-function-resume/+page.markdoc index 9ffce74811..e4dfecad83 100644 --- a/src/routes/blog/post/bun-function-resume/+page.markdoc +++ b/src/routes/blog/post/bun-function-resume/+page.markdoc @@ -1,7 +1,7 @@ --- layout: post title: Share your resume using Appwrite Functions -description: How you can create a resume using HTML and use a Bun Appwrite Function to share it with the world. +description: How you can create a resume using HTML and use a Bun Appwrite Function to share it with the world. date: 2024-03-07 cover: /images/blog/bun-function-resume/cover.png timeToRead: 7 @@ -9,7 +9,7 @@ author: aditya-oberai category: functions --- -One of the coolest things about Appwrite Functions is that you can now consume them as REST APIs. This means you can send HTTP requests to any path, using common HTTP methods such as `GET` and `POST` to any path on the function and get a response in JSON or any other text-based formats (such as plain text, HTML, and CSV). This has opened up a lot of potential use-cases, one of which is how you can host and share your online resume through an Appwrite Function when applying for a new job. +One of the coolest things about Appwrite Functions is that you can now consume them as REST APIs. This means you can send HTTP requests to any path, using common HTTP methods such as `GET` and `POST` to any path on the function and get a response in JSON or any other text-based formats (such as plain text, HTML, and CSV). This has opened up a lot of potential use-cases, one of which is how you can host and share your online resume through an Appwrite Function when applying for a new job. Therefore, in this blog, we will leverage one of Appwrite’s newest functions runtimes, Bun, to create a function that delivers an HTML-based resume. @@ -162,7 +162,7 @@ Now that our HTML resume and utility function are ready, we can develop our fina import { getStaticFile } from './utils.js'; export default async ({ req, res }) => { - + if (req.method === 'GET' && req.path === '/') { return res.send(getStaticFile('resume.html'), 200, { 'Content-Type': 'text/html; charset=utf-8', @@ -193,7 +193,7 @@ Once you’ve completed all the aforementioned steps, you can push the code to o ![Function deployment](/images/blog/bun-function-resume/deployment.png) -You can then go ahead and test your function by opening the function domain in your browser. +You can then go ahead and test your function by opening the function domain in your browser. Here is what an example of this looks like: [apwr.dev/bun-functions-resume-demo](https://apwr.dev/bun-functions-resume-demo) @@ -203,6 +203,6 @@ And with that, you have successfully deployed your resume using Appwrite Functio Additionally, if you would like to learn more about Appwrite Functions, here are some resources: -- [Appwrite Functions docs](https://appwrite.io/docs/functions): These documents provide more information on how to use Appwrite Functions. -- [Bun functions announcements](https://appwrite.io/blog/post/why-you-need-to-try-the-new-bun-runtime): Read the full announcement about our Bun functions runtime. +- [Appwrite Functions docs](/docs/functions): These documents provide more information on how to use Appwrite Functions. +- [Bun functions announcements](/blog/post/why-you-need-to-try-the-new-bun-runtime): Read the full announcement about our Bun functions runtime. - [Appwrite Discord](https://discord.com/invite/appwrite): Connect with other developers and the Appwrite team for discussion, questions, and collaboration. \ No newline at end of file diff --git a/src/routes/blog/post/case-study-langx/+page.markdoc b/src/routes/blog/post/case-study-langx/+page.markdoc index 8606a72994..2e3cd1fc53 100644 --- a/src/routes/blog/post/case-study-langx/+page.markdoc +++ b/src/routes/blog/post/case-study-langx/+page.markdoc @@ -9,7 +9,7 @@ author: aditya-oberai category: case-studies --- -Born in Istanbul, Turkey, Xue never needed to prioritize learning English as a language until he pursued further education at Boğaziçi University, where his Mechanical Engineering coursework was delivered in English. After graduating and working as an IT manager at a multinational import-export company, Xue moved to Canada and founded his own tech consulting firm. By now, he had started exploring various language exchange platforms such as Tandem as a learner; however, he soon realized there was no perfect platform for his needs. +Born in Istanbul, Turkey, Xue never needed to prioritize learning English as a language until he pursued further education at Boğaziçi University, where his Mechanical Engineering coursework was delivered in English. After graduating and working as an IT manager at a multinational import-export company, Xue moved to Canada and founded his own tech consulting firm. By now, he had started exploring various language exchange platforms such as Tandem as a learner; however, he soon realized there was no perfect platform for his needs. Thus, the idea behind **LangX** was born. @@ -33,7 +33,7 @@ Around this simple philosophy, the LangX team has developed various features to Currently, LangX has been built using Ionic Angular, a cross-platform app framework that allows developers to create web and mobile apps via a single codebase. To accelerate the development process, Xue evaluated various Backend-as-a-Service platforms, including Supabase and Appwrite. Xue preferred Appwrite’s user experience to other options; however, it was Appwrite’s highly active and supportive community that convinced him. He remembers posting a challenge he faced on Appwrite’s Discord server and gaining a resolution in less than 24 hours, solidifying his decision. -LangX has been built-up and driven by Appwrite from Day 1. The team leveraged **Appwrite Databases** to store all the app’s data, including user information, chat rooms, languages, messages, reports, and visits. They leveraged **Appwrite Realtime** to enable synchronous chatting between users and track their online status. Any binary files, such as audio and images in the chats and on user profiles, are stored and managed via **Appwrite Storage**. The team has also developed multiple **Appwrite Functions** to manage unseen messages between users, track daily streaks to feature on user profiles, and send push notifications via Firebase Cloud Messaging, which they intend to migrate to **[Appwrite Messaging](https://appwrite.io/docs/products/messaging)** soon. +LangX has been built-up and driven by Appwrite from Day 1. The team leveraged **Appwrite Databases** to store all the app’s data, including user information, chat rooms, languages, messages, reports, and visits. They leveraged **Appwrite Realtime** to enable synchronous chatting between users and track their online status. Any binary files, such as audio and images in the chats and on user profiles, are stored and managed via **Appwrite Storage**. The team has also developed multiple **Appwrite Functions** to manage unseen messages between users, track daily streaks to feature on user profiles, and send push notifications via Firebase Cloud Messaging, which they intend to migrate to **[Appwrite Messaging](/docs/products/messaging)** soon. Some of the benefits of Appwrite that the LangX team appreciates are: diff --git a/src/routes/blog/post/deploy-a-pdf-generation-service-with-appwrite-functions/+page.markdoc b/src/routes/blog/post/deploy-a-pdf-generation-service-with-appwrite-functions/+page.markdoc index 988fb52a55..1c0a0fd6bb 100644 --- a/src/routes/blog/post/deploy-a-pdf-generation-service-with-appwrite-functions/+page.markdoc +++ b/src/routes/blog/post/deploy-a-pdf-generation-service-with-appwrite-functions/+page.markdoc @@ -16,7 +16,7 @@ Generating PDFs is a requirement of many applications. For example: creating inv The template generates an invoice using fake order data - it includes details such as an order ID, date, customer's name, list of purchased items, and the total cost. It should get you up and running, but you will need to add real data to build a useful invoice. -If you want to see the source code, you can find it on our [templates GitHub repository](https://github.com/appwrite/templates/tree/main/node/generate-pdf). +If you want to see the source code, you can find it on our [templates GitHub repository](https://github.com/appwrite/templates/tree/main/node/generate-pdf). Now, let’s navigate to our functions page on **[Appwrite Cloud](https://cloud.appwrite.io)**. Head over to your Appwrite project and visit the **Functions** page. From there, we will select the **Templates** tab, search for and select the **Generate PDF** function template. @@ -28,7 +28,7 @@ The function doesn’t have any required environment variables, so you can proce # Using the Function -Visit the **Domains** tab on the function page and copy the domain URL to test the function. +Visit the **Domains** tab on the function page and copy the domain URL to test the function. ![generate pdf](/images/blog/pdf-generation/generate-pdf.png) @@ -51,7 +51,7 @@ On Flutter you can use the [download](https://pub.dev/packages/download), or [op The next step is extend the template to show real invoice data. Here’s a high-level overview of what’s required: 1. Change the function to take the order ID as a query parameter in the function. -2. Get the order document from your Appwrite database, or external data source. Unsure about this? View code recipes on the **[Appwrite Function Docs](https://appwrite.io/docs/functions).** +2. Get the order document from your Appwrite database, or external data source. Unsure about this? View code recipes on the **[Appwrite Function Docs](/docs/functions).** 3. If necessary, use the order document to ensure the user has permission to see the order. For example, compare the `x-appwrite-user-id` header with the document user ID. 4. Change the function to populate the PDF template with the real order document. @@ -61,6 +61,6 @@ We’ve covered the basics, and now it’s your time to shine! With a few change For more information about Appwrite and Appwrite Functions: -1. **[Appwrite Function Docs](https://appwrite.io/docs/functions)**: These documents provide more information on how to use Appwrite Functions. -2. **[Appwrite Cloud](https://appwrite.io/cloud)**: Try our cloud service to get started quickly. +1. **[Appwrite Function Docs](/docs/functions)**: These documents provide more information on how to use Appwrite Functions. +2. **[Appwrite Cloud](https://cloud.appwrite.io)**: Try our cloud service to get started quickly. 3. **[Appwrite Discord](https://discord.com/invite/appwrite)**: Connect with other developers and the Appwrite team for discussion, questions, and collaboration. diff --git a/src/routes/blog/post/email-otp-auth-sveltekit/+page.markdoc b/src/routes/blog/post/email-otp-auth-sveltekit/+page.markdoc index 03d980665d..b7da5d281a 100644 --- a/src/routes/blog/post/email-otp-auth-sveltekit/+page.markdoc +++ b/src/routes/blog/post/email-otp-auth-sveltekit/+page.markdoc @@ -15,7 +15,7 @@ With the recent Appwrite 1.5 release, we added a new passwordless authentication # What is email OTP authentication? -[Email OTP authentication](https://appwrite.io/docs/products/auth/email-otp) lets users create accounts using their email address and sign in using a 6-digit code delivered to their email inbox. This method is similar to [Magic URL login](https://appwrite.io/docs/products/auth/magic-url) but can provide a better user experience in some scenarios. +[Email OTP authentication](/docs/products/auth/email-otp) lets users create accounts using their email address and sign in using a 6-digit code delivered to their email inbox. This method is similar to [Magic URL login](/docs/products/auth/magic-url) but can provide a better user experience in some scenarios. ## Email OTP vs magic URL @@ -33,7 +33,7 @@ Now that we have a basic understanding of email OTP authentication, let’s lear ## Set up Appwrite 1.5 -You can use email OTP authentication either by [registering on Appwrite Cloud](https://cloud.appwrite.io/) or [self-hosting Appwrite](https://appwrite.io/docs/advanced/self-hosting) on your system or an external VM/VPS. +You can use email OTP authentication either by [registering on Appwrite Cloud](https://cloud.appwrite.io/) or [self-hosting Appwrite](/docs/advanced/self-hosting) on your system or an external VM/VPS. You can self-host Appwrite using the following Docker command: @@ -45,7 +45,7 @@ docker run -it --rm \ appwrite/appwrite:1.5.7 ``` -Once that is done, [set up email delivery](https://appwrite.io/docs/advanced/self-hosting/email) on your self-hosted Appwrite instance. This can be done by visiting your `appwrite` directory and updating the `.env` file in a similar manner as follows: +Once that is done, [set up email delivery](/docs/advanced/self-hosting/email) on your self-hosted Appwrite instance. This can be done by visiting your `appwrite` directory and updating the `.env` file in a similar manner as follows: ``` _APP_SMTP_HOST=smtp.sendgrid.net @@ -176,7 +176,7 @@ In the `src/routes` directory, visit the file `+page.svelte` and replace it with - +