development

Introducing RTrack: A Modern Project Management Platform

Date Published

â„šī¸ What This Post Covers

The journey of building RTrack — a Rails 8-based project management platform currently in private beta. We're migrating from a Go backend while adding comprehensive features like issue tracking, time management, and deep git integration.

RTrack: Building a Modern Project Management Platform

RTrack is a comprehensive project management and issue tracking system built on Rails 8. Currently in private beta at https://rtrack.ru, it represents a complete reimplementation of our Go-based backend with enhanced features and modern tooling.

The Architecture

🔧 Backend Stack

  • Rails 8.0 — Modern Rails with Propshaft
  • PostgreSQL — Primary database with JSONB
  • OpenSearch — Full-text search capabilities
  • Redis — Caching and background jobs
  • ActionCable — WebSocket for real-time updates

🎨 Admin Interface

  • ActiveAdmin 4.0 — Modern admin panel
  • Tailwind CSS — Utility-first styling
  • Tiptap — Rich text editor
  • Tom-Select — Enhanced dropdowns

Core Features

Issue Management System

At its heart, RTrack is a powerful issue tracking system with:

Issue Capabilities

  • Rich content editing with Tiptap JSON storage
  • Hierarchical relationships — parent/subtask structure
  • Custom workflows with configurable state transitions
  • Full-text search via OpenSearch integration
  • Advanced filtering by project, assignee, label, milestone
  • Bulk operations for efficient management
  • File attachments with S3/MinIO storage

Time Tracking & Work Management

Built-in time tracking capabilities help teams stay productive:

âąī¸ Time Tracking Features

Work Logging

  • Manual time entry with minute precision
  • Timer functionality (planned)
  • Billable/non-billable categorization
  • Work descriptions and task linking

Analytics

  • Individual productivity metrics
  • Project velocity tracking
  • Calendar views with aggregated data
  • Export to CSV/XLSX

Git Integration

One of RTrack's most powerful features is its deep Git integration:

🔀 Git Service Integration

Sync

Automatic repository synchronization with GitLab and GitHub — webhooks trigger real-time updates when code changes.

Link

Smart branch-to-issue linking — branch names like feature/PROJECT-123-description automatically associate with issues.

Extract

Work time extraction from commit messages — parse time spent directly from commits like #time 2h30m.

Track

Branch divergence tracking — monitor how far branches have diverged from their base branch.

API Architecture

We've built a comprehensive REST API with 20+ controllers covering all features:

📡 API Coverage

Implemented Endpoints:

Core APIs

  • Authentication (JWT with refresh tokens)
  • Issues (CRUD, search, bulk operations)
  • Comments (mentions, reactions)
  • Projects (starring, archiving, tokens)
  • Works (time tracking, statistics)

Advanced APIs

  • Files (upload/download, S3 integration)
  • Documents (hierarchical, Tiptap content)
  • Vacations (approval workflow, balance)
  • Export (JSON, CSV, XLSX formats)
  • Git (sync, webhooks, branches)

Authentication & Authorization

🔐 Security Layer

  • JWT authentication with refresh token rotation
  • Role-based access control via CanCanCan
  • Company-based multi-tenancy — complete data isolation
  • Project-level permissions with granular access control
  • API key support for external integrations

Real-time Features

RTrack keeps teams in sync with real-time updates:

🔴 WebSocket Updates

  • Live issue updates via ActionCable
  • Comment notifications in real-time
  • Project activity streams
  • Multi-channel notifications (email, WebSocket, Telegram)

📊 Activity Tracking

  • Comprehensive event logs
  • Change history with diffs
  • User activity timelines
  • Project health metrics

Admin Panel

The ActiveAdmin-based admin interface provides powerful management capabilities:

âš™ī¸ Admin Capabilities

Admin Resources

  • User management — roles, permissions, company associations
  • Company administration — settings, members, projects
  • Project oversight — issue counts, member management
  • Team coordination — assignments and collaboration
  • Issue tracking — filters, bulk actions, state changes
  • Time oversight — work entries, vacation approvals

Migration Journey

We're migrating from a Go backend while maintaining feature parity:

Phase 1 Complete

Core functionality — auth, users, companies, projects, issues, comments, works, basic CRUD operations.

Phase 2 Complete

Advanced features — full-text search, file management, teams & members, export functionality.

Phase 3 In Progress

Integration features — Git integration, webhooks, external APIs, real-time notifications.

Phase 4 Planned

Analytics & reporting — dashboards, reports, analytics API, advanced search features.

Technical Highlights

Service Objects Pattern

We maintain a clean architecture with service objects for all business logic:

class IssuesFinder < Finders::Base
  def initialize(user, params = {})
    @user = user
    @params = params
    @relation = Issue.accessible_by(@user)
  end

  def call
    with_aggregations
    with_projects_aggregation
    apply_filters
    sort_results
    paginate_results
  end
end

Performance Optimizations

⚡ Performance Features

  • N+1 query prevention with eager loading
  • Database indexes on frequently queried columns
  • Redis caching for expensive operations
  • Smart batching for background jobs
  • Pagination support across all list endpoints

Current Status

🚀 RTrack Today

What's Working:

Completed

  • 20+ REST API controllers
  • JWT authentication system
  • Full-text search via OpenSearch
  • File uploads with S3/MinIO
  • Git integration (GitLab sync)
  • Time tracking and reporting
  • Vacation management system
  • Real-time WebSocket updates

In Progress

  • Advanced analytics dashboards
  • Mobile app support
  • Additional Git providers
  • Workflow automation features
  • Enhanced reporting

Tech Stack Summary

đŸ› ī¸ Complete Stack

Backend: Rails 8.0, Ruby 3.3+, PostgreSQL, Redis, OpenSearch

Frontend: ActiveAdmin 4.0, Tailwind CSS, Tiptap, Tom-Select

Integrations: GitLab, GitHub, Telegram, SMTP, S3/MinIO

Testing: RSpec, Capybara, 1,600+ examples

Infrastructure: Docker, GitLab CI, Sidekiq

What's Next

RTrack is currently in private beta — we're refining the platform based on early user feedback. The migration from our Go backend is nearly complete, with core features fully functional and advanced integrations being polished.

📋 Roadmap Priorities

  1. Analytics dashboards — Visual insights into team productivity
  2. Mobile app — Native iOS/Android applications
  3. Workflow automation — Custom triggers and actions
  4. Advanced search — Filters, saved queries, alerts
  5. Performance optimization — Sub-200ms API response targets

Building RTrack has been a journey of reimagining project management with modern Rails patterns. The platform combines powerful features with clean architecture, proving that Rails 8 is an excellent choice for complex, data-driven applications.

Private beta is ongoing at https://rtrack.ru. If you're interested in trying it out, stay tuned for our public launch announcement.

#rails#project-management#current work#api#gitlab#opensearch#websocket