4.6 KiB
4.6 KiB
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
- API Documentation →
docs/api/ - Implementation Details →
docs/implementation/ - Testing Documentation →
docs/testing/ - 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