How azizr96/studyflow works
StudyFlow is a Django clinical-trial site management system. Site staff authenticate, receive role- and study-scoped access, then enter either a dashboard or study workspace to manage studies, fictional participants, visits, documents, assignments, and notifications. The graph separates access control, study operations, participant operations, and supporting workspace services. The tree and excerpts establish the main integrations and several call relationships; unsampled views and models are represented only where README capabilities or tests substantiate them.
Components 18
Access Control
- Account Views
accounts/views.py - Account Models
accounts/models.py - Account Signals
accounts/signals.py - Registration Forms
accounts/forms.py
Study Operations
- Study Views
studies/views.py - Study Models
studies/models.py - Study Forms
studies/forms.py
Participant Operations
- Participant Views
participants/views.py - Participant Models
participants/models.py - Participant Forms
participants/forms.py
Workspace Services
- URL Router
studyflow/urls.py - Notification Views
notifications/views.py - Notification Utilities
notifications/utils.py - Notification Models
notifications/models.py - Dashboard Views
dashboard/views.py
External Systems
- PostgreSQL
- Cloudinary
Other components
- Site Staff
Connections 29
- Site Staff → URL Router: opens app
- URL Router → Account Views: dispatches auth
- URL Router → Dashboard Views: dispatches dashboard
- URL Router → Study Views: dispatches studies
- URL Router → Participant Views: dispatches participants
- URL Router → Notification Views: dispatches notifications
- Account Views → Registration Forms: validates registration
- Account Views → Account Models: authenticates users
- Account Views → Study Models: manages assignments
- Account Views → Notification Utilities: creates assignment notice
- Account Signals → Account Models: initializes profiles
- Study Views → Study Forms: validates studies
- Study Views → Study Models: manages studies
- Study Views → Cloudinary: uploads documents
- Participant Views → Participant Forms: validates records
- Participant Views → Participant Models: manages participants
- Participant Views → Study Models: checks study access
- Participant Views → Notification Utilities: notifies study users
- Notification Utilities → Account Models: finds assignees
- Notification Utilities → Notification Models: creates notifications
- Notification Views → Notification Models: updates notifications
- Dashboard Views → Account Models: checks user scope
- Dashboard Views → Study Models: counts studies
- Dashboard Views → Participant Models: counts participants
- Dashboard Views → Participant Models: reads visits
- Account Models → PostgreSQL: persists accounts
- Study Models → PostgreSQL: persists studies
- Participant Models → PostgreSQL: persists trial data
- Notification Models → PostgreSQL: persists notices