feat: add initial application structure with configuration, UI components, and state management

This commit is contained in:
Jennie Robinson Faber 2025-08-09 18:13:16 +01:00
parent fadf94002c
commit 0af6b17792
56 changed files with 6137 additions and 129 deletions

View file

@ -0,0 +1,113 @@
{
"cashEvents": [
{
"id": "event-1",
"date": "2024-01-08",
"week": 1,
"type": "Influx",
"amount": 2600,
"sourceRef": "stream-1",
"policyTag": "Revenue",
"description": "Client Services - Project Alpha payment"
},
{
"id": "event-2",
"date": "2024-01-12",
"week": 2,
"type": "Influx",
"amount": 400,
"sourceRef": "stream-2",
"policyTag": "Revenue",
"description": "Platform Sales - December payout"
},
{
"id": "event-3",
"date": "2024-01-15",
"week": 3,
"type": "Outflow",
"amount": 2200,
"sourceRef": "payroll-jan-1",
"policyTag": "Payroll",
"description": "Payroll - First half January"
},
{
"id": "event-4",
"date": "2024-01-22",
"week": 4,
"type": "Influx",
"amount": 4000,
"sourceRef": "stream-1",
"policyTag": "Revenue",
"description": "Client Services - Large project milestone"
},
{
"id": "event-5",
"date": "2024-01-29",
"week": 5,
"type": "Outflow",
"amount": 2200,
"sourceRef": "payroll-jan-2",
"policyTag": "Payroll",
"description": "Payroll - Second half January"
},
{
"id": "event-6",
"date": "2024-02-05",
"week": 6,
"type": "Outflow",
"amount": 1400,
"sourceRef": "overhead-monthly",
"policyTag": "CriticalOps",
"description": "Monthly overhead costs"
},
{
"id": "event-7",
"date": "2024-02-12",
"week": 7,
"type": "Influx",
"amount": 1000,
"sourceRef": "stream-2",
"policyTag": "Revenue",
"description": "Platform Sales - Reduced month"
},
{
"id": "event-8",
"date": "2024-02-19",
"week": 8,
"type": "Outflow",
"amount": 2200,
"sourceRef": "payroll-feb-1",
"policyTag": "Payroll",
"description": "Payroll - First half February"
}
],
"paymentQueue": [
{
"id": "payment-1",
"amount": 500,
"recipient": "Development Kits Supplier",
"scheduledWeek": 9,
"priority": "Vendors",
"canStage": true,
"description": "Hardware purchase for Q1 development"
},
{
"id": "payment-2",
"amount": 1700,
"recipient": "Alex Chen - Deferred Pay",
"scheduledWeek": 10,
"priority": "Payroll",
"canStage": false,
"description": "Deferred wage repayment"
},
{
"id": "payment-3",
"amount": 800,
"recipient": "Tax Authority",
"scheduledWeek": 12,
"priority": "Taxes",
"canStage": false,
"description": "Quarterly tax payment"
}
]
}

View file

@ -0,0 +1,38 @@
{
"overheadCosts": [
{
"id": "overhead-1",
"name": "Coworking Space",
"amount": 800,
"category": "Workspace",
"recurring": true,
"description": "Shared workspace membership for 3 desks"
},
{
"id": "overhead-2",
"name": "Tools & Software",
"amount": 420,
"category": "Technology",
"recurring": true,
"description": "Development tools, design software, project management"
},
{
"id": "overhead-3",
"name": "Business Insurance",
"amount": 180,
"category": "Legal & Compliance",
"recurring": true,
"description": "Professional liability and general business insurance"
}
],
"productionCosts": [
{
"id": "production-1",
"name": "Development Kits",
"amount": 500,
"category": "Hardware",
"period": "2024-01",
"description": "Testing devices and development hardware"
}
]
}

View file

@ -0,0 +1,40 @@
{
"currentBalances": {
"cash": 5000,
"savings": 8000,
"totalLiquid": 13000
},
"policies": {
"equalHourlyWage": 20,
"payrollOncostPct": 25,
"savingsTargetMonths": 3,
"minCashCushionAmount": 3000,
"deferredCapHoursPerQtr": 240,
"deferredSunsetMonths": 12,
"surplusOrder": [
"Deferred",
"Savings",
"Hardship",
"Training",
"Patronage",
"Retained"
],
"paymentPriority": [
"Payroll",
"Taxes",
"CriticalOps",
"Vendors"
],
"volunteerScope": {
"allowedFlows": ["Care", "SharedLearning"]
}
},
"deferredLiabilities": {
"totalDeferred": 2340,
"byMember": {
"member-1": 1700,
"member-2": 0,
"member-3": 640
}
}
}

