# Component Developer Documentation :::{note} **Audience:** Developers working on data center components ::: This section provides access to detailed technical documentation for each component of the CCAT Data Center system. ```{toctree} :hidden: true :maxdepth: 3 /ops-db/docs/index /data-transfer/docs/index /workflow-manager/docs/index /calibrate/docs/index /ops-db-api/docs/index /ops-db-ui/docs/index /system-integration/docs/index /data-center/docs/index ``` ## Overview The CCAT Data Center is built from several integrated Python packages and configuration repositories: **Core Components:** - {doc}`ops-db ` - Database models and ORM layer for the operations database - {doc}`data-transfer ` - Automated data movement and archiving of raw data. Handles also staging of data to processing and upstream deletion upon successful archiving. - {doc}`workflow-manager ` - Science pipeline orchestration: trigger, execute, and collect reduction results on HPC infrastructure with full provenance tracking. - {doc}`calibrate ` - Production Rust calibration engine converting raw detector counts (L0 Zarr) into calibrated antenna temperature spectra (L1 Zarr) for heterodyne submillimeter receivers. - {doc}`ops-db-api ` - RESTful API for programmatic access to the operations database - {doc}`ops-db-ui ` - Web frontend for browsing and managing observations, monitoring the system and interaction with data and ops-db. - {doc}`system-integration ` - Docker, Kubernetes, and deployment infrastructure *(login required)* - {doc}`data-center ` - Configuration files and reference data ## Development Workflow 1. **Setup** - Follow installation instructions in each component's documentation 2. **Local Development** - Use Docker Compose for local testing (see system-integration) 3. **Code Changes** - Work in feature branches, reference GitHub issues 4. **Testing** - Run component test suites before submitting PRs 5. **Documentation** - Update relevant docs when changing user-facing behavior 6. **Deployment** - See {doc}`../operations/datacenter_operations` for deployment procedures ## Development Standards - **Python Style** - Follow PEP 8, use type hints where applicable - **Documentation** - Use docstrings for all public APIs (Sphinx autodoc compatible) - **Testing** - Maintain test coverage for new features (To best effort) - **Version Control** - Meaningful commit messages, reference issues in commits - **Code Review** - All changes require PR review before merging ## Getting Help - Review component-specific documentation linked above - Check {doc}`../overview/how_we_work_together` for team collaboration guidelines - Contact the development team via established communication channels