Skip to content
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

Updated documentation layout #3359

Merged
merged 2 commits into from
Jan 20, 2025

Conversation

palisadoes
Copy link
Contributor

@palisadoes palisadoes commented Jan 20, 2025

What kind of change does this PR introduce?

Updated the layout of the manual and autogenerated docusaurus documents in the repository

Issue Number:

  • N/A

Snapshots/Videos:

  • N/A

If relevant, did you update the documentation?

  • Yes

Summary

The work was done in anticipation of streamlining the documentation across the repositories

Does this PR introduce a breaking change?

Checklist

CodeRabbit AI Review

  • I have reviewed and addressed all critical issues flagged by CodeRabbit AI
  • I have implemented or provided justification for each non-critical suggestion
  • I have documented my reasoning in the PR comments where CodeRabbit AI suggestions were not implemented

Test Coverage

  • I have written tests for all new changes/features
  • I have verified that test coverage meets or exceeds 95%
  • I have run the test suite locally and all tests pass

Other information

  • N/A

Have you read the contributing guide?

  • Yes

Summary by CodeRabbit

  • Documentation

    • Added comprehensive documentation for Talawa Admin dashboard
    • Introduced new guides on plugin architecture and implementation
    • Removed Docusaurus tutorial and template files
    • Updated documentation navigation and sidebar configuration
  • New Features

    • Detailed documentation for Talawa Admin features
    • Explained plugin system and its implementation in Talawa projects
  • Refactor

    • Restructured documentation layout and navigation
    • Simplified documentation configuration

@palisadoes palisadoes added the ignore-sensitive-files-pr The contributor has a legitimate reason for editiing protected files label Jan 20, 2025
Copy link
Contributor

coderabbitai bot commented Jan 20, 2025

Walkthrough

This pull request introduces comprehensive documentation for the Talawa Admin dashboard, focusing on plugin architecture and system functionalities. The changes include creating new markdown documents that explain the admin dashboard's features, plugin implementation, and system architecture. The documentation has been restructured to remove Docusaurus tutorial content and replace it with Talawa-specific guides, including detailed explanations of plugin registration, creation, and management.

Changes

