Skip to content

Conversation

@Veera-mulge
Copy link
Contributor

@Veera-mulge Veera-mulge commented Oct 7, 2025

What does this PR do?

(Provide a description of what this PR does.)

Test Plan

(Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work.)

Related PRs and Issues

(If this PR is related to any other PR or resolves any issue or related to any issue link all related PR and issues here.)

Have you read the Contributing Guidelines on issues?

(Write your answer here.)

Summary by CodeRabbit

  • Documentation
    • Updated “lastUpdated” metadata to Oct 14, 2025 across multiple blog posts.
    • Added Frequently Asked Questions (FAQs) sections to many articles; several posts contain duplicated FAQ blocks.
    • Introduced new/updated intro and conclusion content, added internal doc links, and adjusted resource/CTA lists.
    • Minor formatting and content reflow changes (link order, spacing, small copy tweaks).

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 7, 2025

Walkthrough

This PR modifies multiple blog posts under src/routes/blog/post/.markdoc. Changes are content-only: adding or updating front‑matter lastUpdated dates, inserting Frequently Asked Questions (FAQs) sections (often duplicated in the same file), converting some plain references to internal links (e.g., /docs/products/ and related blog posts), reflowing small formatting and resource lists, and updating a few provider descriptions and CTAs. No code, APIs, exported entities, or runtime logic were changed.

Possibly related PRs

Suggested reviewers

  • tessamero
  • ebenezerdon
  • LauraDuRy

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title succinctly conveys that this PR updates the next set of top performing blog posts, matching the modifications across multiple markdown files. It directly relates to the file summaries showing metadata additions and FAQ sections being introduced. It avoids vague wording and clearly communicates the change scope to anyone scanning the project history.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch update-next-set-of-top-performing-blogs

Warning

Review ran into problems

🔥 Problems

Git: Failed to clone repository. Please run the @coderabbitai full review command to re-trigger a full review. If the issue persists, set path_filters to include or exclude specific files.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
src/routes/blog/post/build-personal-crm-sveltekit/+page.markdoc (1)

596-596: Incorrect GitHub repository link.

The link points to appwrite-community/offline-journal, but this article is about building a personal CRM. This appears to be a copy-paste error from another blog post.

Apply this diff to fix the repository link:

