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

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

  1. API Documentationdocs/api/
  2. Implementation Detailsdocs/implementation/
  3. Testing Documentationdocs/testing/
  4. General Documentationdocs/

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