BACORE / SYSTEM DOCUMENTATION 02 / 04
ServiceOps Platform
Manage teams, assets and incidents in one place.
ServiceOps Platform coordinates teams, assets and incidents across multiple organizations through a shared API, an activity history and operational monitoring.
Organizations • Teams and assets • Incident lifecycle • Operational monitoring
OPERATIONS EXAMPLE • ORGANIZATION A
From signal to ownership.
INCIDENT INC-024
Gateway heartbeat missing
Assigned to Field Team • Investigation open
ACTIVITY HISTORY
Signal → Triage → Assignment
Every transition belongs to the same organization
Organization A | Isolated access | Organization B
Sample incident: a missing heartbeat creates a traceable investigation owned by the responsible team.
BACKEND / OPERATIONS SOFTWARE
01 / SIGNAL
Events & requests
02 / TRIAGE
Incidents & priority
03 / ASSIGN
Teams & ownership
04 / RESOLVE
History & monitoring
THE PROBLEM
Operational work needs a dependable shared record.
When events, conversations and assignments live in separate tools, it becomes difficult to see who owns an incident or why its status changed. Serving several organizations adds another requirement: every request, record and background task must respect the correct access boundary.
EXAMPLE SCENARIO
A device stops reporting. The system opens an incident, associates it with the right organization and asset, and routes it to a responsible team. Operators follow the investigation through to resolution.
SYSTEM WORKFLOW
How the system works.
01
Receive the signal
Accept device events, integration callbacks or a manual service request through a versioned API.
02
Create a useful incident
Associate the event with an organization and asset, apply triage rules and preserve the source signal for investigation.
03
Coordinate the response
Assign an owner, record actions and make state transitions explicit. Permissions determine who can see or change the incident.
04
Observe the service
Connect incident history with logs, traces and worker health. Operators can investigate stale work, failed processing and integration errors.
ENGINEERING DECISIONS
Key technical decisions.
Organization isolation
Every request and background job carries an organization ID. Access checks keep each organization’s records separate, from the API through to the database.
Predictable event handling
Deduplication, durable queues and explicit transitions manage repeated or delayed device events. Event history stays separate from incident state so repeated signals can be inspected without multiplying incidents.
Useful operational signals
A shared request ID connects an incident to its logs and background jobs. Health checks show whether the services are running. Operators can trace an event from arrival to resolution.
Technology: C# / .NET · PostgreSQL · RabbitMQ · REST APIs · OpenTelemetry · Containers
VERIFICATION
How to verify it.
Use these checks to verify normal operation, failure handling and recovery.
Access from another organization
Attempt to read or change another organization’s records. Verify that the API rejects the request and returns no protected data.
Repeated or delayed events
Replay repeated and delayed events. Verify that triage follows the configured rules and preserves the event history.
A stalled background worker
Stop a background worker. Verify that monitoring exposes the interruption and pending work remains recoverable.
SYSTEM SCOPE
What is included.
The platform includes organizations and permissions, team and asset records, incoming events, incident tracking and an operations dashboard. The interface and external integrations use the same API and business rules. Monitoring covers the API, database and background workers.
ARCHITECTURE + HANDS-ON IMPLEMENTATION
Connect the work behind your operations.
Bring the service process, your existing tools and the boundaries between your customers or teams. BACore can design and implement the API and application around them.
EXPLORE MORE SYSTEMS
