How arunyogi123/givehope works
GiveHope is a fundraising platform: visitors discover campaigns, donors contribute once or on a recurring schedule, and users manage accounts and donation records. The React frontend routes these journeys and calls a Django REST backend; backend models persist campaign, donation, account, and billing state. A Celery task handles recurring donations. The README is empty, so capability coverage comes from the source tree and index; several frontend pages and payment implementation details were not sampled, and their connections are not asserted here.
Main entry points: App.tsx Application shell · donations/models.py Donations and plans · receipts/models.py Billing records · views.py Donation endpoints
Components 22
Web experience
- Application shell
frontend/src/App.tsx - Client router
frontend/src/router/index.tsx - Campaign discovery
frontend/src/pages - Campaign detail
frontend/src/pages/CampaignDetailPage.tsx - Donation journeys
frontend/src/pages/DonatePage.tsx - Campaign search
frontend/src/pages/SearchPage.tsx - Donation and receipt pages
frontend/src/pages
Accounts
- Authentication state
frontend/src/context/AuthContext.tsx - Token and profile storage
frontend/src/lib/auth.ts - Account API client
frontend/src/services/account.ts - Account endpoints
backend/account/api/v1/views.py - Users and profiles
backend/account/models.py
Campaigns and giving
- Campaign API client
frontend/src/services/campaigns.ts - Campaign endpoints
backend/campaign/api/v1/views.py - Campaigns and documents
backend/campaign/models.py - Donation endpoints
backend/donations/api/v1/views.py - Donations and plans
backend/donations/models.py
Donation operations
- Payment endpoints
backend/payments/api/v1/views.py - Billing records
backend/receipts/models.py - Recurring processor
backend/donations/tasks.py - Receipt endpoints
backend/receipts/api/v1/views.py
Other components
- Visitor or donor
Connections 26
- Visitor or donor → Application shell: opens
frontend/src/App.tsx - Application shell → Client router: uses
frontend/src/App.tsx - Application shell → Authentication state: wraps
frontend/src/App.tsx - Application shell → Campaign discovery: routes to
frontend/src/App.tsx - Application shell → Campaign detail: routes to
frontend/src/App.tsx - Application shell → Donation journeys: routes to
frontend/src/App.tsx - Application shell → Campaign search: routes to
frontend/src/App.tsx - Application shell → Donation and receipt pages: routes to
frontend/src/App.tsx - Campaign search → Campaign API client: loads campaigns
frontend/src/pages/SearchPage.tsx - Campaign search → Campaign discovery: renders results
frontend/src/pages/SearchPage.tsx - Authentication state → Token and profile storage: reads tokens
frontend/src/context/AuthContext.tsx - Authentication state → Account API client: requests profile
frontend/src/context/AuthContext.tsx - Account API client → Token and profile storage: stores credentials
frontend/src/services/account.ts - Account endpoints → Users and profiles: accesses
backend/account/api/v1/views.py - Campaign endpoints → Campaigns and documents: accesses
backend/campaign/api/v1/views.py - Campaign endpoints → Users and profiles: checks creator
backend/campaign/api/v1/views.py - Donation endpoints → Donations and plans: manages
backend/donations/api/v1/views.py - Donation endpoints → Billing records: creates billing
backend/donations/api/v1/views.py - Donation endpoints → Users and profiles: uses donor
backend/donations/api/v1/views.py - Donations and plans → Campaigns and documents: updates raised total
backend/donations/models.py - Payment endpoints → Campaigns and documents: reads campaign
backend/payments/api/v1/views.py - Payment endpoints → Donations and plans: handles donation
backend/payments/api/v1/views.py - Payment endpoints → Billing records: records billing
backend/payments/api/v1/views.py - Recurring processor → Donations and plans: creates donation
backend/donations/tasks.py - Recurring processor → Billing records: creates billing
backend/donations/tasks.py - Receipt endpoints → Billing records: serves receipts