-You can find the source code for this application in our [GitHub repo](https://github.com/appwrite-community/offline-journal).
+You can find the source code for this application in our [GitHub repo](https://github.com/appwrite-community/personal-crm).
🧹 Nitpick comments (4)
src/routes/blog/post/build-personal-crm-sveltekit/+page.markdoc (1)

570-591: Inconsistency with AI summary & consider more targeted FAQs.

The AI summary states that this FAQs section was "Repeated...near the end of the post, just before the 'Next steps' section," but only one instance appears in the provided code. This suggests either the duplicate was removed or the summary is outdated.

Additionally, the FAQs are quite generic (e.g., "What's the best tech stack for building a simple CRM?") and don't directly address the specific implementation details covered in this tutorial, such as using the Bulk API, the spreadsheet-style interface, or SvelteKit-specific patterns. Consider tailoring the questions to match the tutorial's unique aspects.

src/routes/blog/post/serverless-functions-best-practices/+page.markdoc (2)

12-14: Consider adding update date to frontmatter.

The update timestamp is helpful for readers, but placing it in the frontmatter as an updated: 2025-10-07 field would provide better metadata structure and consistency with how publication dates are handled.


202-223: FAQ section adds value; consider grammar polish.

The FAQ section effectively reinforces the best practices with accessible Q&A content. The questions align well with the main article sections.

However, note the AI summary claims this FAQ block appears twice in the article, but it only appears once here at line 202.

Optional grammar improvements:

Line 206 has a comma splice that could be refined:

-You only pay for the time your code runs, no idle costs, no manual infrastructure setup.
+You only pay for the time your code runs. No idle costs, no manual infrastructure setup.

Line 214 also has a comma splice:

-Also, clean up unused triggers and logs, they can silently add to costs over time.
+Also, clean up unused triggers and logs; they can silently add to costs over time.
src/routes/blog/post/how-to-set-up-sign-in-with-apple/+page.markdoc (1)

462-466: Good improvement to the resources section.

The "More resources:" heading is clearer than the previous text. The internal blog link on line 466 works well.

For consistency, consider converting the blog link on line 465 to internal format as well (from https://appwrite.io/blog/post/set-up-google-auth-appwrite-react to /blog/post/set-up-google-auth-appwrite-react), matching the style used on line 466.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 185baca and 7d6f64c.

📒 Files selected for processing (10)
  • src/routes/blog/post/appwrite-realtime-for-flutter/+page.markdoc (2 hunks)
  • src/routes/blog/post/backend-as-a-service-baas/+page.markdoc (6 hunks)
  • src/routes/blog/post/build-a-chat-app-with-appwrite-and-gemini/+page.markdoc (2 hunks)
  • src/routes/blog/post/build-personal-crm-sveltekit/+page.markdoc (3 hunks)
  • src/routes/blog/post/building-custom-auth-flows/+page.markdoc (2 hunks)
  • src/routes/blog/post/chatbot-with-webllm-and-webgpu/+page.markdoc (2 hunks)
  • src/routes/blog/post/guide-to-user-authentication/+page.markdoc (3 hunks)
  • src/routes/blog/post/how-to-set-up-sign-in-with-apple/+page.markdoc (3 hunks)
  • src/routes/blog/post/portfolio-template-sites/+page.markdoc (3 hunks)
  • src/routes/blog/post/serverless-functions-best-practices/+page.markdoc (2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: build
  • GitHub Check: tests
🔇 Additional comments (27)
src/routes/blog/post/build-personal-crm-sveltekit/+page.markdoc (2)

12-13: LGTM!

The update timestamp is accurate and matches the PR creation date.


600-601: LGTM!

The documentation links are correctly formatted and point to the appropriate resources.

src/routes/blog/post/portfolio-template-sites/+page.markdoc (3)

14-15: LGTM!

The "Updated on" metadata is appropriate for tracking content revisions and is correctly formatted.


142-142: LGTM!

The Discord server link is a valuable addition to the resources section, helping readers connect with the Appwrite community for support.


111-132: No duplicate FAQ section detected.

src/routes/blog/post/chatbot-with-webllm-and-webgpu/+page.markdoc (4)

497-510: FAQ content looks good.

The FAQ section provides relevant and accurate information that complements the tutorial well. The questions address common concerns about WebLLM's capabilities, hardware requirements, and offline functionality.


515-515: Link position unchanged; only a trailing newline was added. Ignore the reordering request.

Likely an incorrect or invalid review comment.


497-510: Remove incorrect duplication mention from AI summary

The AI summary mentions duplicated FAQ sections, but only one exists at line 497.

Likely an incorrect or invalid review comment.


13-14: Timestamp format and placement are consistent with site standards.

src/routes/blog/post/appwrite-realtime-for-flutter/+page.markdoc (3)

474-495: LGTM! Valuable FAQ additions.

The FAQ section provides clear, practical answers to common questions about Appwrite Realtime. The content is well-structured and addresses key user concerns like security, performance, and cross-framework compatibility.


496-500: Remove duplicate Appwrite Docs link.

Line 500 duplicates the Appwrite Docs link already present at line 498. This redundancy doesn't add value and should be removed.

Apply this diff:

 - [Getting started with Flutter on Appwrite](https://appwrite.io/docs/getting-started-for-flutter)
 - [Flutter playground](https://github.com/appwrite/playground-for-flutter)
 - [Appwrite Docs](https://appwrite.io/docs)
-- [Appwrite Docs](https://appwrite.io/docs)

Likely an incorrect or invalid review comment.


11-13: Fix the update date - it appears to be in the past.

The date "October 7, 2025" is inconsistent with the current timeframe (October 2025). This is likely a typo and should be corrected to reflect the actual update date, possibly "October 7, 2024" or a date in the future if this is scheduled content.

Apply this diff if the intended year was 2024:

-Updated on October 7, 2025.
+Updated on October 7, 2024.

Likely an incorrect or invalid review comment.

src/routes/blog/post/guide-to-user-authentication/+page.markdoc (3)

22-22: Good addition of internal link.

Converting the plain text reference to an internal markdown link improves navigation and SEO. This change aligns with best practices for content interlinking.


125-155: Excellent FAQ and resources sections.

The FAQ section addresses common developer questions with clear, actionable answers, and the "More resources" section consolidates related links effectively. Both additions significantly enhance the post's value.


11-13: Critical: Update date is before the original publication date.

The update date "October 7, 2025" appears before the original publication date "2024-10-25" in the metadata. This is logically impossible and creates confusion. The year should likely be 2024, or if this is a typo in the original date field, both dates need correction.

If the update was in 2024, apply this diff:

-Updated on October 7, 2025.
+Updated on October 7, 2024.

Likely an incorrect or invalid review comment.

src/routes/blog/post/backend-as-a-service-baas/+page.markdoc (5)

75-75: Excellent internal linking improvements.

Converting plain text references to internal markdown links for databases, serverless functions, and notifications enhances navigation and SEO. These changes follow content best practices.

Also applies to: 85-85, 95-95


81-81: Valuable content expansions.

The additions about external database integration, third-party solutions, and user re-engagement provide practical context that enhances the article's usefulness. The flow and relevance are maintained well.

Also applies to: 89-91, 99-101


138-160: Comprehensive and well-structured FAQ section.

The FAQ addresses key developer concerns about BaaS, from conceptual differences to platform selection. The answers are clear, practical, and demonstrate good understanding of developer needs, including important distinctions between open-source and managed solutions.


166-169: Helpful tutorial additions.

The quick-start tutorials and practical examples at the conclusion provide clear next steps for readers. This improves the post's actionability and user experience.


11-13: Critical: Update date precedes the original publication date.

The metadata shows an update date of "October 7, 2025" but the original publication date is "2024-10-09". This temporal inconsistency needs correction. The update year should likely be 2024.

Apply this diff to fix the year:

-Updated on October 7, 2025.
+Updated on October 7, 2024.

Likely an incorrect or invalid review comment.

src/routes/blog/post/build-a-chat-app-with-appwrite-and-gemini/+page.markdoc (5)

13-13: LGTM!

The timestamp addition is consistent with the PR creation date and follows a standard editorial practice for content updates.


549-574: LGTM!

The FAQ section is well-structured and provides valuable, technically accurate information covering common concerns about using Appwrite with AI models, security, storage, scaling, offline development, and authentication.


579-579: Internal blog link is valid /blog/post/function-template-prompt-chatgpt exists at src/routes/blog/post/function-template-prompt-chatgpt/+page.markdoc.


541-541: Documentation link verified
The path /docs/products/functions/develop-locally exists at src/routes/docs/products/functions/develop-locally/.


570-570: Fix the sentence fragment.

The answer contains a sentence fragment: "Yes. When developing locally." This should be restructured for proper grammar.

Apply this diff to fix the grammar:

-Yes. When developing locally. You can run functions offline to test your app logic using mock data or cached responses. Just note that external APIs like Gemini won't respond without an internet connection.
+Yes, when developing locally. You can run functions offline to test your app logic using mock data or cached responses. Just note that external APIs like Gemini won't respond without an internet connection.

Likely an incorrect or invalid review comment.

src/routes/blog/post/how-to-set-up-sign-in-with-apple/+page.markdoc (2)

13-27: LGTM! Good content improvements.

The addition of the update date and internal documentation links enhances the post's value and provides better navigation for readers.


444-460: Excellent addition of the FAQ section.

The FAQ section provides concise, accurate answers to common questions about Sign in with Apple integration. The content aligns well with the article's technical details and adds value for readers seeking quick clarification.

Integrating **Sign in with Apple** using Appwrite allows you to provide a secure and user-friendly authentication experience. With minimal configuration, you can utilize Appwrite's OAuth2 support to integrate third-party login systems across platforms. In this guide, we walked through the full setup process, including configuring Apple Developer credentials, setting up OAuth2 in Appwrite, and testing your integration across different platforms.

For more information on this, check out the [Appwrite OAuth2 documentation](https://appwrite.io/docs/products/auth) and Apple's [Sign in with Apple documentation](https://developer.apple.com/sign-in-with-apple/).
For more information on this, check out the [Appwrite OAuth2 documentation](/docs/products/auth) and Apple's [Sign in with Apple documentation](https://developer.apple.com/sign-in-with-apple/).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

Verify the OAuth2 documentation link destination.

The link text says "Appwrite OAuth2 documentation" but points to /docs/products/auth, whereas line 23 links to /docs/products/auth/oauth2 for OAuth2-specific content. Consider whether this should point to /docs/products/auth/oauth2 instead for consistency, or if the link text should be adjusted to "Appwrite authentication documentation" to match the destination.

Run the following script to check if both documentation paths exist and their content focus:


🏁 Script executed:

#!/bin/bash
# Description: Verify documentation paths for authentication and OAuth2

# Check if both auth documentation paths exist
echo "Checking for authentication documentation files..."
fd -t f "auth" src/routes/docs/products/ | head -20

# Search for OAuth2-specific content in docs
echo -e "\nSearching for OAuth2 content in docs..."
rg -l "oauth2|OAuth2" src/routes/docs/products/ | head -10

Length of output: 459


Point OAuth2 link to the OAuth2 docs
Change the link target from /docs/products/auth to /docs/products/auth/oauth2 to match the OAuth2-specific documentation.

🤖 Prompt for AI Agents
In src/routes/blog/post/how-to-set-up-sign-in-with-apple/+page.markdoc around
line 442, the link currently points to the generic Auth docs
(/docs/products/auth) but should point to the OAuth2-specific docs; update the
link target to /docs/products/auth/oauth2 so the "Appwrite OAuth2 documentation"
reference goes to the correct OAuth2 page.

category: tutorial
---

Updated on October 7, 2025.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we have this as text?

category: product
---

Updated on October 7, 2025.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here. Is this text intentional?

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (1)
src/routes/blog/post/how-to-set-up-sign-in-with-apple/+page.markdoc (1)

441-441: OAuth2 link still points to generic auth docs instead of OAuth2-specific docs.

The link text says "Appwrite OAuth2 documentation" but targets /docs/products/auth instead of /docs/products/auth/oauth2. Line 22 correctly uses /docs/products/auth/oauth2 for OAuth2-specific content. Update this link for consistency.

Apply this diff to fix the link target:

-For more information on this, check out the [Appwrite OAuth2 documentation](/docs/products/auth) and Apple's [Sign in with Apple documentation](https://developer.apple.com/sign-in-with-apple/).
+For more information on this, check out the [Appwrite OAuth2 documentation](/docs/products/auth/oauth2) and Apple's [Sign in with Apple documentation](https://developer.apple.com/sign-in-with-apple/).
🧹 Nitpick comments (2)
src/routes/blog/post/guide-to-user-authentication/+page.markdoc (1)

146-146: Consider removing the trailing colon from the heading.

While functional, markdown headings conventionally don't include trailing colons. This minor style inconsistency could be cleaned up for better conformance with markdown best practices.

Apply this diff to remove the trailing colon:

-# More resources:
+# More resources
src/routes/blog/post/backend-as-a-service-baas/+page.markdoc (1)

74-80: Good internal linking and content expansion.

The update to internal link format improves navigation, and the addition about external database integration is relevant. One minor note: on line 80, "customize it even further" could be slightly clearer by specifying what "it" refers to (e.g., "customize your database setup even further").

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 7d6f64c and 26fb4aa.

📒 Files selected for processing (10)
  • src/routes/blog/post/appwrite-realtime-for-flutter/+page.markdoc (2 hunks)
  • src/routes/blog/post/backend-as-a-service-baas/+page.markdoc (6 hunks)
  • src/routes/blog/post/build-a-chat-app-with-appwrite-and-gemini/+page.markdoc (2 hunks)
  • src/routes/blog/post/build-personal-crm-sveltekit/+page.markdoc (3 hunks)
  • src/routes/blog/post/building-custom-auth-flows/+page.markdoc (2 hunks)
  • src/routes/blog/post/chatbot-with-webllm-and-webgpu/+page.markdoc (2 hunks)
  • src/routes/blog/post/guide-to-user-authentication/+page.markdoc (3 hunks)
  • src/routes/blog/post/how-to-set-up-sign-in-with-apple/+page.markdoc (3 hunks)
  • src/routes/blog/post/portfolio-template-sites/+page.markdoc (3 hunks)
  • src/routes/blog/post/serverless-functions-best-practices/+page.markdoc (2 hunks)
🚧 Files skipped from review as they are similar to previous changes (6)
  • src/routes/blog/post/building-custom-auth-flows/+page.markdoc
  • src/routes/blog/post/portfolio-template-sites/+page.markdoc
  • src/routes/blog/post/serverless-functions-best-practices/+page.markdoc
  • src/routes/blog/post/appwrite-realtime-for-flutter/+page.markdoc
  • src/routes/blog/post/build-a-chat-app-with-appwrite-and-gemini/+page.markdoc
  • src/routes/blog/post/build-personal-crm-sveltekit/+page.markdoc
🔇 Additional comments (16)
src/routes/blog/post/guide-to-user-authentication/+page.markdoc (4)

10-10: LGTM!

The lastUpdated metadata addition is appropriate for tracking content revisions.


122-123: LGTM!

The updated closing paragraph effectively highlights Appwrite's authentication capabilities while maintaining a professional tone.


124-145: Excellent addition of FAQs!

The new FAQ section provides valuable, concise answers to common authentication questions. The content is well-structured and covers key topics that complement the main article.


21-21: Verify the internal link target exists.

The conversion from plain text to an internal link improves navigation. However, ensure that /docs/products/auth is a valid destination.

Run the following script to verify the link target:

src/routes/blog/post/chatbot-with-webllm-and-webgpu/+page.markdoc (2)

11-11: LGTM!

Adding the lastUpdated field to track content updates is good practice for maintaining blog post freshness and SEO.


496-509: Verify potential duplicate FAQ sections.

The FAQ content is well-written and relevant. However, the AI summary indicates that "another FAQ block near the end of the document (after the Conclusion) containing the same three FAQ items" was added, suggesting duplicate content may exist in the file.

Run the following script to check for duplicate FAQ sections:

src/routes/blog/post/how-to-set-up-sign-in-with-apple/+page.markdoc (4)

11-11: Good addition of lastUpdated metadata.

Adding the lastUpdated field helps track when the content was last refreshed, which is valuable for readers assessing information currency.


22-22: Excellent conversion to internal documentation links.

Converting OAuth2 and authentication references to clickable internal links improves content navigation and helps readers access relevant documentation directly.

Also applies to: 26-26


443-460: Well-crafted FAQ section enhances content value.

The FAQ section addresses common questions about Sign in with Apple integration, providing clear and actionable answers. This addition improves the tutorial's completeness and helps readers quickly find answers to typical concerns.


461-465: Resources section properly structured with consistent link formatting.

The resources section is well-organized with properly formatted links to related content, making it easy for readers to explore additional authentication topics.

src/routes/blog/post/backend-as-a-service-baas/+page.markdoc (6)

10-12: LGTM!

The lastUpdated field addition helps track content freshness. The future date (relative to PR creation) appears intentional for scheduled publication.


84-90: LGTM!

The internal link update and the addition of the "Integrating external solutions" bullet point are appropriate. Serverless functions are indeed commonly used for third-party service integrations.


94-100: LGTM!

The internal link updates and content additions enhance the push notifications section. The re-engagement use case and best practices reference are valuable additions for readers.


135-136: LGTM!

The updated Appwrite description is more comprehensive and accurate, reflecting current platform capabilities including messaging and hosting.


139-159: Excellent FAQ content.

The five Q&A pairs are well-chosen and address common questions about BaaS. The answers are clear, informative, and provide practical guidance. The platform recommendations in question 5 are balanced and helpful for readers making technology decisions.


162-168: LGTM!

The expanded conclusion effectively recaps the key benefits of BaaS and provides helpful tutorial references for readers who want to get hands-on experience.

3. **Appwrite**: An open-source BaaS that focuses on developer experience, offering user authentication, databases, storage, serverless functions and messaging for self-hosted or cloud.
3. **Appwrite**: An open-source all-in-one development platform that focuses on developer experience, offering user authentication, databases, storage, serverless functions, messaging, and even hosting.

# Frequently asked questions (FAQs)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix the redundant section title.

The heading "Frequently asked questions (FAQs)" is redundant since "FAQ" already stands for "Frequently Asked Questions."

Use one of these alternatives:

-# Frequently asked questions (FAQs)
+# Frequently asked questions

Or:

-# Frequently asked questions (FAQs)
+# FAQs
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# Frequently asked questions (FAQs)
# FAQs
🤖 Prompt for AI Agents
In src/routes/blog/post/backend-as-a-service-baas/+page.markdoc around line 137,
the heading "Frequently asked questions (FAQs)" is redundant; replace it with a
concise alternative such as "FAQ" or "Frequently asked questions" (pick one) so
the title no longer repeats the phrase, and ensure surrounding anchors/links or
TOC entries (if any) are updated to match the new heading.

@ebenezerdon ebenezerdon merged commit 98d11fb into main Oct 14, 2025
4 checks passed
@ebenezerdon ebenezerdon deleted the update-next-set-of-top-performing-blogs branch October 14, 2025 12:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants