How quirky0name/csd-g4t1 works
This is a research-paper tracking and change-review system: researchers track papers, Updating polls scholarly sources and detects changes, Research Evaluation investigates and assesses them, and Storage Management persists the resulting snapshots, alerts, reports, and documents for researcher review. The frontend exposes folders, citation sources, and alerts. The README describes REST communication among services; the supplied source excerpts establish selected storage and client behavior, but not every route or orchestration call, so uncertain links are omitted.
Main entry points: StorageApplication.java Storage API · storage.py Storage client · App.tsx React application · evaluate.py Change evaluation
Components 25
Researcher interface
- React application
frontend/csd-frontend-vite/src/App.tsx - Paper folders
frontend/csd-frontend-vite/src/pages/Folders.tsx - Citation sources
frontend/csd-frontend-vite/src/pages/CitationSources.tsx - Alert review
frontend/csd-frontend-vite/src/pages/Alerts.tsx
Storage management
- Storage API
storage/src/main/java/com/g4t1/storage/StorageApplication.java - Tracked papers
storage/src/main/java/com/g4t1/storage/paper/PaperService.java - Research papers
storage/src/main/java/com/g4t1/storage/research/ResearchPaperService.java - Snapshot history
storage/src/main/java/com/g4t1/storage/snapshot/SnapshotService.java - Alerts
storage/src/main/java/com/g4t1/storage/alert/AlertService.java - Reports
storage/src/main/java/com/g4t1/storage/report/ReportService.java - Report documents
storage/src/main/java/com/g4t1/storage/report/ReportDocumentService.java - Persistent records
Change detection
- Polling service
backend/src/updating/main.py - Poll and compare
backend/src/updating/poll.py - Metadata sources
backend/src/updating/sources.py - Storage client
backend/src/updating/storage.py
Evaluation workflow
- Evaluation API
backend/src/research_evaluation/main.py - Change evaluation
backend/src/research_evaluation/evaluate.py - Change investigation
backend/src/research_evaluation/investigation/investigate.py - Impact assessment
backend/src/research_evaluation/impact/assess.py - Storage client
backend/src/research_evaluation/storage.py
External services
- Crossref
- Europe PMC
- Gemini model
Other components
- Researcher
Connections 34
- Researcher → React application: uses
- React application → Paper folders: routes
- React application → Citation sources: routes
- React application → Alert review: routes
- React application → Storage API: REST requests
- Storage API → Tracked papers: dispatches
- Storage API → Research papers: dispatches
- Storage API → Snapshot history: dispatches
- Storage API → Alerts: dispatches
- Storage API → Reports: dispatches
- Storage API → Report documents: dispatches
- Tracked papers → Persistent records: persists
- Research papers → Persistent records: persists
- Snapshot history → Persistent records: reads and writes
- Alerts → Persistent records: reads and writes
- Reports → Persistent records: reads and writes
- Report documents → Persistent records: reads and writes
- Polling service → Poll and compare: runs polls
- Poll and compare → Metadata sources: fetches metadata
- Poll and compare → Storage client: reads and writes
- Storage client → Storage API: REST requests
- Metadata sources → Crossref: queries
- Evaluation API → Change evaluation: dispatches
- Change evaluation → Storage client: reads snapshots
- Change evaluation → Storage client: stores alerts
- Change evaluation → Change investigation: investigates reports
- Change investigation → Storage client: reads and stores documents
- Change investigation → Crossref: retrieves records
- Change investigation → Europe PMC: retrieves notices
- Change evaluation → Impact assessment: assesses reports
- Impact assessment → Storage client: reads report inputs
- Impact assessment → Storage client: stores assessment
- Storage client → Storage API: REST requests
- Impact assessment → Gemini model: requests assessment