How miracleboy-rw/amr works
This repository is an antimicrobial-resistance surveillance platform: users browse species information, submit sequencing samples, and view surveillance results; administrators manage platform data and users. A Go API serves the React application, while a separate worker consumes analysis jobs and runs genomic tools. A file service handles berkas (file) operations, and Python scripts prepare and synchronize database data. The tree and excerpts support these component roles, but wiring for several unsampled routes and services is omitted where call relationships cannot be confirmed.
Main entry points: amr/index.go AMR analysis stages · App.jsx Application routes · client.js API client · routes/index.go API routes
Components 34
Web application
- Application routes
arm-react/src/App.jsx - Authentication UI
arm-react/src/pages/auth/AuthPage.jsx - Sample workflows
arm-react/src/hooks/useSamples.js - Species browsing
arm-react/src/pages/species/SpeciesPage.jsx - Surveillance dashboards
arm-react/src/pages/Dashboard.jsx - Admin console
arm-react/src/pages/admin/AdminPage.jsx - API client
arm-react/src/api/client.js
Platform API
- HTTP server
amr-go/src/main.go - API routes
amr-go/src/routes/index.go - Authentication handlers
amr-go/src/handlers/auth_handler.go - Authentication services
amr-go/src/services/auth_service.go - Authentication repository
amr-go/src/repository/auth_repository.go - Sample handlers
amr-go/src/handlers/sample_handler.go - Analysis services
amr-go/src/services/analysis_service.go - Dashboard handlers
amr-go/src/handlers/dashboard_handler.go - Admin handlers
amr-go/src/handlers/admin_handler.go
Analysis worker
- Analysis consumer
amr-wf/src/main.go - AMR analysis stages
amr-wf/src/amr/index.go - Read trimming
amr-wf/src/amr/runFastp.go - Read deduplication
amr-wf/src/amr/runFastUniq.go - Genome assembly
amr-wf/src/amr/runSpades.go - Taxonomic classification
amr-wf/src/amr/runKraken2.go - MLST typing
amr-wf/src/amr/runMlst.go - Resistance detection
amr-wf/src/amr/runRgi.go - AMRFinder analysis
amr-wf/src/amr/runAMRFinder.go - Analysis persistence
amr-wf/src/repository/result_repository.go
File service
- File HTTP server
amr-berkas/src/main.go - File routes
amr-berkas/src/routes/index.go - File operations
amr-berkas/src/handlers/berkas.go - File metadata store
amr-berkas/src/database/mongo.go
Other components
- User
- Administrator
- MongoDB
- RabbitMQ
Connections 41
- User → Application routes: uses
- Administrator → Application routes: uses
- Application routes → Authentication UI: routes to
- Application routes → Sample workflows: routes to
- Application routes → Species browsing: routes to
- Application routes → Surveillance dashboards: routes to
- Application routes → Admin console: routes to
- Authentication UI → API client: requests
- Sample workflows → API client: requests
- Species browsing → API client: requests
- Surveillance dashboards → API client: requests
- Admin console → API client: requests
- API client → HTTP server: HTTP requests
- HTTP server → API routes: registers
- API routes → Authentication handlers: dispatches
- API routes → Sample handlers: dispatches
- API routes → Dashboard handlers: dispatches
- API routes → Admin handlers: dispatches
- Authentication handlers → Authentication services: calls
- Authentication services → Authentication repository: calls
- Authentication repository → MongoDB: reads/writes
- Sample handlers → Analysis services: calls
- Dashboard handlers → MongoDB: queries
- Admin handlers → MongoDB: manages
- RabbitMQ → Analysis consumer: delivers jobs
- Analysis consumer → MongoDB: loads sample
- Analysis consumer → AMR analysis stages: runs analysis
- AMR analysis stages → Read trimming: runs stage
- AMR analysis stages → Read deduplication: runs stage
- AMR analysis stages → Genome assembly: runs stage
- AMR analysis stages → Taxonomic classification: runs stage
- AMR analysis stages → MLST typing: runs stage
- AMR analysis stages → Resistance detection: runs stage
- AMR analysis stages → AMRFinder analysis: runs stage
- Analysis consumer → Analysis persistence: persists results
- Analysis persistence → MongoDB: writes results
- User → File HTTP server: requests files
- File HTTP server → File routes: registers
- File routes → File operations: dispatches
- File operations → File metadata store: uses
- File metadata store → MongoDB: stores metadata