# thisisbigmike/oneraise architecture

> Architecture diagram of the GitHub repository thisisbigmike/oneraise, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/thisisbigmike/oneraise
- Repository: https://github.com/thisisbigmike/oneraise

## Overview

OneRaise is a crowdfunding platform for creating and discovering campaigns, collecting fiat or Solana donations, and tracking impact. Its Protect workflow holds campaign funds until milestones are verified, then supports release or refund and creator payouts. The README documents private Cloak donations and campaign-led compliance scanning, plus admin oversight, reporting, and community campaigns. Source excerpts confirm campaign, Jupiter, admin Protect, and payout behavior; other capability links below rely on the README and route tree, so uncertain internal wiring is omitted.

Main entry points: [`src/lib/prisma.ts`](https://github.com/thisisbigmike/oneraise/blob/main/src/lib/prisma.ts) (Application database), [`src/app/backer/donate/[campaignId]/page.tsx`](https://github.com/thisisbigmike/oneraise/blob/main/src/app/backer/donate/%5BcampaignId%5D/page.tsx) (Donation experience), [`src/app/api/jupiter/swap/route.ts`](https://github.com/thisisbigmike/oneraise/blob/main/src/app/api/jupiter/swap/route.ts) (Solana donation), [`src/app/api/admin/protect/route.ts`](https://github.com/thisisbigmike/oneraise/blob/main/src/app/api/admin/protect/route.ts) (Milestone approvals)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_campaigns["Campaigns and discovery"]
  node_campaign_ui["Campaign discovery<br/>[page.tsx]"]
  node_campaign_api["Campaign management<br/>[route.ts]"]
  node_campaign_detail["Campaign details<br/>[route.ts]"]
  node_recommendations["Recommendations"]
  node_campaign_store["Campaign data<br/>[campaigns-data.ts]"]
end

subgraph group_funding["Donations and payments"]
  node_donate_ui["Donation experience<br/>[page.tsx]"]
  node_jupiter_swap["Solana donation<br/>[route.ts]"]
  node_fiat_payments["Fiat payment routes<br/>[route.ts]"]
  node_cloak_donation["Private donations<br/>[route.ts]"]
  node_cloak_scan["Compliance scanning<br/>[route.ts]"]
  node_payment_services["Payment integrations<br/>[payments.ts]"]
end

subgraph group_protect["Protect and payouts"]
  node_protect_api["Milestone approvals<br/>[route.ts]"]
  node_lifecycle["Campaign lifecycle"]
  node_refunds["Refund handling<br/>[refunds.ts]"]
  node_payout_api["Creator payouts<br/>[route.ts]"]
  node_payout_methods["Payout methods<br/>[route.ts]"]
end

subgraph group_identity["Identity and backers"]
  node_auth_api["Authentication<br/>[auth.ts]"]
  node_verification["Account verification<br/>[route.ts]"]
  node_backer_records["Backer records<br/>[backers.ts]"]
  node_notifications["Notifications<br/>[notifications.ts]"]
end

subgraph group_operations["Platform operations"]
  node_admin_stats["Admin reporting<br/>[route.ts]"]
  node_admin_exports["Data exports<br/>[route.ts]"]
  node_database[("Application database<br/>[prisma.ts]")]
end

node_backer(("Backer"))
node_creator(("Creator"))
node_admin(("Administrator"))
node_solana{{"Solana network"}}
node_fiat_provider{{"Fiat payment providers"}}
node_cloak_sdk{{"Cloak SDK"}}

node_backer -->|"browses"| node_campaign_ui
node_campaign_ui -->|"requests campaigns"| node_campaign_api
node_creator -->|"creates campaign"| node_campaign_api
node_campaign_api -->|"loads lists"| node_campaign_store
node_campaign_api -->|"reads and writes"| node_database
node_campaign_ui -.->|"gets suggestions"| node_recommendations
node_backer -->|"selects campaign"| node_donate_ui
node_donate_ui -->|"submits donation"| node_jupiter_swap
node_donate_ui -.->|"submits payment"| node_fiat_payments
node_donate_ui -.->|"donates privately"| node_cloak_donation
node_jupiter_swap -->|"checks eligibility"| node_lifecycle
node_jupiter_swap -->|"records donation"| node_database
node_jupiter_swap -->|"builds transaction"| node_solana
node_fiat_payments -->|"initiates payment"| node_payment_services
node_payment_services -->|"calls provider"| node_fiat_provider
node_cloak_donation -->|"shields funds"| node_cloak_sdk
node_cloak_donation -->|"stores donation key"| node_database
node_creator -->|"scans campaign"| node_cloak_scan
node_cloak_scan -->|"scans transactions"| node_cloak_sdk
node_cloak_scan -->|"stores reports"| node_database
node_admin -->|"reviews milestones"| node_protect_api
node_protect_api -->|"updates milestones"| node_database
node_protect_api -->|"requests refunds"| node_refunds
node_protect_api -->|"notifies backers"| node_notifications
node_creator -->|"sets destination"| node_payout_methods
node_payout_methods -->|"creates recipient"| node_payment_services
node_payout_methods -->|"stores method"| node_database
node_creator -->|"requests payout"| node_payout_api
node_payout_api -->|"quotes or pays"| node_payment_services
node_payout_api -->|"records payout"| node_database
node_backer -->|"authenticates"| node_auth_api
node_auth_api -->|"reads identity"| node_database
node_creator -->|"submits documents"| node_verification
node_verification -->|"stores status"| node_database
node_admin -->|"views metrics"| node_admin_stats
node_admin_stats -->|"queries platform data"| node_database
node_admin -->|"exports records"| node_admin_exports
node_admin_exports -->|"queries records"| node_database
node_admin_stats -->|"counts backers"| node_backer_records

click node_campaign_ui "https://github.com/thisisbigmike/oneraise/blob/main/src/app/explore/page.tsx"
click node_campaign_api "https://github.com/thisisbigmike/oneraise/blob/main/src/app/api/campaigns/route.ts"
click node_campaign_detail "https://github.com/thisisbigmike/oneraise/blob/main/src/app/api/campaigns/%5Bslug%5D/route.ts"
click node_recommendations "https://github.com/thisisbigmike/oneraise/blob/main/src/lib/campaign-recommendations.ts"
click node_campaign_store "https://github.com/thisisbigmike/oneraise/blob/main/src/lib/campaigns-data.ts"
click node_donate_ui "https://github.com/thisisbigmike/oneraise/blob/main/src/app/backer/donate/%5BcampaignId%5D/page.tsx"
click node_jupiter_swap "https://github.com/thisisbigmike/oneraise/blob/main/src/app/api/jupiter/swap/route.ts"
click node_fiat_payments "https://github.com/thisisbigmike/oneraise/blob/main/src/app/api/busha/pay/route.ts"
click node_cloak_donation "https://github.com/thisisbigmike/oneraise/blob/main/src/app/api/cloak/donate/route.ts"
click node_cloak_scan "https://github.com/thisisbigmike/oneraise/blob/main/src/app/api/cloak/scan/route.ts"
click node_payment_services "https://github.com/thisisbigmike/oneraise/blob/main/src/lib/payments.ts"
click node_protect_api "https://github.com/thisisbigmike/oneraise/blob/main/src/app/api/admin/protect/route.ts"
click node_lifecycle "https://github.com/thisisbigmike/oneraise/blob/main/src/lib/campaign-lifecycle.ts"
click node_refunds "https://github.com/thisisbigmike/oneraise/blob/main/src/lib/refunds.ts"
click node_payout_api "https://github.com/thisisbigmike/oneraise/blob/main/src/app/api/payouts/route.ts"
click node_payout_methods "https://github.com/thisisbigmike/oneraise/blob/main/src/app/api/payout-methods/route.ts"
click node_auth_api "https://github.com/thisisbigmike/oneraise/blob/main/src/lib/auth.ts"
click node_verification "https://github.com/thisisbigmike/oneraise/blob/main/src/app/api/verification/route.ts"
click node_backer_records "https://github.com/thisisbigmike/oneraise/blob/main/src/lib/backers.ts"
click node_notifications "https://github.com/thisisbigmike/oneraise/blob/main/src/lib/notifications.ts"
click node_admin_stats "https://github.com/thisisbigmike/oneraise/blob/main/src/app/api/admin/stats/route.ts"
click node_admin_exports "https://github.com/thisisbigmike/oneraise/blob/main/src/app/api/admin/exports/route.ts"
click node_database "https://github.com/thisisbigmike/oneraise/blob/main/src/lib/prisma.ts"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_campaign_ui,node_campaign_api,node_campaign_detail,node_recommendations,node_campaign_store toneBlue
class node_donate_ui,node_jupiter_swap,node_fiat_payments,node_cloak_donation,node_cloak_scan,node_payment_services toneAmber
class node_protect_api,node_lifecycle,node_refunds,node_payout_api,node_payout_methods toneMint
class node_auth_api,node_verification,node_backer_records,node_notifications toneRose
class node_admin_stats,node_admin_exports,node_database,node_backer,node_creator,node_admin,node_solana,node_fiat_provider,node_cloak_sdk toneIndigo
```

## Components

### Campaigns and discovery

- [Campaign discovery](https://github.com/thisisbigmike/oneraise/blob/main/src/app/explore/page.tsx): `src/app/explore/page.tsx`
- [Campaign management](https://github.com/thisisbigmike/oneraise/blob/main/src/app/api/campaigns/route.ts): `src/app/api/campaigns/route.ts`
- [Campaign details](https://github.com/thisisbigmike/oneraise/blob/main/src/app/api/campaigns/%5Bslug%5D/route.ts): `src/app/api/campaigns/[slug]/route.ts`
- [Recommendations](https://github.com/thisisbigmike/oneraise/blob/main/src/lib/campaign-recommendations.ts): `src/lib/campaign-recommendations.ts`
- [Campaign data](https://github.com/thisisbigmike/oneraise/blob/main/src/lib/campaigns-data.ts): `src/lib/campaigns-data.ts`

### Donations and payments

- [Donation experience](https://github.com/thisisbigmike/oneraise/blob/main/src/app/backer/donate/%5BcampaignId%5D/page.tsx): `src/app/backer/donate/[campaignId]/page.tsx`
- [Solana donation](https://github.com/thisisbigmike/oneraise/blob/main/src/app/api/jupiter/swap/route.ts): `src/app/api/jupiter/swap/route.ts`
- [Fiat payment routes](https://github.com/thisisbigmike/oneraise/blob/main/src/app/api/busha/pay/route.ts): `src/app/api/busha/pay/route.ts`
- [Private donations](https://github.com/thisisbigmike/oneraise/blob/main/src/app/api/cloak/donate/route.ts): `src/app/api/cloak/donate/route.ts`
- [Compliance scanning](https://github.com/thisisbigmike/oneraise/blob/main/src/app/api/cloak/scan/route.ts): `src/app/api/cloak/scan/route.ts`
- [Payment integrations](https://github.com/thisisbigmike/oneraise/blob/main/src/lib/payments.ts): `src/lib/payments.ts`

### Protect and payouts

- [Milestone approvals](https://github.com/thisisbigmike/oneraise/blob/main/src/app/api/admin/protect/route.ts): `src/app/api/admin/protect/route.ts`
- [Campaign lifecycle](https://github.com/thisisbigmike/oneraise/blob/main/src/lib/campaign-lifecycle.ts): `src/lib/campaign-lifecycle.ts`
- [Refund handling](https://github.com/thisisbigmike/oneraise/blob/main/src/lib/refunds.ts): `src/lib/refunds.ts`
- [Creator payouts](https://github.com/thisisbigmike/oneraise/blob/main/src/app/api/payouts/route.ts): `src/app/api/payouts/route.ts`
- [Payout methods](https://github.com/thisisbigmike/oneraise/blob/main/src/app/api/payout-methods/route.ts): `src/app/api/payout-methods/route.ts`

### Identity and backers

- [Authentication](https://github.com/thisisbigmike/oneraise/blob/main/src/lib/auth.ts): `src/lib/auth.ts`
- [Account verification](https://github.com/thisisbigmike/oneraise/blob/main/src/app/api/verification/route.ts): `src/app/api/verification/route.ts`
- [Backer records](https://github.com/thisisbigmike/oneraise/blob/main/src/lib/backers.ts): `src/lib/backers.ts`
- [Notifications](https://github.com/thisisbigmike/oneraise/blob/main/src/lib/notifications.ts): `src/lib/notifications.ts`

### Platform operations

- [Admin reporting](https://github.com/thisisbigmike/oneraise/blob/main/src/app/api/admin/stats/route.ts): `src/app/api/admin/stats/route.ts`
- [Data exports](https://github.com/thisisbigmike/oneraise/blob/main/src/app/api/admin/exports/route.ts): `src/app/api/admin/exports/route.ts`
- [Application database](https://github.com/thisisbigmike/oneraise/blob/main/src/lib/prisma.ts): `src/lib/prisma.ts`

### Other components

- **Backer**
- **Creator**
- **Administrator**
- **Solana network**
- **Fiat payment providers**
- **Cloak SDK**

## Connections

- Backer → Campaign discovery: browses
- Campaign discovery → Campaign management: requests campaigns
- Creator → Campaign management: creates campaign
- Campaign management → Campaign data: loads lists
- Campaign management → Application database: reads and writes
- Campaign discovery → Recommendations: gets suggestions
- Backer → Donation experience: selects campaign
- Donation experience → Solana donation: submits donation
- Donation experience → Fiat payment routes: submits payment
- Donation experience → Private donations: donates privately
- Solana donation → Campaign lifecycle: checks eligibility
- Solana donation → Application database: records donation
- Solana donation → Solana network: builds transaction
- Fiat payment routes → Payment integrations: initiates payment
- Payment integrations → Fiat payment providers: calls provider
- Private donations → Cloak SDK: shields funds
- Private donations → Application database: stores donation key
- Creator → Compliance scanning: scans campaign
- Compliance scanning → Cloak SDK: scans transactions
- Compliance scanning → Application database: stores reports
- Administrator → Milestone approvals: reviews milestones
- Milestone approvals → Application database: updates milestones
- Milestone approvals → Refund handling: requests refunds
- Milestone approvals → Notifications: notifies backers
- Creator → Payout methods: sets destination
- Payout methods → Payment integrations: creates recipient
- Payout methods → Application database: stores method
- Creator → Creator payouts: requests payout
- Creator payouts → Payment integrations: quotes or pays
- Creator payouts → Application database: records payout
- Backer → Authentication: authenticates
- Authentication → Application database: reads identity
- Creator → Account verification: submits documents
- Account verification → Application database: stores status
- Administrator → Admin reporting: views metrics
- Admin reporting → Application database: queries platform data
- Administrator → Data exports: exports records
- Data exports → Application database: queries records
- Admin reporting → Backer records: counts backers
