Skip to content

feat: Adds a layer of polish to the documentation. #300

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

Merged
merged 6 commits into from
Jun 18, 2025
Merged

feat: Adds a layer of polish to the documentation. #300

merged 6 commits into from
Jun 18, 2025

Conversation

vlidholt
Copy link
Contributor

@vlidholt vlidholt commented Jun 17, 2025

Summary by CodeRabbit

  • Documentation
    • Improved clarity, grammar, and instructional flow across multiple documentation pages.
    • Added new tutorials, including "Serverpod Academy," "Backend fundamentals," and "Integrating AI & RAG," with embedded videos and practical examples.
    • Enhanced navigation with new and updated sidebar labels, many now featuring emoji for better visual distinction.
    • Deleted outdated tutorials and code example references.
    • Added and updated category configuration files for improved sidebar organization and user experience.

@vlidholt vlidholt requested a review from SandPod June 17, 2025 12:53
Copy link

coderabbitai bot commented Jun 17, 2025

📝 Walkthrough

Walkthrough

This update focuses on restructuring and enhancing the Serverpod documentation. It introduces new tutorials, refines existing guides for clarity and instructional flow, adjusts sidebar and category labels with emojis for improved navigation, and removes outdated or redundant tutorial files. The underlying technical content remains unchanged, with improvements primarily in presentation, organization, and accessibility.

Changes

File(s) Change Summary
docs/01-get-started/01-creating-endpoints.md, 02-models-and-data.md, 03-working-with-the-database.md, 04-deployment.md Documentation wording and formatting improved for clarity, accuracy, and instructional flow.
docs/01-get-started/category.json Category label updated to "🚀 Getting started".
docs/02-overview.md Removed invisible Unicode characters, updated "Postgres" to "PostgreSQL", added sidebar label front matter.
docs/04-support.md Expanded support/community section, improved navigation with sidebar label, corrected "Github" to "GitHub".
docs/05-tutorials/01-academy.md New tutorial: Introduction to Serverpod Academy and its structured learning offerings.
docs/05-tutorials/01-first-app.mdx Deleted: Comprehensive step-by-step note-taking app tutorial.
docs/05-tutorials/02-tutorials/01-fundamentals.md New tutorial: Backend fundamentals for beginners, with embedded video.
docs/05-tutorials/02-tutorials/03-ai-and-rag.md New tutorial: Integrating AI & RAG with Flutter and Serverpod, with embedded video.
docs/05-tutorials/02-tutorials/category.json New file: Sets "🎥 Tutorials" label, collapsed by default.
docs/05-tutorials/03-code-example.md Deleted: List of code example projects.
docs/05-tutorials/03-guides/category.json New file: Sets "📘 Guides" label, collapsed by default.
docs/05-tutorials/category.json Category label changed to "🎓 Learn Serverpod", now expanded by default.
docs/06-concepts/category.json Category label updated to "📚 Reference".
docs/07-deployments/category.json Category label updated with ship emoji: "🚢 Deploying Serverpod".
docs/08-upgrading/category.json Category label updated with emoji: "🔄 Upgrading".
docs/09-tools/category.json Category label updated with emoji: "🧰 Tools".
docs/10-contribute.md Added sidebar label frontmatter: "🛣️ Roadmap & contributions".
docs/index.md Added sidebar label, embedded intro video, improved formatting and clarity.
docs/serverpod-mini.md Added sidebar label frontmatter: "🐣 Serverpod Mini".
sidebars.js Sidebar label "Changelog" updated to "📝 Changelog".

Sequence Diagram(s)

No sequence diagrams generated as the changes are limited to documentation structure, content, and navigation improvements without introducing new features or control flow modifications.


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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@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: 0

🧹 Nitpick comments (8)
docs/01-get-started/_category_.json (1)

2-2: Verify title casing in "Getting started"
The rocket emoji is a great touch. Please confirm if the style guide prefers title case ("🚀 Getting Started") instead of sentence case ("🚀 Getting started").

docs/01-get-started/01-creating-endpoints.md (1)

199-200: Consider bulletizing the tip for clarity

The tip is informative but could be split into bullet points to improve readability:

:::tip
- Ensure no other Serverpod server is running before starting.
- Stop any Docker containers from other Serverpod projects to avoid port conflicts.
:::
docs/02-overview.md (1)

51-53: Refine phrasing for clarity.
Consider replacing “talking with the database” with the more idiomatic “talking to the database.”

- Serverpod makes it easy to define the data models that your server will use in its API and when talking with the database.
+ Serverpod makes it easy to define the data models that your server will use in its API and when talking to the database.
docs/01-get-started/03-working-with-the-database.md (5)

