Architecture Overview¶
graph TD
A[Web Interface] --> C{Flask Routes}
B[Client] --> D[REST API] --> C
C --> E[StringOperations]
C --> F[EventOperations]
C --> G[SchemaOperations]
C --> H[SidecarOperations]
C --> I[SpreadsheetOperations]
The HED Web Tools API is designed around a service-oriented architecture with clear separation of concerns.
Module Structure¶
1. Application Layer¶
App Factory - Flask application configuration and initialization
Routes - Web interface endpoints and HTTP request handling
2. Service Layer¶
Process Service - Core orchestration and business logic
Process Form - Form data extraction and validation
Base Operations - Common base classes and shared functionality
3. Operation Modules¶
Event Operations - Process event files with HED annotations
Schema Operations - Validate and manipulate HED schemas
Sidecar Operations - Handle BIDS sidecar JSON files
Spreadsheet Operations - Process tabular data with HED columns
String Operations - Validate and manipulate HED strings