PlanPrism - High Level Architecture

Note: This architecture documentation was built with AI assistance and rendered with Mermaid diagrams to provide clear visual representations of the system components and data flows.

System Overview

PlanPrism is a web application designed to help software development teams improve their sprint planning accuracy and transparency. It integrates with Jira and uses a range-based estimation approach (Original Estimate + Confidence %) to provide clearer, more actionable insights than traditional story points alone.


Core Architecture Components

1. System Architecture Overview

The overall system architecture consists of a React frontend, Go backend API, MongoDB database, and integration with external Jira services.

Key Components:

  • Client Layer: React SPA with Chakra UI and TypeScript
  • Backend Layer: Go API Server with Gin Framework, OAuth2 Service, and Jira Client
  • Data Layer: MongoDB with encrypted storage for sessions and configuration
  • External Services: Atlassian Jira Cloud API and OAuth2 Provider

2. Authentication & Security Flow

PlanPrism implements a secure OAuth2 authentication flow with PKCE (Proof Key for Code Exchange) for enhanced security.

Security Features:

  • OAuth2 with PKCE for secure authentication
  • AES-256-GCM encryption for sensitive data storage
  • Session-based authentication with secure cookies
  • CORS protection and request validation

3. Data Flow Architecture

The application follows a clean data flow pattern with clear separation between frontend components, hooks, backend services, and data stores.

Frontend Architecture:

  • Components: Planner View, Config Page, Auth Components
  • Hooks: useJiraData, useSprintCalculator, useAppConfig, usePlannerState
  • State Management: React Context API with custom hooks

4. O-C-O-P Estimation Logic

The core of PlanPrism is the O-C-O-P (Optimistic-Current-Optimistic-Pessimistic) estimation methodology.

Estimation Process:

  1. Input: Original Estimate (hours), Confidence %, Team Capacity, Desired Confidence
  2. Calculation: Optimistic (Original × Confidence%), Pessimistic (Original ÷ Confidence%)
  3. Planning: Cutline positioning, issue selection, total calculations
  4. Visualization: Issue cards, sprint summary, drag & drop interface

5. Deployment Architecture

PlanPrism is designed for production deployment on Oracle Cloud with containerized services.

Production Infrastructure:

  • Frontend: Oracle Object Storage with Nginx reverse proxy
  • Backend: Ubuntu VM running Go container on port 3001
  • Database: Private VM with MongoDB container on port 27017
  • Infrastructure: Terraform IaC with Let’s Encrypt SSL

6. Component Interaction Flow

The complete user interaction flow from authentication to sprint planning.

User Journey:

  1. Authentication: OAuth2 flow with Atlassian
  2. Configuration: Jira settings and field mapping
  3. Project Selection: Fetch available projects and sprints
  4. Planning: Issue loading, estimation, and sprint organization

Key Architectural Patterns

1. Security-First Design

  • OAuth2 with PKCE for secure authentication
  • AES-256-GCM encryption for sensitive data
  • Session-based authentication with secure cookies
  • CORS protection and request validation

2. Microservices Architecture

  • Separate frontend (React) and backend (Go) services
  • Containerized deployment with Docker
  • Independent scaling and deployment

3. State Management

  • React Context API for global state
  • Custom hooks for domain-specific logic
  • Backend persistence for user preferences
  • Real-time synchronization between components

4. Data Flow

  • Unidirectional data flow in React components
  • Centralized API communication layer
  • Encrypted data storage in MongoDB
  • Caching and optimization strategies

5. Deployment Strategy

  • Infrastructure as Code with Terraform
  • Container orchestration with Docker Compose
  • SSL/TLS encryption with Let’s Encrypt
  • Health checks and monitoring

Technology Stack

Frontend

  • Framework: React 18+ with TypeScript
  • Build Tool: Vite
  • UI Library: Chakra UI
  • State Management: React Context API + Custom Hooks
  • Drag & Drop: dnd-kit
  • HTTP Client: Axios
  • Routing: React Router DOM

Backend

  • Language: Go 1.21+
  • Framework: Gin Web Framework
  • Database: MongoDB
  • Authentication: OAuth2 with PKCE
  • Encryption: AES-256-GCM
  • Testing: Go testing with gotestsum

Infrastructure

  • Containerization: Docker
  • Orchestration: Docker Compose
  • Cloud Provider: Oracle Cloud (Free Tier)
  • Infrastructure as Code: Terraform
  • Reverse Proxy: Nginx
  • SSL: Let’s Encrypt

External Integrations

  • Jira: Atlassian Cloud API
  • OAuth: Atlassian OAuth2 Provider
  • Storage: Oracle Object Storage

This architecture provides a robust, scalable, and secure foundation for the PlanPrism sprint planning application, with clear separation of concerns and modern development practices.

For more details, see the Confidence Method or Setup Guide.