Skip to main content
Entirius
AI platform for e-commerce
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

ADR-015: Redmine for Project Management and Issue Tracking

Status

Status: Accepted
Date: 2025-09-06
Authors: Development Team
Reviewers: Architecture Team

Decision

Redmine is adopted as the comprehensive project management and issue tracking platform for Entirius. This open-source solution provides advanced project management features, built-in documentation capabilities, and seamless integration with development workflows.

Quick Reference

Essential Redmine Features

  • Issues: Bug tracking, feature requests, task management with custom workflows
  • Projects: Multi-project organization with Gantt charts and milestone tracking
  • Time Tracking: Log time spent on issues with detailed reporting
  • Wiki: Built-in documentation system with version control
  • Repository Integration: Git/SVN integration with code browsing
  • Custom Fields: Extensible issue and project metadata
  • Roles & Permissions: Granular access control for team collaboration

Common Administrative Tasks

# Backup Redmine data
mysqldump redmine > backup.sql
tar -czf files_backup.tar.gz files/

# Plugin installation
cd /usr/src/redmine/plugins
git clone plugin-repository
bundle install --without development test

Project Workflow Setup

  1. Create project with appropriate modules (Issues, Time tracking, Wiki, Repository)
  2. Configure issue categories and custom fields
  3. Set up user roles and permissions
  4. Integrate with GitHub repository
  5. Configure email notifications
  6. Set up project milestones and versions

Context

The Entirius project requires a comprehensive solution for project management and issue tracking that supports:

  • Bug tracking and resolution workflows
  • Feature request management
  • Project planning and milestone tracking
  • Time tracking for development activities
  • Documentation of technical discussions and decisions
  • Integration with version control systems
  • Multi-project organization for modular monolith architecture
  • Team collaboration and communication

Currently, project management activities are dispersed across multiple tools and platforms, leading to:

  • Fragmented information and lack of centralized visibility
  • Difficulty in tracking project progress and milestones
  • Inconsistent issue reporting and resolution processes
  • Limited historical data for project analytics
  • Poor integration between development and project management workflows

We need a unified platform that provides comprehensive project management capabilities while integrating well with our development workflow.

Considered Options

Option 1: Continue with GitHub Issues

  • Description: Use GitHub Issues as the primary project management and issue tracking solution
  • Pros:
    • Tight integration with code repository
    • No additional infrastructure required
    • Simple and lightweight
    • Good for code-related issues
  • Cons:
    • Limited project management features (no Gantt charts, time tracking)
    • Poor support for complex workflows
    • Limited customization options
    • No built-in wiki or documentation features
    • Weak reporting and analytics capabilities
  • Impact on system: No changes required to current setup

Option 2: Jira with Atlassian Suite

  • Description: Use Jira for issue tracking with Confluence for documentation
  • Pros:
    • Comprehensive project management features
    • Strong workflow customization
    • Excellent reporting and analytics
    • Large ecosystem of plugins
  • Cons:
    • High licensing costs
    • Complex setup and configuration
    • Resource-intensive
    • Vendor lock-in to Atlassian ecosystem
    • May be overkill for smaller teams
  • Impact on system: Requires significant infrastructure investment and ongoing costs

Option 3: Redmine Project Management

  • Description: Use Redmine as an open-source project management and issue tracking platform
  • Pros:
    • Open-source with no licensing costs
    • Comprehensive project management features
    • Built-in wiki and document management
    • Time tracking and reporting capabilities
    • Multiple project support
    • Customizable workflows and fields
    • SCM integration (Git, SVN)
    • REST API for integrations
    • Active community and plugin ecosystem
  • Cons:
    • Requires infrastructure setup and maintenance
    • User interface may feel dated compared to modern alternatives
    • Requires Ruby on Rails knowledge for customization
  • Impact on system: Adds new infrastructure component but provides comprehensive project management

Option 4: GitLab Issues with Project Management

  • Description: Migrate to GitLab for combined code hosting and project management
  • Pros:
    • Integrated development and project management platform
    • Good project management features
    • Built-in CI/CD capabilities
  • Cons:
    • Would require migration from GitHub
    • Vendor lock-in to GitLab platform
    • Limited customization compared to dedicated tools
    • May conflict with ADR-005 (GitHub as Code Repository)
  • Impact on system: Major migration effort required

Rationale

Chosen option: Redmine Project Management

Key decision factors:

  • Comprehensive functionality: Complete project management suite with Gantt charts, time tracking, milestone management, and built-in documentation
  • Cost effectiveness: Open-source solution eliminates recurring licensing costs while providing enterprise-grade features
  • Multi-project support: Excellent fit with modular monolith architecture requiring coordination across multiple repositories and components
  • Integration capabilities: Git integration, REST API, and plugin ecosystem support seamless development workflow integration
  • Risk analysis: Low technical risk with mature, stable platform and active community support
  • Business impact: Professional project management capabilities improve team coordination and project delivery
  • Compatibility: Self-hosted solution maintains data control while integrating with existing GitHub-based development workflow
  • ADR-005: Redmine will integrate with GitHub repositories for issue tracking
  • ADR-001: Redmine multi-project support aligns with modular architecture
  • ADR-004: Open-source Redmine aligns with our open-source approach

References