Skip to content

Conversation

@kjlippold
Copy link
Contributor

This PR reorganizes hydroserver-api-services into two distinct units: domains and interfaces.

Domains contain models, migrations, backend service layers, and other internal business logic. While we could call these “apps,” the term “apps” is already used by OpenID Connect to refer to third-party applications, so using “domains” helps avoid confusion.

Interfaces encompass all components that expose HydroServer to the outside world. This includes the Data Management API, Data Management App, SensorThings API, authentication API, and management commands. In the future, it will also include MQTT interfaces, additional APIs such as OGC Features, and potentially the QC App. It would also include Django Admin dashboard extensions and the AllAuth account management app if/when we switch it in to replace the AllAuth API.

Most HydroServer interfaces rely on the existing core data model and services rather than extending them. This reorganization clarifies the distinction between data domains and external-facing interfaces, rather than bundling everything into self-contained apps where boundaries are often unclear.

This PR does not change any existing functionality. While it may make future refactors easier, its immediate effect is purely structural.

@kjlippold kjlippold self-assigned this Jan 30, 2026
@kjlippold kjlippold merged commit fa9a8d8 into main Feb 3, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants