How johnferrater/paper_studio works
Paper Studio is a Django research-paper workspace. Students create projects and chapters, organize sources and citations, collaborate, and draft chapters; teachers review submissions and request revisions, with notifications supporting that cycle. The graph also preserves assistant, analytics, supervision, and role-based account capabilities visible in the repository tree and page smoke-test excerpt. Several view modules were not sampled, so their internal calls and integrations are not asserted.
Main entry points: accounts/views.py Accounts and Dashboards · access.py Project Visibility · models.py Projects and Chapters · research/views.py Project and Chapter Views
Components 25
Accounts and Access
- Accounts and Dashboards
apps/accounts/views.py - User Records
apps/accounts/models.py - Project Visibility
apps/core/access.py - Role Permissions
apps/core/permissions.py
Research Workspace
- Project and Chapter Views
apps/research/views.py - Projects and Chapters
apps/research/models.py - Research Forms
apps/research/forms.py
Writing and Review
- Drafting and Review
apps/writing/views.py - Drafts and Reviews
apps/writing/models.py
Sources and Citations
- Source Management
apps/sources/views.py - Source Records
apps/sources/models.py - Citation Management
apps/citations/views.py - Citation Records
apps/citations/models.py - Citation Formatting
apps/citations/formatting.py
Collaboration and Support
- Project Collaboration
apps/collaboration/views.py - Project Memberships
apps/collaboration/models.py - Research Assistant
apps/assistant/views.py - Assistant Service
apps/assistant/services.py - Assistant Messages
apps/assistant/models.py - Research Analytics
apps/analytics/views.py - Supervision Records
apps/supervision/models.py - Notification Views
apps/notifications/views.py - Notification Service
apps/notifications/services.py - Notifications
apps/notifications/models.py
Other components
- Researcher
Connections 26
- Researcher → Accounts and Dashboards: uses
- Accounts and Dashboards → User Records: reads and creates
apps/accounts/views.py - Accounts and Dashboards → Projects and Chapters: reads
apps/accounts/views.py - Accounts and Dashboards → Project Memberships: reads
apps/accounts/views.py - Accounts and Dashboards → Drafts and Reviews: records reviews
apps/accounts/views.py - Accounts and Dashboards → Notification Service: notifies
apps/accounts/views.py - Project and Chapter Views → Project Visibility: checks visibility
apps/research/views.py - Project and Chapter Views → Research Forms: uses
apps/research/views.py - Project and Chapter Views → Projects and Chapters: reads and writes
apps/research/views.py - Project Visibility → Projects and Chapters: filters projects
apps/core/access.py - Source Management → Project Visibility: checks access
apps/sources/views.py - Source Management → Source Records: reads and writes
apps/sources/views.py - Citation Management → Project Visibility: checks access
apps/citations/views.py - Citation Management → Citation Records: reads and writes
apps/citations/views.py - Citation Records → Citation Formatting: formats citations
apps/citations/models.py - Project Collaboration → Project Memberships: reads and writes
apps/collaboration/views.py - Project Collaboration → Projects and Chapters: reads projects
apps/collaboration/views.py - Project Collaboration → Notification Service: notifies
apps/collaboration/views.py - Notification Service → Notifications: creates notifications
apps/notifications/services.py - Researcher → Drafting and Review: uses
- Researcher → Research Assistant: uses
- Research Assistant → Assistant Service: delegates
- Research Assistant → Assistant Messages: stores messages
- Researcher → Research Analytics: views reports
- Researcher → Supervision Records: uses supervision
- Researcher → Notification Views: views notifications