7-7: Improve conciseness in the introduction.
Consider shortening "In this section, we will build upon the models we created in the previous section and add a database to store the recipes that users create in the app. This will allow our application to persist data between sessions."
For example:
"Add a database to persist user-created recipes across sessions."


36-39: Shorten the migrations introduction.
The sentence on line 36 is a bit verbose. You could condense to:
"Serverpod migrations let you safely evolve your database schema over time by generating SQL to update the schema."


53-53: Use a stronger verb than "giving us."
Replace "giving us access to database operations" with "providing access to database operations" for more formal tone.


426-433: Surround code fence with blank lines.
Add a blank line before and after the ```bash block starting at line 429 to satisfy markdown-lint (MD031).


439-443: Surround code fence with blank lines.
Insert a blank line before and after the ```bash block at line 440 to comply with markdown-lint (MD031).

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b893c13 and b9fb3f2.

📒 Files selected for processing (23)
  • docs/01-get-started/01-creating-endpoints.md (1 hunks)
  • docs/01-get-started/02-models-and-data.md (1 hunks)
  • docs/01-get-started/03-working-with-the-database.md (3 hunks)
  • docs/01-get-started/04-deployment.md (3 hunks)
  • docs/01-get-started/_category_.json (1 hunks)
  • docs/02-overview.md (4 hunks)
  • docs/04-support.md (2 hunks)
  • docs/05-tutorials/01-academy.md (1 hunks)
  • docs/05-tutorials/01-first-app.mdx (0 hunks)
  • docs/05-tutorials/02-tutorials/01-fundamentals.md (1 hunks)
  • docs/05-tutorials/02-tutorials/03-ai-and-rag.md (1 hunks)
  • docs/05-tutorials/02-tutorials/_category_.json (1 hunks)
  • docs/05-tutorials/03-code-example.md (0 hunks)
  • docs/05-tutorials/03-guides/_category_.json (1 hunks)
  • docs/05-tutorials/_category_.json (1 hunks)
  • docs/06-concepts/_category_.json (1 hunks)
  • docs/07-deployments/_category_.json (1 hunks)
  • docs/08-upgrading/_category_.json (1 hunks)
  • docs/09-tools/_category_.json (1 hunks)
  • docs/10-contribute.md (1 hunks)
  • docs/index.md (5 hunks)
  • docs/serverpod-mini.md (1 hunks)
  • sidebars.js (1 hunks)
💤 Files with no reviewable changes (2)
  • docs/05-tutorials/03-code-example.md
  • docs/05-tutorials/01-first-app.mdx
🧰 Additional context used
🪛 LanguageTool
docs/index.md

[uncategorized] ~148-~148: Possible missing comma found.
Context: ...g. ::: Now that the database is up and running we can start the Serverpod server. Beca...

(AI_HYDRA_LEO_MISSING_COMMA)

docs/02-overview.md

[style] ~25-~25: Try using a synonym here to strengthen your writing.
Context: ...on` provides context about the call and gives access to server resources like the dat...

(GIVE_PROVIDE)


[style] ~51-~51: The preposition ‘with’ is not usually used with the verb ‘talk’. Consider using ‘speak’ instead, or replacing the preposition.
Context: ...our server will use in its API and when talking with the database. You define serializable d...

(TALK_WITH)

docs/01-get-started/03-working-with-the-database.md

[style] ~36-~36: Consider shortening or rephrasing this to strengthen your wording.
Context: ...our database schema over time. When you make changes to your models that affect the database st...

(MAKE_CHANGES)


[style] ~53-~53: Try using a synonym here to strengthen your writing.
Context: ...emodel, it becomes aTableRow` type, giving us access to database operations. Serverpo...

(GIVE_PROVIDE)

🪛 markdownlint-cli2 (0.17.2)
docs/01-get-started/03-working-with-the-database.md

429-429: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)


440-440: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)

🪛 GitHub Check: markdown-lint
docs/01-get-started/03-working-with-the-database.md

[failure] 440-440:
Fenced code blocks should be surrounded by blank lines [Context: "```bash"]


[failure] 429-429:
Fenced code blocks should be surrounded by blank lines [Context: "```bash"]

⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: Test build
🔇 Additional comments (41)
docs/07-deployments/_category_.json (1)

2-2: Emoji prefix added for Deploying category
Label updated to include the ship emoji for visual consistency with other sections.

docs/09-tools/_category_.json (1)

2-2: Emoji prefix added for Tools category
Label updated to include the toolbox emoji, aligning with the overall sidebar style.

docs/08-upgrading/_category_.json (1)

2-2: Emoji prefix added for Upgrading category
Label updated to include the refresh emoji, matching the pattern of visual cues across docs.

docs/06-concepts/_category_.json (1)