View file

@ -0,0 +1,52 @@
{
"members": [
{
"id": "member-1",
"displayName": "Alex Chen",
"roleFocus": "Technical Lead",
"payRelationship": "Hybrid",
"capacity": {
"minHours": 20,
"targetHours": 120,
"maxHours": 160
},
"riskBand": "Medium",
"externalCoveragePct": 60,
"privacyNeeds": "aggregate_ok",
"deferredHours": 85,
"quarterlyDeferredCap": 240
},
{
"id": "member-2",
"displayName": "Jordan Silva",
"roleFocus": "Design & UX",
"payRelationship": "FullyPaid",
"capacity": {
"minHours": 30,
"targetHours": 140,
"maxHours": 180
},
"riskBand": "Low",
"externalCoveragePct": 20,
"privacyNeeds": "aggregate_ok",
"deferredHours": 0,
"quarterlyDeferredCap": 240
},
{
"id": "member-3",
"displayName": "Sam Rodriguez",
"roleFocus": "Operations & Growth",
"payRelationship": "Supplemental",
"capacity": {
"minHours": 10,
"targetHours": 60,
"maxHours": 100
},
"riskBand": "High",
"externalCoveragePct": 85,
"privacyNeeds": "steward_only",
"deferredHours": 32,
"quarterlyDeferredCap": 120
}
]
}

View file

@ -0,0 +1,84 @@
{
"revenueStreams": [
{
"id": "stream-1",
"name": "Client Services",
"category": "Services",
"subcategory": "Development",
"targetPct": 65,
"targetMonthlyAmount": 7800,
"certainty": "Committed",
"payoutDelayDays": 30,
"terms": "Net 30",
"revenueSharePct": 0,
"platformFeePct": 0,
"restrictions": "General",
"seasonalityWeights": [1.0, 1.0, 1.1, 1.1, 0.9, 0.8, 0.7, 0.8, 1.1, 1.2, 1.1, 1.0],
"effortHoursPerMonth": 180
},
{
"id": "stream-2",
"name": "Platform Sales",
"category": "Product",
"subcategory": "Digital Tools",
"targetPct": 20,
"targetMonthlyAmount": 2400,
"certainty": "Probable",
"payoutDelayDays": 14,
"terms": "Platform payout",
"revenueSharePct": 0,
"platformFeePct": 5,
"restrictions": "General",
"seasonalityWeights": [0.8, 0.9, 1.0, 1.1, 1.2, 1.1, 1.0, 0.9, 1.1, 1.2, 1.3, 1.1],
"effortHoursPerMonth": 40
},
{
"id": "stream-3",
"name": "Innovation Grant",
"category": "Grant",
"subcategory": "Government",
"targetPct": 10,
"targetMonthlyAmount": 1200,
"certainty": "Committed",
"payoutDelayDays": 45,
"terms": "Quarterly disbursement",
"revenueSharePct": 0,
"platformFeePct": 0,
"restrictions": "Restricted",
"seasonalityWeights": [1.0, 1.0, 1.0, 1.5, 1.0, 1.0, 0.5, 1.0, 1.0, 1.5, 1.0, 1.0],
"effortHoursPerMonth": 8
},
{
"id": "stream-4",
"name": "Community Donations",
"category": "Donation",
"subcategory": "Individual",
"targetPct": 3,
"targetMonthlyAmount": 360,
"certainty": "Aspirational",
"payoutDelayDays": 3,
"terms": "Immediate",
"revenueSharePct": 0,
"platformFeePct": 2.9,
"restrictions": "General",
"seasonalityWeights": [0.8, 0.9, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.1, 1.3, 1.4],
"effortHoursPerMonth": 5
},
{
"id": "stream-5",
"name": "Consulting & Training",
"category": "Other",
"subcategory": "Professional Services",
"targetPct": 2,
"targetMonthlyAmount": 240,
"certainty": "Probable",
"payoutDelayDays": 21,
"terms": "Net 21",
"revenueSharePct": 0,
"platformFeePct": 0,
"restrictions": "General",
"seasonalityWeights": [1.2, 1.1, 1.0, 0.9, 0.8, 0.7, 0.8, 0.9, 1.2, 1.3, 1.2, 1.0],
"effortHoursPerMonth": 12
}
]
}