Skip to main content

📚 Documentation Guidelines

Welcome to the Documentation Guidelines! This document serves as a comprehensive guide for structuring, writing, and maintaining consistent and high-quality documentation across our projects. It covers common sections, formatting best practices, and useful Docusaurus features.


📝 Core Documentation Sections (Template Examples)

Every module or major feature should ideally follow a similar structure to ensure consistency and ease of navigation. Below are examples of common sections you would include in a module's index.mdx or feature-specific .mdx files.

🧭 Module Overview (Example Content)

This content would typically be in a module's index.mdx.

Briefly describe what this module does, its main purpose, and key functionality.

Example: This module manages course enrollment, including registration, seat allocation, and waitlisting logic. It provides APIs and UI components for administrators and students to manage their course registrations effectively.

🧩 Table Usage (Example Content)

This content might be in a module's features.mdx or index.mdx.

Use tables to clearly present data, features, or any structured information.

FeatureDescriptionStatus
CreateCreate a new item/entity✅ Done
ReadFetch list and details✅ Done
UpdateModify existing records🛠️ In Progress
DeleteRemove data⛔ Blocked
FilteringSupport filters (date, type, status)✅ Done
SortingSort by columns (name, date, priority)✅ Done
PaginationBackend-integrated pagination✅ Done

🔌 API Contract (Example Content)

This content would typically be in a module's api-contract.mdx.

Document your API endpoints with clear methods, descriptions, authentication requirements, and status.

EndpointMethodDescriptionAuth RequiredStatus
/api/itemsGETFetch list of items✅ Yes✅ Done
/api/items/:idPUTUpdate item by ID✅ Yes🛠️ In Progress
/api/itemsPOSTCreate a new item✅ Yes✅ Done
/api/items/:idDELETEDelete an item by ID✅ Yes⛔ Blocked

🎨 Design & Development Resources

This section provides quick links to common development and design assets.

These links typically go into a components-links.mdx file for a module.

These links typically go into a components-links.mdx file for a module.


📦 Assumptions & Dependencies

This content would typically be in a module's assumptions-dependencies.mdx.

Crucial context for understanding the module's behavior and environment.

  • Relies on auth-token from global context for authentication.
  • Assumes courseId is passed via query parameter for specific operations.
  • External service UserProfileService is required and assumed to be available.
  • Backend pagination limit is fixed at 25 items per page for all list endpoints.

🔗 Linked Resources

Keep track of related project management and external documentation.


👥 Contributors

Acknowledge team members who have contributed to the module or documentation.

RoleName
Frontend DevRajesh Kumar
Backend DevMehul Singh
DesignerAnjali Verma
Product OwnerPriya Sethi

📁 Project File Overview (For Modules)

This section outlines a recommended file structure for individual module documentation folders.

File NamePurpose
_category_.json(Optional) Used by Docusaurus to organize items in the sidebar. Helps set titles, positions, and icons.
index.mdxModule Overview – high-level summary and general information. Ideal for new readers.
features.mdxFeature List – detailed breakdown of all supported features (e.g., CRUD, filtering, sorting).
api-contract.mdxAPI Reference – defines REST or GraphQL contracts with endpoints, methods, request/response structure.
components-links.mdxDesign Assets – quick links to relevant Storybook components and Figma designs for developers and designers.
assumptions-dependencies.mdxContextual Notes – outlines assumptions made, external systems, services or libraries this module depends on.

✨ Docusaurus Markdown Features

Docusaurus supports a wide array of Markdown features beyond the basics, including Admonitions and Code Highlighting, and custom components. For an extensive list, refer to the official Docusaurus Markdown Features documentation.

📊 Admonitions (Cheatsheet)

Use these to highlight important notes, tips, warnings, or danger alerts.

Some content with Markdown syntax. Check this api.

Some content with Markdown syntax. Check this api.

Some content with Markdown syntax. Check this api.

Some content with Markdown syntax. Check this api.

Some content with Markdown syntax. Check this api.

🖥️ Code Highlighting

Code blocks are automatically highlighted based on the language. You can also add titles and highlight specific lines.

function HelloCodeTitle(props) {
  return <h1>Hello, {props.name}</h1>;
}
// This line is not highlighted
const name = "Docusaurus";