-
Notifications
You must be signed in to change notification settings - Fork 297
Update next set of top performing blogs #2483
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughThis PR modifies multiple blog posts under src/routes/blog/post/.markdoc. Changes are content-only: adding or updating front‑matter Possibly related PRs
Suggested reviewers
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
Warning Review ran into problems🔥 ProblemsGit: Failed to clone repository. Please run the 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. Comment |
There was a problem hiding this 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-07field 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-reactto/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
📒 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 summaryThe 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-chatgptexists atsrc/routes/blog/post/function-template-prompt-chatgpt/+page.markdoc.
541-541: Documentation link verified
The path/docs/products/functions/develop-locallyexists atsrc/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/). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 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 -10Length 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. |
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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?
There was a problem hiding this 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/authinstead of/docs/products/auth/oauth2. Line 22 correctly uses/docs/products/auth/oauth2for 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 resourcessrc/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
📒 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
lastUpdatedmetadata 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/authis 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
lastUpdatedfield 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
lastUpdatedfield 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
lastUpdatedfield 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) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 questionsOr:
-# 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.
| # 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.
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