2-2: Emoji prefix added for Reference category
Label updated to include the book emoji, ensuring consistency in emoji-based navigation.

docs/05-tutorials/03-guides/_category_.json (1)

1-4: Add Guides category configuration
The new JSON defining the "📘 Guides" sidebar category is well-formed, aligns with existing category files, and will correctly collapse this section by default.

docs/05-tutorials/_category_.json (1)

2-3: Update main tutorials category label and state
Changing the label to "🎓 Learn Serverpod" and setting collapsed to false improves clarity and ensures the section is expanded by default as intended.

sidebars.js (1)

21-21: Emoji-ify the Changelog link
Updating the sidebar link label to "📝 Changelog" maintains consistency with the emoji-first navigation style and enhances visual recognition.

docs/serverpod-mini.md (1)

1-3: Add sidebar_label frontmatter
Introducing sidebar_label: 🐣 Serverpod Mini ensures this document is correctly represented in the sidebar and follows the new labeling convention.

docs/05-tutorials/01-academy.md (1)

1-3: Add sidebar_label for Serverpod Academy
Including sidebar_label: 🏫 Serverpod Academy in the frontmatter properly integrates this new tutorial into the sidebar and matches the overall documentation style.

docs/05-tutorials/02-tutorials/_category_.json (1)

1-4: Approve JSON category configuration

The new _category_.json correctly sets the "🎥 Tutorials" label and collapsed default. It aligns with the restructured tutorials section.

docs/10-contribute.md (1)

1-3: Approve sidebar_label frontmatter

The YAML frontmatter adds the sidebar label "🛣️ Roadmap & contributions" and is formatted correctly. Navigation consistency is maintained.

docs/05-tutorials/02-tutorials/01-fundamentals.md (1)

1-7: Approve new "Backend fundamentals" tutorial

The title, description, and embedded video are clear and consistent with the tutorials section. No issues found.

docs/01-get-started/02-models-and-data.md (1)

44-44: Approve updated file path and method return type instruction

The correction to lib/src/recipes/recipe_endpoint.dart and the guidance to return a Recipe object are accurate and improve clarity.

docs/01-get-started/01-creating-endpoints.md (1)

1-3: Approve frontmatter sidebar_label update

The sidebar_label: 1. Creating endpoint methods frontmatter is correctly added and follows the pattern of the Getting Started section.

docs/02-overview.md (5)

1-3: Add consistent sidebar label.
The new YAML front matter with sidebar_label: 🧭 Overview aligns with the navigation enhancements in other docs.


7-7: Standardize terminology to PostgreSQL.
Replacing “Postgres” with “PostgreSQL” here ensures technical accuracy and consistency.


12-15: Enhance capability bullets.
The refined bullet points for logging, ORM, and migrations improve clarity and align with the project’s style.


25-27: Polish endpoint introduction.
The description of endpoint definitions and code examples is clear and well-formatted.


80-97: Approve database integration section cleanup.
The updates to the database integration and migration descriptions are consistent and free of hidden formatting artifacts.

docs/04-support.md (4)

1-3: Add sidebar label for Support & community.
The new front matter with sidebar_label: 💬 Support & community matches the style in other sections.


7-7: Welcome message expanded.
The expanded introduction offers a warm welcome and sets expectations for community support.


9-9: Correct GitHub capitalization.
Updating “Github” to “GitHub” fixes a typographical inconsistency.


27-31: Elaborate community video offerings.
The bulleted list clarifies the types of video content available, enhancing user guidance.

docs/05-tutorials/02-tutorials/03-ai-and-rag.md (2)

1-4: New tutorial: Integrating AI & RAG.
The title and introductory text clearly set up the AI/RAG integration tutorial and align with the new tutorials structure.


5-5: Embed video correctly.
The responsive <div> and <iframe> markup follow the pattern used in other tutorial docs.

docs/index.md (4)

3-3: Add Installation sidebar label.
Introducing sidebar_label: 📦 Installation enhances navigation consistency.


10-11: Embed introductory video.
The added responsive embed at the top supports varied learning styles.


55-55: Update “Cloud ready” bullet.
The new link to the waiting list and mention of Terraform support provide actionable next steps.


72-72: Clarify Docker prerequisite.
This callout about Docker and the database “docker-compose.yaml” file is clear and helpful.

docs/01-get-started/04-deployment.md (5)

9-9: Clarify runtime compilation.
The note on Dart compiling to native code is concise and accurate.


11-11: Highlight Docker deployment.
Emphasizing the included Dockerfile aligns with user preferences and simplifies onboarding.


13-13: Detail non-Docker instructions.
The instructions for manual compilation and asset copying accurately reflect current Dart tool limitations.


25-27: Rename and expand health checks section.
Renaming to “## Health checks” and specifying the root endpoint is clearer for load-balancer configurations.


