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