Skip to main content
Version: 1.0.0

Contributing & Citation

Thank you for your interest in contributing to MantisTable UI! This page provides guidelines for contributors and citation information.

How to contribute

We welcome contributions from the community. Here's how you can get involved:

Reporting Issues

  • Use the GitHub Issues page to report bugs or request features
  • Please provide detailed information including:
    • Description of the issue
    • Steps to reproduce
    • Expected vs actual behaviour
    • Environment details (OS, browser, etc.)

Submitting Pull Requests

  1. Fork the repository on GitHub
  2. Create a feature branch from the main branch
  3. Make your changes following the coding style guidelines
  4. Test your changes thoroughly
  5. Submit a pull request with a clear description of your changes

Coding Style

  • TypeScript: Follow the existing code style and use TypeScript for all new code
  • Python: Follow PEP 8 guidelines for Python code in plugins
  • JavaScript: Use modern ES6+ syntax where possible
  • Commit Messages: Use clear, descriptive commit messages
  • Documentation: Update relevant documentation for any changes

Branching Strategy

  • main: Production-ready code
  • develop: Development branch for new features
  • Feature branches: feature/description-of-feature
  • Bug fix branches: fix/description-of-bug

Development setup

To set up MantisTable UI for development:

Prerequisites

  • Node.js (version 18 or higher)
  • Python 3.8+
  • Docker and Docker Compose
  • Git

Installation Steps

  1. Clone the repository:

    git clone https://github.com/unimib-datAI/mantistable-ui.git
    cd mantistable-ui
  2. Install dependencies:

    npm install
    # or
    yarn install
  3. Set up environment variables:

    cp .env.example.dev .env.local
    # Edit .env.local with your configuration
  4. Start development environment:

    # Using Docker Compose (recommended)
    docker-compose -f docker-compose-dev.yml up

    # Or using npm/yarn
    npm run dev
    # or
    yarn dev

For detailed installation instructions, see the Installation Guide.

Licence

MantisTable UI is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).

This licence ensures that:

  • The software remains open source
  • Any modifications must be shared back with the community
  • Network use of the software is considered distribution

For the complete licence text, see the LICENSE file in the repository.

What this means for contributors

  • By contributing to MantisTable UI, you agree that your contributions will be licensed under AGPL-3.0
  • Your contributions will be available to the community under the same open source terms
  • You retain copyright to your contributions while granting the project the right to use them