File Change Summary
docs/docs/docs/introduction.md New document introducing Talawa Admin dashboard features
docs/docs/docs/plugins/implementing-plugins-example.md New guide for implementing plugin examples, specifically a Donation feature
docs/docs/docs/plugins/implementing-plugins.md New document detailing plugin implementation methods
docs/docs/docs/plugins/plugin-architecture.md New overview of the Talawa plugin system architecture
docs/docs/intro.md Removed Docusaurus introductory tutorial
docs/docs/tutorial-basics/* Removed multiple Docusaurus tutorial files
docs/docs/tutorial-extras/* Removed additional Docusaurus tutorial files
docs/docusaurus.config.ts Updated navbar configuration with direct documentation links
docs/sidebars.ts Restructured sidebar to include Plugins and Code Documentation categories

Possibly related issues

Possibly related PRs

Suggested reviewers

  • varshith257

Poem

🐰 Hop into docs, a rabbit's delight,
Plugins and features now shine so bright!
From admin dashboard to code's embrace,
Documentation finds its rightful place.
A technical journey, clear and neat! 🚀

Finishing Touches

  • 📝 Generate Docstrings (Beta)

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ 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.
    • Generate unit testing code for this file.
    • 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 generate unit testing code for this file.
    • @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 generate unit testing code.
    • @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.

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. (Beta)
  • @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.

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

Our Pull Request Approval Process

Thanks for contributing!

Testing Your Code

Remember, your PRs won't be reviewed until these criteria are met:

  1. We don't merge PRs with poor code quality.
    1. Follow coding best practices such that CodeRabbit.ai approves your PR.
  2. We don't merge PRs with failed tests.
    1. When tests fail, click on the Details link to learn more.
    2. Write sufficient tests for your changes (CodeCov Patch Test). Your testing level must be better than the target threshold of the repository
    3. Tests may fail if you edit sensitive files. Ask to add the ignore-sensitive-files-pr label if the edits are necessary.
  3. We cannot merge PRs with conflicting files. These must be fixed.

Our policies make our code better.

Reviewers

Do not assign reviewers. Our Queue Monitors will review your PR and assign them.
When your PR has been assigned reviewers contact them to get your code reviewed and approved via:

  1. comments in this PR or
  2. our slack channel

Reviewing Your Code

Your reviewer(s) will have the following roles:

  1. arbitrators of future discussions with other contributors about the validity of your changes
  2. point of contact for evaluating the validity of your work
  3. person who verifies matching issues by others that should be closed.
  4. person who gives general guidance in fixing your tests

CONTRIBUTING.md

Read our CONTRIBUTING.md file. Most importantly:

  1. PRs with issues not assigned to you will be closed by the reviewer
  2. Fix the first comment in the PR so that each issue listed automatically closes

Other

  1. 🎯 Please be considerate of our volunteers' time. Contacting the person who assigned the reviewers is not advised unless they ask for your input. Do not @ the person who did the assignment otherwise.
  2. Read the CONTRIBUTING.md file make

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

🧹 Nitpick comments (11)
docs/sidebars.ts (1)

17-30: Well-structured sidebar organization!

The new sidebar structure provides a clear separation between plugins and code documentation, making navigation more intuitive.

Consider adding a description comment above each category to document the purpose and content type of each section for future maintainers.

 tutorialSidebar: [
   'docs/introduction',
+  // Plugin documentation including implementation guides and architecture
   {
     type: 'category',
     label: 'Plugins',
     items: [{ type: 'autogenerated', dirName: 'docs/plugins' }],
   },

+  // Auto-generated API and implementation documentation
   {
     type: 'category',
     label: 'Code Documentation',
     items: [{ type: 'autogenerated', dirName: 'auto-docs' }],
   },
 ],
docs/docs/docs/introduction.md (2)

15-16: Improve clarity and formatting of dashboard statistics.

The bullet points need grammatical improvements and consistent formatting.

Apply these changes:

-Dashboard Provides Overview about the Admin's Organization.
-Displays Statistics like number of Members, Admins, Blocked Users & Membership Requests, etc.
+- The dashboard provides an overview of the admin's organization
+- Displays statistics including:
+  - Number of members
+  - Number of admins
+  - Number of blocked users
+  - Number of pending membership requests

25-26: Fix typo and improve event page description.

There's a grammatical error in the event page description.

Apply these changes:

-These shows list of active `Events` in the organization.
-Admins can also post new events from this page.
+- Shows a list of active events in the organization
+- Allows admins to create and manage events
docs/docs/docs/plugins/plugin-architecture.md (2)

14-18: Improve clarity of plugin definition and registration process.

The explanation needs better structure and technical accuracy.

Apply these changes:

-A Plugin is a feature in Talawa Mobile App that is controlled by the Admins of that organization. By having the control admins can decide the accessibility of that feature for the organization members.
-
-Programmatically the logic of this Plugin is stored in the mobile app but it's inaccessible to the users until the admin of the organization installs that plugin.
-
-You first have to be register the Plugins from the `Plugin store` in order to install them from the Talawa Admin.
+A plugin is a feature in the Talawa Mobile App that is controlled by organization administrators. Administrators can control the accessibility of these features for their organization members.
+
+While the plugin logic is pre-built into the mobile app, features remain inactive until an administrator explicitly installs and enables them through the Talawa Admin interface.
+
+To use a plugin:
+1. The plugin must be registered in the Plugin Store
+2. An administrator must install it through the Talawa Admin interface
🧰 Tools
🪛 LanguageTool

[uncategorized] ~16-~16: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... this Plugin is stored in the mobile app but it's inaccessible to the users until th...

(COMMA_COMPOUND_SENTENCE)


[style] ~18-~18: Consider a shorter alternative to avoid wordiness.
Context: ...ter the Plugins from the Plugin store in order to install them from the Talawa Admin. ##...

(IN_ORDER_TO_PREMIUM)


42-50: Improve plugin model documentation.

The code example needs better formatting and documentation.

Apply these changes:

 ```js
 Plugin : {
-    pluginName: String, // plugin name
-    pluginCreatedBy: String, // name of the creator
-    pluginDesc : String, // description
-    pluginInstallStatus : Boolean, // TRUE if installed otherwise FALSE
-    installedOrgs : [ID] // a list containing ID of the organization who have installed the plugin
+    // Unique identifier for the plugin
+    pluginName: String,
+    
+    // Name of the plugin creator/maintainer
+    pluginCreatedBy: String,
+    
+    // Detailed description of the plugin's functionality
+    pluginDesc: String,
+    
+    // Installation status: true if installed, false otherwise
+    pluginInstallStatus: Boolean,
+    
+    // Array of organization IDs where the plugin is installed
+    installedOrgs: [ID]
 }
docs/docs/docs/plugins/implementing-plugins-example.md (2)

44-94: Improve grammar in the implementation steps.

The technical content is accurate, but there are some grammar issues to fix:

  1. Add "a" before "dialog" in "you get dialog with text"
  2. Replace "doing the payment" with "making the payment"

Apply these changes:

-It is a simple list option that says " Donate Us " and upon clicking that you get dialog with text
+It is a simple list option that says "Donate Us" and upon clicking that you get a dialog with text

-"Help us to develop for you" for doing the payment.
+"Help us to develop for you" for making the payment.
🧰 Tools
🪛 LanguageTool

[formatting] ~44-~44: Insert a comma before quoting reported speech: “says, "”…
Context: ....dart) It is a simple list option that says " Donate Us " and upon clicking that you ...

(SAID_COMMA_SPEECH)


[uncategorized] ~44-~44: You might be missing the article “a” here.
Context: ...ate Us " and upon clicking that you get dialog with text "Help us to develop for you" ...

(AI_EN_LECTOR_MISSING_DETERMINER_A)


[grammar] ~44-~44: The correct verb here is “make”.
Context: ...h text "Help us to develop for you" for doing the payment. Now let's follow the step...

(DO_MAKE)


97-101: Add missing comma in the development note.

Apply this change:

-For development purposes to see the plugin even if it's uninstalled
+For development purposes, to see the plugin even if it's uninstalled
🧰 Tools
🪛 LanguageTool

[uncategorized] ~101-~101: A comma might be missing here.
Context: ...tion otherwise hidden. For development purposes to see the plugin even if it's uninstal...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)

docs/docs/docs/plugins/implementing-plugins.md (4)

1-34: Improve grammar in the introduction and registration section.

The technical content and structure are good, but there are some grammar issues to address:

  1. Add "The" before "Plugin" in line 8
  2. Remove "trailing" in line 31 as it contradicts with line 96 which correctly states "without any trailing spaces"

Apply these changes:

-Plugin are activated from Plugin store
+The Plugin Store activates plugins

-Make sure to use unique names with trailing spaces.
+Make sure to use unique names without any trailing spaces.
🧰 Tools
🪛 LanguageTool

[style] ~30-~30: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...ution The Name of plugin provided is very important and will be used for later steps. Make ...

(EN_WEAK_ADJECTIVE)


35-69: Improve formatting and clarity in the plugin types section.

The technical content is accurate, but some improvements would enhance readability:

  1. Add "the" before "next step"
  2. Fix the file link typo "main_scree.dart" to "main_screen.dart"
  3. Add commas after conditional clauses

Apply these changes:

-In next step we'll see how to create plugins
+In the next step, we'll see how to create plugins

-[main_scree.dart]
+[main_screen.dart]

-if your feature is not a plugin it should be added
+if your feature is not a plugin, it should be added
🧰 Tools
🪛 LanguageTool

[uncategorized] ~35-~35: You might be missing the article “the” here.
Context: ...ue names with trailing spaces. ::: In next step we'll see how to create plugins #...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[typographical] ~35-~35: It appears that a comma is missing.
Context: ...mes with trailing spaces. ::: In next step we'll see how to create plugins ### 2....

(DURING_THAT_TIME_COMMA)


[uncategorized] ~35-~35: A period might be missing here.
Context: ...: In next step we'll see how to create plugins ### 2. Plugin Creation Based on where...

(AI_EN_LECTOR_MISSING_PUNCTUATION_PERIOD)


[uncategorized] ~45-~45: A comma might be missing here.
Context: ...vigation bar - For the features in the navbar we have maintained a list of them in [m...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[uncategorized] ~47-~47: You might be missing the article “the” here.
Context: ...vbarClassesand then it is returned tochildren` property of the navbar UI code...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~58-~58: You might be missing the article “a” here.
Context: ...tomNavigationBarItem() ] - contains list ofBottomNavigationBarItem` widget to ...

(AI_EN_LECTOR_MISSING_DETERMINER_A)


[uncategorized] ~59-~59: A comma might be missing here.
Context: ... options. - if your feature is not a plugin it should be added to this array. 2. `n...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[uncategorized] ~65-~65: You might be missing the article “the” here.
Context: ... and Widgets (named as class) used in navbar. 4. navNameIcon - Type `Map<String...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~68-~68: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...e pair of the feature name in the navbar and it's corresponding plugin. #### B. Oth...

(COMMA_COMPOUND_SENTENCE)


[grammar] ~68-~68: The word ‘plugin’ is not correct in this context. Consider using the plural form, adding a determiner like ‘the’ or ‘a’, or adding a preposition like ‘at’ or ‘in’.
Context: ...me in the navbar and it's corresponding plugin. #### B. Other Features - `TalawaPlug...

(BE_VBG_NN)

🪛 Markdownlint (0.37.0)

64-64: null
Spaces inside code span elements

(MD038, no-space-in-code)


70-97: Improve property descriptions and fix formatting.

The technical content is accurate, but the property descriptions need consistency improvements:

  1. Remove duplicate "here" in line 72
  2. Add proper article usage before "plugin" in examples
  3. Fix grammatical errors in property descriptions

Apply these changes:

-`TalawaPluginProvider` is Flutter widget that is used here . The Source can be viewed here
+`TalawaPluginProvider` is a Flutter widget. The source code can be viewed here

-True if plugin is Installed and plugin will be visible
+True if the plugin is installed and will be visible
🧰 Tools
🪛 LanguageTool

[duplication] ~72-~72: Possible typo: you repeated a word.
Context: ...s used here . The Source can be viewed here - Here's the basic use of `TalawaPluginProvide...

(ENGLISH_WORD_REPEAT_RULE)


[uncategorized] ~85-~85: A comma might be missing here.
Context: ...UI widget like Container(), Text(), Row(),etc. For example if your features...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[typographical] ~85-~85: After the expression ‘for example’ a comma is usually used.
Context: ...ontainer(), Text(), Row()`,etc. For example if your features is encapsulated within...

(COMMA_FOR_EXAMPLE)


[grammar] ~85-~85: “features” is a plural noun. It appears that the verb form is incorrect.
Context: ...ow(),etc. For example if your features is encapsulated within an Container()` wi...

(PCT_PLURAL_NOUN_SINGULAR_VERB_AGREEMENT)


[uncategorized] ~90-~90: You might be missing the article “the” here.
Context: ...ible - TypeBoolean` - True if plugin is Installed and plugin will be visible...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~90-~90: You might be missing the article “the” here.
Context: ...n` - True if plugin is Installed and plugin will be visible, Otherwise false hence ...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[typographical] ~90-~90: The word “hence” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...d and plugin will be visible, Otherwise false hence plugin is hidden. 3. pluginName -...

(THUS_SENTENCE)


[uncategorized] ~96-~96: You might be missing the article “the” here.
Context: ...om-navigation-bar) - For example. If plugin stored on the store as Members List t...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

🪛 Markdownlint (0.37.0)

95-95: null
Spaces inside link text

(MD039, no-space-in-links)


98-116: Improve clarity in the development properties section.

The technical content is accurate, but the description of serverVisible could be clearer:

  1. Remove duplicate usage of "only"
  2. Add proper articles
  3. Improve sentence structure

Apply these changes:

-This property is accessible for the developers only as it can be only set during development phase
+This property is only accessible to developers as it can be set during the development phase
🧰 Tools
🪛 LanguageTool

[style] ~108-~108: This adverb was used twice in the sentence. Consider removing one of them or replacing them with a synonym.
Context: ...le for the developers only as it can be only set during development phase. We can se...

(ADVERB_REPETITION_PREMIUM)


[uncategorized] ~108-~108: You might be missing the article “the” here.
Context: ...opers only as it can be only set during development phase. We can see that it is defined in...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~108-~108: You might be missing the article “the” here.
Context: ...phase. We can see that it is defined in build method of the widget. ```js ...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4bc8f99 and cf93c3c.

⛔ Files ignored due to path filters (6)
  • docs/docs/tutorial-extras/img/docsVersionDropdown.png is excluded by !**/*.png
  • docs/docs/tutorial-extras/img/localeDropdown.png is excluded by !**/*.png
  • docs/static/img/docs/plugin/plugin-store-navbar.PNG is excluded by !**/*.png
  • docs/static/img/docs/plugin/plugin-types.PNG is excluded by !**/*.png
  • docs/static/img/docs/plugin/store.PNG is excluded by !**/*.png
  • docs/static/img/docs/plugin/talawa.PNG is excluded by !**/*.png
📒 Files selected for processing (17)
  • docs/docs/docs/introduction.md (1 hunks)
  • docs/docs/docs/plugins/implementing-plugins-example.md (1 hunks)
  • docs/docs/docs/plugins/implementing-plugins.md (1 hunks)
  • docs/docs/docs/plugins/plugin-architecture.md (1 hunks)
  • docs/docs/intro.md (0 hunks)
  • docs/docs/tutorial-basics/_category_.json (0 hunks)
  • docs/docs/tutorial-basics/congratulations.md (0 hunks)
  • docs/docs/tutorial-basics/create-a-blog-post.md (0 hunks)
  • docs/docs/tutorial-basics/create-a-document.md (0 hunks)
  • docs/docs/tutorial-basics/create-a-page.md (0 hunks)
  • docs/docs/tutorial-basics/deploy-your-site.md (0 hunks)
  • docs/docs/tutorial-basics/markdown-features.mdx (0 hunks)
  • docs/docs/tutorial-extras/_category_.json (0 hunks)
  • docs/docs/tutorial-extras/manage-docs-versions.md (0 hunks)
  • docs/docs/tutorial-extras/translate-your-site.md (0 hunks)
  • docs/docusaurus.config.ts (1 hunks)
  • docs/sidebars.ts (1 hunks)
💤 Files with no reviewable changes (11)
  • docs/docs/tutorial-basics/deploy-your-site.md
  • docs/docs/tutorial-basics/create-a-document.md
  • docs/docs/tutorial-extras/manage-docs-versions.md
  • docs/docs/tutorial-extras/category.json
  • docs/docs/tutorial-basics/category.json
  • docs/docs/intro.md
  • docs/docs/tutorial-basics/create-a-page.md
  • docs/docs/tutorial-extras/translate-your-site.md
  • docs/docs/tutorial-basics/create-a-blog-post.md
  • docs/docs/tutorial-basics/congratulations.md
  • docs/docs/tutorial-basics/markdown-features.mdx
🧰 Additional context used
🪛 LanguageTool
docs/docs/docs/plugins/implementing-plugins-example.md

[misspelling] ~14-~14: Use “a” instead of ‘an’ if the following word doesn’t start with a vowel sound, e.g. ‘a sentence’, ‘a university’.
Context: ...plugins.md) ::: Previously we've seen an technical overview of how we can implem...

(EN_A_VS_AN)


[grammar] ~16-~16: Before the countable noun ‘as’ an article or a possessive pronoun is necessary.
Context: ... we can implement a Donation feature as plugin and seeing it in actions. But before th...

(IN_NN_CC_VBG)


[uncategorized] ~16-~16: This verb may not be in the correct form. Consider using a different form for this context.
Context: ...lement a Donation feature as plugin and seeing it in actions. But before that let's ta...

(AI_EN_LECTOR_REPLACEMENT_VERB_FORM)


[uncategorized] ~16-~16: A comma might be missing here.
Context: ...in and seeing it in actions. But before that let's take a look at the donation code....

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[formatting] ~44-~44: Insert a comma before quoting reported speech: “says, "”…
Context: ....dart) It is a simple list option that says " Donate Us " and upon clicking that you ...

(SAID_COMMA_SPEECH)


[uncategorized] ~44-~44: You might be missing the article “a” here.
Context: ...ate Us " and upon clicking that you get dialog with text "Help us to develop for you" ...

(AI_EN_LECTOR_MISSING_DETERMINER_A)


[grammar] ~44-~44: The correct verb here is “make”.
Context: ...h text "Help us to develop for you" for doing the payment. Now let's follow the step...

(DO_MAKE)


[uncategorized] ~101-~101: A comma might be missing here.
Context: ...tion otherwise hidden. For development purposes to see the plugin even if it's uninstal...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)

docs/docs/docs/plugins/plugin-architecture.md

[uncategorized] ~16-~16: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... this Plugin is stored in the mobile app but it's inaccessible to the users until th...

(COMMA_COMPOUND_SENTENCE)


[style] ~18-~18: Consider a shorter alternative to avoid wordiness.
Context: ...ter the Plugins from the Plugin store in order to install them from the Talawa Admin. ##...

(IN_ORDER_TO_PREMIUM)


[uncategorized] ~20-~20: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...install them from the Talawa Admin. ## High Level Overview of Plugin Architecture Let's ...

(EN_COMPOUND_ADJECTIVE_INTERNAL)


[style] ~30-~30: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...t of installed and available plugins. - Ability to Search the plugin using SearchBar (p...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)


[uncategorized] ~38-~38: The official spelling of this programming framework is “Node.js”.
Context: ...gin/store.PNG) ### Talawa API It is a nodeJS API that is used to interface with the ...

(NODE_JS)


[uncategorized] ~38-~38: Possible missing article found.
Context: ... interface with the database containing list of the plugins with their different att...

(AI_HYDRA_LEO_MISSING_A)

docs/docs/docs/plugins/implementing-plugins.md

[style] ~30-~30: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...ution The Name of plugin provided is very important and will be used for later steps. Make ...

(EN_WEAK_ADJECTIVE)


[uncategorized] ~35-~35: You might be missing the article “the” here.
Context: ...ue names with trailing spaces. ::: In next step we'll see how to create plugins #...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[typographical] ~35-~35: It appears that a comma is missing.
Context: ...mes with trailing spaces. ::: In next step we'll see how to create plugins ### 2....

(DURING_THAT_TIME_COMMA)


[uncategorized] ~35-~35: A period might be missing here.
Context: ...: In next step we'll see how to create plugins ### 2. Plugin Creation Based on where...

(AI_EN_LECTOR_MISSING_PUNCTUATION_PERIOD)


[uncategorized] ~45-~45: A comma might be missing here.
Context: ...vigation bar - For the features in the navbar we have maintained a list of them in [m...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[uncategorized] ~47-~47: You might be missing the article “the” here.
Context: ...vbarClassesand then it is returned tochildren` property of the navbar UI code...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~58-~58: You might be missing the article “a” here.
Context: ...tomNavigationBarItem() ] - contains list ofBottomNavigationBarItem` widget to ...

(AI_EN_LECTOR_MISSING_DETERMINER_A)


[uncategorized] ~59-~59: A comma might be missing here.
Context: ... options. - if your feature is not a plugin it should be added to this array. 2. `n...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[uncategorized] ~65-~65: You might be missing the article “the” here.
Context: ... and Widgets (named as class) used in navbar. 4. navNameIcon - Type `Map<String...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~68-~68: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...e pair of the feature name in the navbar and it's corresponding plugin. #### B. Oth...

(COMMA_COMPOUND_SENTENCE)


[grammar] ~68-~68: The word ‘plugin’ is not correct in this context. Consider using the plural form, adding a determiner like ‘the’ or ‘a’, or adding a preposition like ‘at’ or ‘in’.
Context: ...me in the navbar and it's corresponding plugin. #### B. Other Features - `TalawaPlug...

(BE_VBG_NN)


[duplication] ~72-~72: Possible typo: you repeated a word.
Context: ...s used here . The Source can be viewed here - Here's the basic use of `TalawaPluginProvide...

(ENGLISH_WORD_REPEAT_RULE)


[uncategorized] ~85-~85: A comma might be missing here.
Context: ...UI widget like Container(), Text(), Row(),etc. For example if your features...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[typographical] ~85-~85: After the expression ‘for example’ a comma is usually used.
Context: ...ontainer(), Text(), Row()`,etc. For example if your features is encapsulated within...

(COMMA_FOR_EXAMPLE)


[grammar] ~85-~85: “features” is a plural noun. It appears that the verb form is incorrect.
Context: ...ow(),etc. For example if your features is encapsulated within an Container()` wi...

(PCT_PLURAL_NOUN_SINGULAR_VERB_AGREEMENT)


[uncategorized] ~90-~90: You might be missing the article “the” here.
Context: ...ible - TypeBoolean` - True if plugin is Installed and plugin will be visible...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~90-~90: You might be missing the article “the” here.
Context: ...n` - True if plugin is Installed and plugin will be visible, Otherwise false hence ...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[typographical] ~90-~90: The word “hence” is an adverb that can’t be used like a conjunction, and therefore needs to be separated from the sentence.
Context: ...d and plugin will be visible, Otherwise false hence plugin is hidden. 3. pluginName -...

(THUS_SENTENCE)


[uncategorized] ~96-~96: You might be missing the article “the” here.
Context: ...om-navigation-bar) - For example. If plugin stored on the store as Members List t...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[style] ~108-~108: This adverb was used twice in the sentence. Consider removing one of them or replacing them with a synonym.
Context: ...le for the developers only as it can be only set during development phase. We can se...

(ADVERB_REPETITION_PREMIUM)


[uncategorized] ~108-~108: You might be missing the article “the” here.
Context: ...opers only as it can be only set during development phase. We can see that it is defined in...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~108-~108: You might be missing the article “the” here.
Context: ...phase. We can see that it is defined in build method of the widget. ```js ...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

🪛 Markdownlint (0.37.0)
docs/docs/docs/plugins/implementing-plugins-example.md

9-9: null
Spaces inside link text

(MD039, no-space-in-links)

docs/docs/docs/plugins/implementing-plugins.md

64-64: null
Spaces inside code span elements

(MD038, no-space-in-code)


95-95: null
Spaces inside link text

(MD039, no-space-in-links)

⏰ Context from checks skipped due to timeout of 90000ms (2)
  • GitHub Check: Test Application
  • GitHub Check: Analyse Code With CodeQL (javascript)
🔇 Additional comments (2)
docs/docusaurus.config.ts (1)

67-85: Documentation links are well-structured!

The navbar links are consistently configured with proper URLs and target behavior.

Let's verify that all documentation links follow the same pattern:

✅ Verification successful

Documentation links verified - all consistent!

All documentation links follow the correct pattern with:

  • Consistent /docs suffix
  • Proper target: '_self' configuration
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify consistency of documentation links
# Expected: All documentation links should end with /docs and use target: '_self'

echo "Checking documentation link patterns..."
rg -A 1 "href: 'https://docs.*?\.talawa\.io" docs/docusaurus.config.ts

Length of output: 502

docs/docs/docs/plugins/implementing-plugins-example.md (1)

1-13: LGTM! Well-structured document header and prerequisites.

The document follows proper Docusaurus conventions with clear frontmatter and relevant prerequisites.

🧰 Tools
🪛 Markdownlint (0.37.0)

9-9: null
Spaces inside link text

(MD039, no-space-in-links)

Comment on lines +14 to +43
Previously we've seen an technical overview of how we can implement plugins for our features.

Now let's see how we can implement a Donation feature as plugin and seeing it in actions. But before that let's take a look at the donation code.

```js
CustomListTile(
key: homeModel!.keySPDonateUs,
index: 2,
type: TileType.option,
option: Options(
icon: Icon(
Icons.monetization_on,
color: Theme.of(context)
.colorScheme
.primary,
size: 30,
),
title: AppLocalizations.of(context)!
.strictTranslate('Donate Us'),
subtitle: AppLocalizations.of(context)!
.strictTranslate(
'Help us to develop for you',
),
),
onTapOption: () => donate(context, model),
)
```

To see the entire file go [here](https://github.com/Palisadoesfoundation/talawa/blob/2a14faa4363ca26426fb2f9a8b39082c08e6597b/lib/views/after_auth_screens/profile/profile_page.dart)

Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Improve clarity and fix grammatical issues in the introduction.

The introduction needs several improvements:

  1. Replace "an technical" with "a technical"
  2. Restructure the sentence "implement a Donation feature as plugin" to "implement a Donation feature as a plugin"
  3. Add proper context before introducing the code example

Apply these changes:

-Previously we've seen an technical overview of how we can implement plugins for our features.
+Previously we've seen a technical overview of how we can implement plugins for our features.

-Now let's see how we can implement a Donation feature as plugin and seeing it in actions.
+Now let's see how we can implement a Donation feature as a plugin and see it in action.
📝 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
Previously we've seen an technical overview of how we can implement plugins for our features.
Now let's see how we can implement a Donation feature as plugin and seeing it in actions. But before that let's take a look at the donation code.
```js
CustomListTile(
key: homeModel!.keySPDonateUs,
index: 2,
type: TileType.option,
option: Options(
icon: Icon(
Icons.monetization_on,
color: Theme.of(context)
.colorScheme
.primary,
size: 30,
),
title: AppLocalizations.of(context)!
.strictTranslate('Donate Us'),
subtitle: AppLocalizations.of(context)!
.strictTranslate(
'Help us to develop for you',
),
),
onTapOption: () => donate(context, model),
)
```
To see the entire file go [here](https://github.com/Palisadoesfoundation/talawa/blob/2a14faa4363ca26426fb2f9a8b39082c08e6597b/lib/views/after_auth_screens/profile/profile_page.dart)
Previously we've seen a technical overview of how we can implement plugins for our features.
Now let's see how we can implement a Donation feature as a plugin and see it in action. But before that let's take a look at the donation code.
🧰 Tools
🪛 LanguageTool

[misspelling] ~14-~14: Use “a” instead of ‘an’ if the following word doesn’t start with a vowel sound, e.g. ‘a sentence’, ‘a university’.
Context: ...plugins.md) ::: Previously we've seen an technical overview of how we can implem...

(EN_A_VS_AN)


[grammar] ~16-~16: Before the countable noun ‘as’ an article or a possessive pronoun is necessary.
Context: ... we can implement a Donation feature as plugin and seeing it in actions. But before th...

(IN_NN_CC_VBG)


[uncategorized] ~16-~16: This verb may not be in the correct form. Consider using a different form for this context.
Context: ...lement a Donation feature as plugin and seeing it in actions. But before that let's ta...

(AI_EN_LECTOR_REPLACEMENT_VERB_FORM)


[uncategorized] ~16-~16: A comma might be missing here.
Context: ...in and seeing it in actions. But before that let's take a look at the donation code....

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)

Copy link

codecov bot commented Jan 20, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 89.75%. Comparing base (2d58498) to head (cf93c3c).
Report is 2 commits behind head on develop-postgres.

Additional details and impacted files
@@                  Coverage Diff                  @@
##           develop-postgres    #3359       +/-   ##
=====================================================
+ Coverage              8.40%   89.75%   +81.35%     
=====================================================
  Files                   312      335       +23     
  Lines                  8105     8612      +507     
  Branches               1801     1898       +97     
=====================================================
+ Hits                    681     7730     +7049     
+ Misses                 7347      627     -6720     
- Partials                 77      255      +178     
Flag Coverage Δ
combined 89.75% <ø> (?)
jest 8.40% <ø> (?)
vitest 89.75% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@palisadoes palisadoes merged commit 158414f into PalisadoesFoundation:develop-postgres Jan 20, 2025
18 of 19 checks passed
@palisadoes palisadoes deleted the docs branch January 20, 2025 05:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ignore-sensitive-files-pr The contributor has a legitimate reason for editiing protected files
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant