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:
- Input: Original Estimate (hours), Confidence %, Team Capacity, Desired Confidence
- Calculation: Optimistic (Original × Confidence%), Pessimistic (Original ÷ Confidence%)
- Planning: Cutline positioning, issue selection, total calculations
- 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:
- Authentication: OAuth2 flow with Atlassian
- Configuration: Jira settings and field mapping
- Project Selection: Fetch available projects and sprints
- 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.