Skip to content

feat: Build Treasury Dashboard#54

Open
cyphercodes wants to merge 155 commits into
bakeronchain:mainfrom
cyphercodes:feature/treasury-dashboard
Open

feat: Build Treasury Dashboard#54
cyphercodes wants to merge 155 commits into
bakeronchain:mainfrom
cyphercodes:feature/treasury-dashboard

Conversation

@cyphercodes
Copy link
Copy Markdown

This PR implements the Treasury Dashboard as requested in issue #50.

Features Added:

  • Summary Stats: Real-time metrics for total treasury, disbursements, scholars funded, and donors.
  • Recent Donations Feed: A live-style feed showing latest donor contributions.
  • Treasury Health Section: Visual area for inflow/outflow analysis.
  • Navigation Integration: Added Treasury to the main header and improved site branding.

All components use the existing Stellar Design System for visual consistency.

danielbg14 and others added 30 commits March 22, 2026 23:30
feat: Build Milestone Progress component with on-chain sync
…scrow

feat: add MilestoneEscrow contract for milestone-based scholarship disbursements
…-treasury-and-milestone-escrow

feat: add ScholarshipTreasury and MilestoneEscrow contracts for governed scholarship disbursement
…hook

feat: implement useCourse hook for CourseMilestone integration
feat: implement persistent theme toggle and zero-FOUC architecture
…bar-active-route

bakeronchain#46 Add navigation header and sidebar with active route highlighting
# Conflicts:
#	src/App.tsx
#	src/components/MilestoneTracker.tsx
#	src/components/WalletButton.tsx
#	src/main.tsx
MooreTheAnalyst and others added 19 commits March 24, 2026 18:39
- Add migration 003_course_content_schema.sql defining courses, lessons,
  milestones, quizzes, and quiz_questions tables with created_at/updated_at
  timestamps and set_updated_at() trigger function
- Add schema_migrations tracking table via migrate.ts runner so each SQL
  file is applied exactly once (idempotent re-runs)
- Add seed.sql with 2 sample courses (intro-to-stellar, soroban-smart-contracts),
  3 lessons each, milestones with on-chain IDs and LRN amounts, quizzes with
  passing scores, and quiz questions with JSONB options and explanations
- Add npm run db:migrate (scripts/migrate.ts) and npm run db:seed (scripts/seed.ts)
- Expose DATABASE_URL in server/.env.example
- All tables use node-postgres (pg) Pool; ON CONFLICT guards make seed idempotent

Closes #<issue>
Adds quiz.json for Track 1 covering Soroban/Rust, LRN, finality,
SEP-41, and Friendbot. Part of issue bakeronchain#48.

Made-with: Cursor
- Add usdc_test_token for local development environment
- Add usdc_testnet for staging/testnet environment
- Add usdc_mainnet with official Circle USDC contract address
- Document mainnet USDC contract: CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75

Addresses bakeronchain#49
- Add PUBLIC_USDC_CONTRACT_ID environment variable
- Document usage for testnet and mainnet USDC contract addresses

Addresses bakeronchain#49
- Create bash script to mint test USDC tokens to any address
- Support custom amounts (default: 1000 USDC)
- Include environment detection (development/staging)
- Add colored output and error handling
- Make script executable

Usage: ./scripts/mint-test-usdc.sh <address> [amount]

Addresses bakeronchain#49
- Add getUSDCContractId() to retrieve contract ID from env
- Add mintTestUSDC() function for minting test tokens
- Add getUSDCBalance() function for balance checking
- Include error handling and validation
- Add TODO comments for full implementation with contract clients

Addresses bakeronchain#49
- Create reusable button component for getting test USDC
- Follow existing FundAccountButton pattern
- Include loading states and tooltips
- Support custom amounts (default: 1000 USDC)
- Integrate with notification system
- Use @stellar/design-system components

Addresses bakeronchain#49
- Add English translations for USDC operations
- Add French translations (Obtenir USDC de Test)
- Add Swahili translations (Pata USDC ya Majaribio)
- Include success/error messages and tooltips

Addresses bakeronchain#49
- Document USDC contract addresses (mainnet, testnet, local)
- Explain configuration in environments.toml and .env
- Provide CLI script usage examples
- Document ScholarshipTreasury integration
- Include development workflow and deployment steps
- Add troubleshooting section and security considerations

Addresses bakeronchain#49
…ror-boundaries

feat: implement global error handling and boundaries
…-build-onboarding-flow

A first-time user landing on LearnVault
…content-schema

feat: course content relational schema, migration runner, and seed data
…tnet-integration

feat: Implement USDC integration on Stellar Testnet
…r-basics-milestone-quiz

Add Stellar Basics milestone quiz (5 questions)
feat: Add activity feed component and hook, integrating it into the profile page.
@Anuoluwapo25
Copy link
Copy Markdown
Contributor

@cyphercodes kindly fix pipeline

@cyphercodes
Copy link
Copy Markdown
Author

Fixed the pipeline issues:

  1. Home.tsx: Added missing import from
  2. App.tsx: Added missing imports for , , , , and

The build should now pass. Please re-run the CI checks.

@cyphercodes
Copy link
Copy Markdown
Author

Updated this PR with a package-lock-only fix for the frontend install failure.

Verification on the PR branch (feature/treasury-dashboard, commit a297ea1b85ae13ec9046078b954768148521cb8b):

  • node --versionv22.22.2
  • npm --version10.9.7
  • npm ci

The lockfile is now in sync with package.json for the missing entries reported by npm ci (for example utf-8-validate, strip-ansi, wrap-ansi, etc.).

Note: GitHub currently still reports this PR as DIRTY / CONFLICTING; this commit only addresses the lockfile/install issue.

@cyphercodes
Copy link
Copy Markdown
Author

Updated this PR to address the frontend pipeline failures I could reproduce on the PR branch.

Changes pushed in 4ea9f59e174d7d0faa161053527ab01f0374412d:

  • Fixed the Home.tsx JSX/useTranslation parse issue.
  • Adjusted MilestoneTracker to match the current @stellar/design-system Card/Badge prop types.
  • Updated the Stellar SDK RPC import in src/util/usdc.ts.
  • Ignored server/scripts/**/*.ts from the frontend ESLint pass because those scripts are outside server/tsconfig.json and were causing typed-lint parser errors.
  • Ran Prettier over src/ to satisfy the workflow's npx prettier --check src/ step.

Local verification on Node v22.22.2 / npm 10.9.7:

  • CI=true npm ci
  • CI=true npm run lint ✅ (warnings only)
  • CI=true npx prettier --check src/
  • CI=true npx tsc --noEmit
  • CI=true npm run build

GitHub currently still reports this PR as DIRTY / CONFLICTING, and there are no checks or Actions runs reported for the latest head SHA yet.

@Anuoluwapo25
Copy link
Copy Markdown
Contributor

kindly resolve conflicts

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.