-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
📒 docs: Add Learning Resources section with Go Interview Practice platform #3691
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
Thanks for opening this pull request! 🎉 Please check out our contributing guidelines. If you need help or want to chat with us, join us on Discord https://gofiber.io/discord |
Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. WalkthroughAdds a new documentation page "Learning Resources" and inserts a promotional paragraph in docs/intro.md linking to it. Changes are documentation-only; no code, API, or build modifications. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Assessment against linked issues
Possibly related PRs
Suggested reviewers
Poem
Tip 🔌 Remote MCP (Model Context Protocol) integration is now available!Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats. ✨ Finishing Touches🧪 Generate unit tests
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
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.
Summary of Changes
Hello @RezaSi, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
This pull request introduces a new "Learning Resources" section to the Fiber documentation, integrating the "Go Interview Practice" platform. This initiative provides an interactive environment for developers to practice core Fiber concepts through hands-on challenges, directly addressing a community request for more practical learning tools. The addition aims to enhance the existing documentation by offering a structured path for mastering Fiber's features, from basic routing to authentication.
Highlights
- New Documentation Section: Adds a dedicated "Learning Resources" section under /docs/extra/learning-resources.md to provide interactive learning opportunities.
- Go Interview Practice Integration: Features the "Go Interview Practice" platform, offering progressive, hands-on challenges for Fiber concepts like routing, middleware, validation, and authentication.
- Documentation Navigation: Updates the main intro.md file to include a prominent link to the newly added "Learning Resources" section, improving discoverability.
- Visual Aids: Incorporates four screenshots within the new documentation to visually demonstrate the features and user experience of the Go Interview Practice platform.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command>
or @gemini-code-assist <command>
. Below is a summary of the supported commands.
Feature | Command | Description |
---|---|---|
Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/
folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
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.
Code Review
This pull request introduces a valuable 'Learning Resources' section to the Fiber documentation, featuring the 'Go Interview Practice' platform. The new content is well-structured and will be a great asset for developers looking to get hands-on experience. I have a couple of minor suggestions to improve markdown formatting and ensure link robustness.
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
🧹 Nitpick comments (3)
docs/extra/learning-resources.md (3)
10-11
: Remove duplicate H1 — front matter already sets the page title.Docusaurus renders an H1 from
title:
. Keeping# Learning Resources
produces duplicate headings.Apply this diff:
-# Learning Resources -
18-19
: Align phrasing with existing docs (Express-inspired).Elsewhere (intro) the docs use “Express-inspired”. For consistency, suggest dropping “.js”.
Apply this diff:
-A comprehensive platform offering progressive Fiber challenges that complement the official documentation. Master Go's fastest web framework through hands-on challenges and build lightning-fast APIs with Express.js-inspired syntax. +A comprehensive platform offering progressive Fiber challenges that complement the official documentation. Master Go's fastest web framework through hands-on challenges and build lightning-fast APIs with Express-inspired syntax.
31-34
: Grammar: use “Set up” (verb) instead of “Setup” (noun).Minor wording fix for the roadmap item.
Apply this diff:
-1. **Basic Routing** - Setup Fiber, routes, and handlers (Beginner) +1. **Basic Routing** - Set up Fiber, routes, and handlers (Beginner)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (2)
docs/extra/learning-resources.md
(1 hunks)docs/intro.md
(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
docs/**
📄 CodeRabbit Inference Engine (.github/copilot-instructions.md)
Review and update the contents of the
docs
folder if necessary when modifying code
Files:
docs/intro.md
docs/extra/learning-resources.md
🪛 LanguageTool
docs/extra/learning-resources.md
[grammar] ~22-~22: There might be a mistake here.
Context: ...learning-path.png) What You'll Learn: - High-Performance APIs - Build ultra-fa...
(QB_NEW_EN)
[grammar] ~30-~30: There might be a mistake here.
Context: ...nge-interface.png) Challenge Roadmap: 1. Basic Routing - Setup Fiber, routes, a...
(QB_NEW_EN)
🔇 Additional comments (2)
docs/intro.md (1)
13-14
: Confirm internal docs link resolves correctly
- File:
docs/intro.md
(lines 13–14)
The relative link[Learning Resources](./extra/learning-resources/)should route to
/extra/learning-resources
, but Docusaurus may prepend abaseUrl
or docs-route path. Please manually verify it renders to a valid page on your deployed site.
Tip: to avoid any ambiguity, you can switch to a root-relative link:[Learning Resources](/extra/learning-resources)docs/extra/learning-resources.md (1)
40-40
: Fiber link consistency
Bothhttps://rezasi.github.io/go-interview-practice/fiber
and…/fiber.html
return HTTP 200. The extensionless/fiber
link at docs/extra/learning-resources.md:40 matches the site’s canonical URL style—no change needed.
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@RezaSi can you check the markdown linter hints |
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)
docs/extra/learning-resources.md (1)
32-32
: Trailing spaces check (follow-up to existing review).Another reviewer flagged trailing spaces at the end of this line in a previous commit. If the linter still complains, strip them.
Run the repo’s markdown linter locally or:
#!/bin/bash # Quick grep to visualize potential trailing spaces on numbered-list lines rg -nP '^\s*\d+\.\s.*\s+$' -n docs/extra/learning-resources.md -N -C0 || true
🧹 Nitpick comments (3)
docs/extra/learning-resources.md (3)
31-31
: Grammar: use the verb “Set up,” not the noun “Setup.”Small wording fix for correctness and polish.
-1. **Basic Routing** - Setup Fiber, routes, and handlers (Beginner) +1. **Basic Routing** - Set up Fiber, routes, and handlers (Beginner)
12-16
: Tone alignment with docs style (optional).If you want to keep a more neutral, docs-style tone, consider softening superlatives like “Go's fastest web framework.” The rest of the page already conveys Fiber’s strengths.
Example tweak:
- “Master Fiber through hands-on challenges and build fast APIs with an Express.js-inspired API.”
18-18
: Remove stray leading space before image (optional).There’s a single leading space before the image which some linters flag as inconsistent indentation.
-  +
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (2)
docs/extra/learning-resources.md
(1 hunks)docs/intro.md
(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- docs/intro.md
🧰 Additional context used
📓 Path-based instructions (1)
docs/**
📄 CodeRabbit Inference Engine (.github/copilot-instructions.md)
Review and update the contents of the
docs
folder if necessary when modifying code
Files:
docs/extra/learning-resources.md
🧠 Learnings (1)
📚 Learning: 2024-10-08T19:06:06.583Z
Learnt from: hcancelik
PR: gofiber/fiber#3036
File: docs/middleware/cache.md:103-103
Timestamp: 2024-10-08T19:06:06.583Z
Learning: There are no hard tabs in the lines 100 to 105 of the `docs/middleware/cache.md` file. Future comments about formatting should accurately reflect the actual content.
Applied to files:
docs/extra/learning-resources.md
🪛 LanguageTool
docs/extra/learning-resources.md
[grammar] ~31-~31: There might be a mistake here.
Context: ...p Fiber, routes, and handlers (Beginner) 2. Middleware & CORS - Custom middleware ...
(QB_NEW_EN)
[grammar] ~32-~32: There might be a mistake here.
Context: ...dleware and rate limiting (Intermediate) 3. Validation & Errors - Input validation...
(QB_NEW_EN)
[grammar] ~33-~33: There might be a mistake here.
Context: ...dation and error handling (Intermediate) 4. Authentication - JWT tokens and API ke...
(QB_NEW_EN)
🔇 Additional comments (2)
docs/extra/learning-resources.md (2)
40-40
: Verified external link – 200 OK
Both https://rezasi.github.io/go-interview-practice/fiber and …/fiber.html return HTTP 200. No changes needed.
1-8
: Front matter valid; confirm sidebar placement
We didn’t find any explicitsidebars.*
ordocusaurus.config.*
defining a custom sidebar, so you’re likely using Docusaurus’s auto-generated sidebars. Please verify:
- The new file lives under your docs root (e.g.
docs/extra/learning-resources.md
) so it’s picked up by the docs plugin.sidebar_position: 3
correctly orders it among its sibling pages in the same folder.- If you do use a custom sidebars file (e.g.
sidebars.js
/.ts
), add alearning-resources
entry under the intended category.This will ensure the page appears in the sidebar where you expect it.
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
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: 0
♻️ Duplicate comments (1)
docs/extra/learning-resources.md (1)
18-18
: Verify local images exist under static/img and paths render as /img/...Paths look correct for Docusaurus (served at /img/...). Please ensure the four PNGs are committed under static/img/learning-resources/, otherwise these will 404 at runtime.
Run:
#!/bin/bash set -euo pipefail # Expected image files in repo EXPECTED=( "static/img/learning-resources/fiber-learning-path.png" "static/img/learning-resources/fiber-challenge-interface.png" "static/img/learning-resources/fiber-framework-overview.png" "static/img/learning-resources/fiber-learning-experience.png" ) echo "Checking local image files exist under static/img/learning-resources/ ..." missing=0 for f in "${EXPECTED[@]}"; do if [ -f "$f" ]; then echo "OK $f" } else { echo "MISSING $f" missing=$((missing+1)) } fi done echo echo "Confirm image references in this page do not use external URLs:" rg -nP '\((https?://[^)]+)\)' -C0 docs/extra/learning-resources.md || echo "No external image URLs in this page." echo echo "Validate external links respond (200 expected):" while read -r url; do [ -z "$url" ] && continue code=$(curl -sS -o /dev/null -w "%{http_code}" -L "$url") echo "$code $url" done < <(rg -nP '\[(?:[^\]]+)\]\((https?://[^)]+)\)' -or '$1' -C0 docs/extra/learning-resources.md) if [ "$missing" -gt 0 ]; then echo echo "One or more images are missing. Add them under static/img/learning-resources/ or adjust paths." exit 1 fiAlso applies to: 27-27, 36-36, 38-38
🧹 Nitpick comments (5)
docs/extra/learning-resources.md (5)
5-5
: Remove trailing space to satisfy markdown lintersThere is a trailing space at the end of the line which may trigger markdownlint and could create an unintended hard line break.
Apply this diff:
- Interactive learning platforms and community resources to help you master + Interactive learning platforms and community resources to help you master
16-16
: Neutral tone and accuracy: avoid superlatives/marketing claimsSuggest softening “Master Go's fastest web framework … lightning-fast APIs” to align with neutral docs tone and avoid unverifiable superlatives.
Apply this diff:
-A comprehensive platform offering progressive Fiber challenges that complement the official documentation. Master Go's fastest web framework through hands-on challenges and build lightning-fast APIs with Express.js-inspired syntax. +A comprehensive platform offering progressive Fiber challenges that complement the official documentation. Practice Fiber concepts through hands-on challenges and build fast APIs with Express.js‑inspired syntax.
25-25
: Wording: avoid “JWT tokens” redundancy“JWT tokens” is redundant; suggest “JWTs”.
Apply this diff:
-- **Authentication & JWT** - Secure authentication systems with JWT tokens and API key validation +- **Authentication & JWT** - Secure authentication systems with JWTs and API key validation
31-31
: Grammar: “Set up” (verb) vs “Setup” (noun)Use “Set up” here.
Apply this diff:
-1. **Basic Routing** - Setup Fiber, routes, and handlers (Beginner) +1. **Basic Routing** - Set up Fiber, routes, and handlers (Beginner)
12-12
: Singular vs plural wordingOnly one resource is listed. Consider singular phrasing to avoid implying a list.
Apply this diff:
-Looking to practice Fiber concepts through hands-on exercises? Here are some community-driven learning resources: +Looking to practice Fiber concepts through hands-on exercises? Here is a community-driven learning resource:
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (1)
docs/extra/learning-resources.md
(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
docs/**
📄 CodeRabbit Inference Engine (.github/copilot-instructions.md)
Review and update the contents of the
docs
folder if necessary when modifying code
Files:
docs/extra/learning-resources.md
🧠 Learnings (1)
📚 Learning: 2024-10-08T19:06:06.583Z
Learnt from: hcancelik
PR: gofiber/fiber#3036
File: docs/middleware/cache.md:103-103
Timestamp: 2024-10-08T19:06:06.583Z
Learning: There are no hard tabs in the lines 100 to 105 of the `docs/middleware/cache.md` file. Future comments about formatting should accurately reflect the actual content.
Applied to files:
docs/extra/learning-resources.md
🪛 LanguageTool
docs/extra/learning-resources.md
[grammar] ~31-~31: There might be a mistake here.
Context: ...p Fiber, routes, and handlers (Beginner) 2. Middleware & CORS - Custom middleware ...
(QB_NEW_EN)
[grammar] ~32-~32: There might be a mistake here.
Context: ...dleware and rate limiting (Intermediate) 3. Validation & Errors - Input validation...
(QB_NEW_EN)
[grammar] ~33-~33: There might be a mistake here.
Context: ...dation and error handling (Intermediate) 4. Authentication - JWT tokens and API ke...
(QB_NEW_EN)
🔇 Additional comments (2)
docs/extra/learning-resources.md (2)
1-41
: Overall: Solid addition and structure looks consistent with docsFront matter, headings, and sectioning read well. Using Docusaurus-friendly image paths under /img is correct. Nice job keeping it concise and actionable.
40-40
: All external links return 200 OK – no changes needed
- File: docs/extra/learning-resources.md
Line 40:
• https://rezasi.github.io/go-interview-practice/fiber → 200
• https://github.com/RezaSi/go-interview-practice → 200Both the “fiber” path and the GitHub repo link resolve successfully, so no update to “.html” or canonicalization is required.
@ReneWerner87 Yes, All markdown linter issues have been fixed! |
The @gofiber/maintainers has to help update the challenges in the learning platform. They are related to fiber v2 right now |
Congrats on merging your first pull request! 🎉 We here at Fiber are proud of you! If you need help or want to chat with us, join us on Discord https://gofiber.io/discord |
Description
This PR adds a Learning Resources section to the Fiber documentation, featuring the Go Interview Practice platform - an interactive learning environment where developers can practice Fiber concepts through hands-on challenges. This addresses the community request from issue #3663 to include interactive learning resources similar to how the Gin framework showcases community tools.
The integration provides developers with a structured learning path covering essential Fiber concepts: basic routing, middleware development, input validation, and authentication systems. This complements the existing documentation by offering practical, hands-on experience with Fiber's high-performance features.
Related #3663
Changes introduced
This pull request introduces community-driven learning resources to help developers master Fiber through interactive practice.
learning-resources.md
file in/docs/extra/
section and updated mainintro.md
with learning resources mentionVisual Documentation: Four screenshots demonstrate the platform's features:
Note: Images will be hosted in the
go-interview-practice
repository and referenced via GitHub raw URLsType of change
Checklist
Before you submit your pull request, please make sure you meet these requirements:
/docs/
directory for Fiber's documentation.Commit formatting
📚 Add Learning Resources section with Go Interview Practice platform
Adds interactive learning platform to help developers practice Fiber concepts through hands-on challenges covering routing, middleware, validation, and authentication.