37-37: Link to deployment strategies.
The pointer to the broader deployment-strategy guide completes the cross-reference structure.

docs/01-get-started/03-working-with-the-database.md (7)

11-11: Clear ORM instructions.
The guidance on adding the table keyword is accurate and easy to follow.


49-49: Migration history explanation is clear.
This description effectively conveys the purpose and benefits of step-by-step migrations.


428-428: Instruction step is clear.
The prompt to start the database and apply migrations is concise and accurate.


431-432: Commands are correct.
Using docker compose up -d and the --apply-migrations flag is appropriate for development flow.


436-436: Development tip is clear.
The note on using --apply-migrations in development versus production is informative and well-phrased.


447-453: Summary bulleted list is well-structured.
The recap of learned fundamentals is concise and encourages engagement.


456-457: Advanced tip is informative.
Highlighting the breadth of Serverpod’s ORM and linking to advanced docs adds good guidance.

Copy link

@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

🧹 Nitpick comments (6)
docs/01-get-started/03-working-with-the-database.md (6)

7-7: Shorten and clarify introductory sentence

Consider combining and tightening the phrasing to improve readability:

- In this section, we will build upon the models we created in the previous section and add a database to store the recipes that users create in the app. This will allow our application to persist data between sessions.
+ In this section, we'll extend our models to add a database for persisting user-created recipes across sessions.

36-38: Condense migration overview for brevity

This paragraph is quite long. Consider breaking it into shorter sentences or bullets for better scannability:

- Database migrations in Serverpod provide a way to safely evolve your database schema over time. When you make changes to your models that affect the database structure, you need to create a migration. A migration consists of SQL queries that update the database schema to match your model changes.
+ Serverpod migrations let you safely evolve your database schema. After updating a model that affects the schema, create a migration consisting of SQL queries to apply those changes.

49-49: Use code formatting for folder name

Use backticks around folder names to prevent unintended italics:

- Each time you run `serverpod create-migration`, a new migration file will be created in your _migrations_ folder.
+ Each time you run `serverpod create-migration`, a new migration file will be created in your `migrations` folder.

53-53: Strengthen wording by using 'providing'

Replace casual phrasing for a more formal tone:

- it becomes a `TableRow` type, giving us access to database operations.
+ it becomes a `TableRow` type, providing access to database operations.

426-426: Remove redundant 'in order'

The phrase "in order" is unnecessary since steps imply order already:

- To run the application with database support, follow these steps in order:
+ To run the application with database support, follow these steps:

455-455: Consider moderating tone by removing exclamation

To maintain a professional tone, you may want to replace the exclamation with a period:

- We're excited to see what you'll build with Flutter and Serverpod!
+ We’re excited to see what you’ll build with Flutter and Serverpod.
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b9fb3f2 and 43396b5.

📒 Files selected for processing (2)
  • docs/01-get-started/03-working-with-the-database.md (4 hunks)
  • docs/05-tutorials/02-tutorials/02-real-time-communication.md (2 hunks)
✅ Files skipped from review due to trivial changes (1)
  • docs/05-tutorials/02-tutorials/02-real-time-communication.md
🧰 Additional context used
🪛 LanguageTool
docs/01-get-started/03-working-with-the-database.md

[style] ~36-~36: Consider shortening or rephrasing this to strengthen your wording.
Context: ...our database schema over time. When you make changes to your models that affect the database st...

(MAKE_CHANGES)


[style] ~53-~53: Try using a synonym here to strengthen your writing.
Context: ...emodel, it becomes aTableRow` type, giving us access to database operations. Serverpo...

(GIVE_PROVIDE)

⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: Test build
🔇 Additional comments (6)
docs/01-get-started/03-working-with-the-database.md (6)

40-41: Steps to generate migrations are clear

The two-step process (serverpod generateserverpod create-migration) is well explained and easy to follow.


432-433: Commands for starting the database and applying migrations look good

Clear and correctly ordered.


437-437: Tip wording is concise and helpful

The note on --apply-migrations usage is clear.


440-440: Launch instructions are clear

The transition to running the Flutter app is straightforward.


449-454: Summary bullets effectively reinforce key takeaways

The bulleted list is clear and consistent.


458-458: Additional tip is relevant and well-placed

The reference to advanced database docs adds valuable context.

Copy link
Contributor

@SandPod SandPod left a comment

Choose a reason for hiding this comment

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

Move fast and break things 🚀

Do we wan't to apply these changes to older documentations or are we only focusing on improving the newest version of the documentation?

@vlidholt vlidholt merged commit 93acd33 into main Jun 18, 2025
5 checks passed
@vlidholt vlidholt deleted the polish branch June 18, 2025 13:25
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.

2 participants