Skip to content

[Feature] Reward Goal System #8

@miniLV

Description

@miniLV

Overview

Gamification feature that allows users to set reward goals (e.g., save for iPhone, vacation) to motivate work.

User Story

As a worker who lacks motivation, I want to set reward goals, so that I have something to look forward to while working.

Acceptance Criteria

  • Create reward goals with name and target amount
  • Display progress bar for each goal
  • Show completion percentage
  • Multiple simultaneous goals support
  • Celebration animation when goal is achieved
  • Reward history tracking (optional)

Data Model

struct Reward: Identifiable, Codable {
    let id: UUID
    var title: String
    var description: String
    var targetAmount: Double
    var currentProgress: Double
    var category: RewardCategory
    var isAchieved: Bool
    var achievedAt: Date?
}

enum RewardCategory: String, CaseIterable {
    case food = "🍵"
    case entertainment = "🎮"
    case shopping = "🛍️"
    case travel = "✈️"
    case savings = "💰"
}

UI Components

  • Reward card in dashboard
  • Progress ring/bar visualization
  • Goal creation/edit form
  • Category picker

Related Files

  • Models/Models.swift (Reward, RewardCategory)
  • Views/Dashboard/CyberpunkDashboardView.swift
  • Components/ValueStreamComponents.swift

Priority: P2
Status: 🔄 Partially Completed (basic display done, celebration pending)

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions