How montassar-isbored/clinconnet-portal works
ClinConNet-Portal connects participants and clinical-study projects through a web portal, with SSI-based sign-in and dynamic consent management. The principal flow is: browse a project, authenticate with a wallet-backed identity, then publish, review, update, or revoke consent proofs; the backend records proof state on Hyperledger Fabric and maintains portal data in MongoDB. The graph includes documented project and consent capabilities, but several route and API implementations were not sampled, so their internal wiring is shown only where supported.
Main entry points: App.js React app and routes · server.js HTTP server · api.js API client · auth.js Auth routes
Components 19
Portal UI
- React app and routes
client/src/App.js - Project discovery
client/src/pages/HomePage.js - Project details
client/src/pages/ProjectDetailPage.js - Consent workspace
client/src/pages/ProfilePage.js - Sign-in page
client/src/pages/LoginPage.js - Client auth state
client/src/context/AuthContext.js - API client
client/src/services/api.js
Portal Backend
- HTTP server
server/server.js - Project routes
server/routes/projects.js - Consent routes
server/routes/consent.js - Project records
server/models/Project.js - MongoDB
server/config/db.js
Identity
- Auth routes
server/routes/auth.js - User records
server/models/User.js - SSI wallet
Consent Ledger
- Fabric gateway
server/fabricService.js - Consent contract
consentcc/lib/consentContract.js - Fabric network
Other components
- Participant
Connections 24
- Participant → React app and routes: uses
- React app and routes → Project discovery: routes
- React app and routes → Project details: routes
- React app and routes → Consent workspace: protects route
- React app and routes → Sign-in page: routes
- Project discovery → API client: requests projects
- Project details → API client: requests details
- Consent workspace → API client: manages consents
- Client auth state → API client: checks session
- Sign-in page → Auth routes: starts sign-in
- Auth routes → SSI wallet: verifies identity
- Auth routes → User records: finds or creates
- API client → HTTP server: sends API requests
- HTTP server → Project routes: dispatches
- HTTP server → Consent routes: dispatches
- HTTP server → Auth routes: dispatches
- HTTP server → MongoDB: connects and seeds
- Project routes → Project records: project data
- Project records → MongoDB: stores records
- User records → MongoDB: stores users
- Consent routes → Fabric gateway: consent operations
- Fabric gateway → Fabric network: submits transactions
- Fabric network → Consent contract: executes
- Consent contract → Fabric network: reads and writes state