Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,27 @@
mosquitto/data/
mosquitto/log/

# MkDocs
site/
.cache/

# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
env/
venv/
ENV/

# IDEs
.vscode/
.idea/
*.swp
*.swo
*~

# OS
.DS_Store
Thumbs.db
26 changes: 26 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,32 @@

This project is a comprehensive multi-protocol bridge system designed to connect **Zenoh**, **MQTT**, and **ROS2** protocols. The project enables seamless data transfer between different communication protocols commonly used in IoT, robotics, and distributed systems.

## πŸ“š Documentation

**Complete documentation available via MkDocs** *(can be deployed to GitHub Pages)*

To view the documentation locally:

```bash
# Install dependencies
pip install -r requirements.txt

# Serve documentation
mkdocs serve

# Open http://localhost:8000 in your browser
```

The documentation includes:
- πŸ“– Installation and quick start guides
- πŸ—οΈ Architecture overview with diagrams
- πŸ”§ Component-specific documentation
- βš™οΈ Configuration guides
- πŸ§ͺ Testing and usage examples
- πŸ’‘ Real-world use cases
- πŸ”Œ API reference
- πŸ› οΈ Troubleshooting guide

## 🎯 Project Objectives

This project is a **multi-protocol bridge** system that enables different protocols to work together in modern IoT and robotics ecosystems. Its main objectives are:
Expand Down
144 changes: 144 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
# Documentation

This directory contains the MkDocs documentation for the Zenoh Multi-Protocol Bridge project.

## Building the Documentation

### Prerequisites

- Python 3.8+
- pip

### Installation

Install the required dependencies:

```bash
pip install -r requirements.txt
```

### Building

To build the static documentation site:

```bash
mkdocs build
```

The generated site will be in the `site/` directory.

### Development

To start a local development server with auto-reload:

```bash
mkdocs serve
```

Then open your browser to [http://localhost:8000](http://localhost:8000)

## Documentation Structure

```
docs/
β”œβ”€β”€ index.md # Home page
β”œβ”€β”€ getting-started/ # Installation and quick start guides
β”‚ β”œβ”€β”€ prerequisites.md
β”‚ β”œβ”€β”€ installation.md
β”‚ └── quick-start.md
β”œβ”€β”€ architecture/ # System architecture documentation
β”‚ β”œβ”€β”€ overview.md
β”‚ β”œβ”€β”€ components.md
β”‚ β”œβ”€β”€ data-flow.md
β”‚ └── network.md
β”œβ”€β”€ components/ # Individual component documentation
β”‚ β”œβ”€β”€ zenoh-router.md
β”‚ β”œβ”€β”€ mqtt-broker.md
β”‚ β”œβ”€β”€ zenoh-mqtt-bridge.md
β”‚ β”œβ”€β”€ ros2-humble.md
β”‚ β”œβ”€β”€ zenoh-ros2dds-bridge.md
β”‚ β”œβ”€β”€ node-red.md
β”‚ └── test-components.md
β”œβ”€β”€ configuration/ # Configuration guides
β”‚ β”œβ”€β”€ overview.md
β”‚ β”œβ”€β”€ mqtt-bridge.md
β”‚ β”œβ”€β”€ ros2-bridge.md
β”‚ └── docker-compose.md
β”œβ”€β”€ usage/ # Usage guides
β”‚ β”œβ”€β”€ testing.md
β”‚ β”œβ”€β”€ multi-protocol.md
β”‚ └── monitoring.md
β”œβ”€β”€ use-cases/ # Real-world use cases
β”‚ β”œβ”€β”€ iot-robotics.md
β”‚ β”œβ”€β”€ hybrid-communication.md
β”‚ β”œβ”€β”€ research.md
β”‚ β”œβ”€β”€ industrial.md
β”‚ └── smart-city.md
β”œβ”€β”€ api/ # API reference
β”‚ β”œβ”€β”€ endpoints.md
β”‚ └── rest-apis.md
β”œβ”€β”€ troubleshooting.md # Troubleshooting guide
└── contributing.md # Contributing guidelines
```

## Contributing to Documentation

When contributing to the documentation:

1. **Follow the Existing Structure**: Place new content in the appropriate directory
2. **Use Markdown**: All documentation is in Markdown format
3. **Include Examples**: Code examples and command-line snippets are helpful
4. **Add Diagrams**: Use Mermaid syntax for diagrams when appropriate
5. **Test Your Changes**: Build the docs locally to verify formatting
6. **Update Navigation**: Add new pages to `mkdocs.yml` navigation

### Markdown Features

The documentation supports:

- **Mermaid Diagrams**: For flowcharts and sequence diagrams
- **Code Highlighting**: Syntax highlighting for various languages
- **Admonitions**: Info, warning, and note boxes
- **Tabbed Content**: For platform-specific instructions
- **Task Lists**: For checklists and progress tracking

### Example Admonition

```markdown
!!! warning "Important Note"
This is a warning message.

!!! info "Information"
This is an info message.

!!! tip "Pro Tip"
This is a helpful tip.
```

### Example Tabbed Content

```markdown
=== "Ubuntu"
```bash
sudo apt-get install package
```

=== "macOS"
```bash
brew install package
```
```

## Deployment

The documentation can be deployed to:

- **GitHub Pages**: `mkdocs gh-deploy`
- **ReadTheDocs**: Connect your repository
- **Static Hosting**: Upload the `site/` directory

## See Also

- [MkDocs Documentation](https://www.mkdocs.org/)
- [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/)
- [PyMdown Extensions](https://facelessuser.github.io/pymdown-extensions/)
Loading