Files
onvif-go/docs/FILE_ORGANIZATION.md
T
ProtoTess 9cf30e2c41 cleanup
2026-01-16 04:58:24 +00:00

126 lines
4.6 KiB
Markdown

# File Organization
This document describes the organization of files in the ONVIF Go library project.
## Directory Structure
```
onvif-go/
├── docs/ # Documentation
│ ├── api/ # API documentation
│ │ ├── DEVICE_API_STATUS.md
│ │ ├── DEVICE_API_QUICKREF.md
│ │ ├── CERTIFICATE_WIFI_SUMMARY.md
│ │ ├── STORAGE_API_SUMMARY.md
│ │ └── ADDITIONAL_APIS_SUMMARY.md
│ ├── implementation/ # Implementation details
│ │ ├── IMPLEMENTATION_COMPLETE.md
│ │ ├── IMPLEMENTATION_STATUS.md
│ │ ├── MEDIA_WSDL_OPERATIONS_ANALYSIS.md
│ │ └── MEDIA_OPERATIONS_ANALYSIS.md
│ ├── testing/ # Testing documentation
│ │ ├── COMPREHENSIVE_TEST_SUMMARY.md
│ │ ├── CAMERA_TEST_REPORT.md
│ │ ├── CAMERA_TESTING_FLOW.md
│ │ ├── DEVICE_API_TEST_COVERAGE.md
│ │ └── COVERAGE_SETUP.md
│ ├── README.md # Documentation index
│ ├── ARCHITECTURE.md
│ ├── PROJECT_SUMMARY.md
│ ├── PROJECT_STRUCTURE.md
│ └── ... (other docs)
├── test-reports/ # Test reports (JSON)
│ ├── README.md
│ └── camera_test_report_*.json
├── examples/ # Example programs
│ ├── test-real-camera-all/ # Comprehensive camera testing
│ ├── device-info/
│ ├── discovery/
│ └── ... (other examples)
├── testdata/ # Test data
│ └── captures/ # Captured SOAP responses
├── cmd/ # Command-line tools
│ ├── onvif-cli/
│ ├── onvif-diagnostics/
│ └── ...
├── server/ # ONVIF server implementation
├── discovery/ # Discovery functionality
├── internal/ # Internal packages
│ └── soap/ # SOAP client
├── testing/ # Testing utilities
├── *.go # Core library files
├── *_test.go # Test files
├── README.md # Main README
├── CHANGELOG.md # Version history
├── CONTRIBUTING.md # Contribution guidelines
├── BUILDING.md # Build instructions
└── LICENSE # License file
```
## File Categories
### Root Directory
- **Core library files** (`*.go`) - Main implementation files
- **Test files** (`*_test.go`) - Unit and integration tests
- **Essential documentation** - README.md, CHANGELOG.md, CONTRIBUTING.md, BUILDING.md, LICENSE
### Documentation (`docs/`)
- **API Documentation** (`docs/api/`) - API reference and status documents
- **Implementation Details** (`docs/implementation/`) - Implementation analysis and status
- **Testing Documentation** (`docs/testing/`) - Test reports and coverage information
- **General Documentation** (`docs/`) - Architecture, guides, and other documentation
### Test Reports (`test-reports/`)
- JSON files containing test results from real camera testing
- Automatically generated by `examples/test-real-camera-all/main.go`
- Named with pattern: `camera_test_report_{Manufacturer}_{Model}_{Timestamp}.json`
### Examples (`examples/`)
- Example programs demonstrating library usage
- Organized by functionality (discovery, device-info, PTZ, etc.)
### Test Data (`testdata/`)
- Captured SOAP responses from real cameras
- Used for unit testing without camera connectivity
## File Naming Conventions
### Documentation Files
- **UPPERCASE_WITH_UNDERSCORES.md** - Main documentation files
- **README.md** - Directory indexes
### Test Files
- **{module}_test.go** - Standard Go test files
- **{module}_real_camera_test.go** - Tests using real camera data
### Report Files
- **camera_test_report_{manufacturer}_{model}_{timestamp}.json** - Test reports
## Maintenance
### Adding New Documentation
1. **API Documentation**`docs/api/`
2. **Implementation Details**`docs/implementation/`
3. **Testing Documentation**`docs/testing/`
4. **General Documentation**`docs/`
### Generating Test Reports
Run `examples/test-real-camera-all/main.go` - reports are automatically saved to `test-reports/`
### Updating Documentation Index
Update `docs/README.md` when adding new documentation files.
---
*Last Updated: December 2, 2025*