Gamma Nuclide Analyzer
- Python 54.3%
- TypeScript 32.9%
- CSS 12.3%
- Dockerfile 0.4%
- HTML 0.1%
GITHUB_TOKEN in Forgejo Actions lacks packages:write access (reqPackageAccess). Use persistent ci-registry-push token (write:package scope) instead. Also disable provenance attestation (not supported by Forgejo registry). |
||
|---|---|---|
| .forgejo/workflows | ||
| backend | ||
| deploy | ||
| docs | ||
| frontend | ||
| validation | ||
| .dockerignore | ||
| .gitignore | ||
| CLAUDE.md | ||
| docker-compose.yml | ||
| Dockerfile | ||
| package.json | ||
| README.md | ||
Gamma Nuclide Analyzer
A Docker-first web application for automated gamma spectrum analysis from N42 data.
Vision
Gamma Nuclide Analyzer is a clean, modern web application for importing N42 gamma spectra, detecting peaks, fitting lines, proposing nuclide matches, and exporting reproducible results.
Planned architecture
- Backend: FastAPI, scientific analysis services, REST API
- Frontend: React + TypeScript + Vite
- Storage: SQLite for metadata, filesystem for imported data and exports
- Deployment: Docker Compose
- Quality: Clean architecture, strong unit test coverage, CI
Repository structure
backend/ FastAPI application, analysis core, tests
frontend/ React application
docker/ Container-related assets
docs/ Specifications and design notes
scripts/ Developer helper scripts
Current status
The project now has a usable first MVP for browser-based gamma spectrum analysis.
Current capabilities include:
- ZIP upload through the web UI
- experiment and spectrum browsing
- spectrum plotting
- peak detection with adjustable thresholds
- first peak integration preview
- Gaussian fit preview with fit warnings
- line tracking across spectra of one experiment
- saved line result tables
- CSV export for saved lines and experiment summary
- Playwright smoke testing for the core UI workflow
A concise status snapshot is kept in docs/mvp-status.md.
A user-oriented guide is available in docs/user-guide.md.
Deployment
The repository includes:
- CI for backend tests and frontend build
- Docker image publishing to GHCR
- SSH-based deployment workflow for a Docker host
- a deployment compose file under
deploy/
See docs/deployment.md for setup details.