Hexit

Built and published by Hexit

Orbit — incident and asset management, at your scale

An incident management solution designed for multi-site organisations: request tracking, service level agreements, asset inventory and knowledge base in a single tool.

The Orbit interface on desktop and mobile: ticket list, filters and priorities

Why we built it

Organisations running several sites usually face an uncomfortable choice: an off-the-shelf ITSM suite — powerful, but oversized and priced per user — or a shared spreadsheet that quickly hits its limits. Between the two, few tools cover both request tracking and asset management without turning into a maze.

Orbit is our answer to that gap. We designed and built it in-house to cover the full life of an incident — from the initial request through to a qualified resolution — while keeping an interface people can pick up without training. The initial scope covers IT equipment, and the data model already anticipates building-related incidents.

What Orbit covers

Tickets and service level agreements

Seven statuses with controlled transitions, four priority levels each carrying their SLA, assignment by team or by technician. Every ticket keeps a timestamped activity trail: public comments, internal notes hidden from the requester, and status changes.

Structured asset inventory

A clear split between primary equipment and attached peripherals, with consistency rules enforced server-side: a peripheral always follows its parent, and deleting equipment that still has peripherals attached is blocked. Brands, external providers and inventory labels with barcode scanning complete the picture.

Multi-site reference data

Entities, sites, divisions and departments, teams and providers: the real organisation is mirrored in the tool. Ticket visibility follows from that structure and from each person's role — user, technician, team administrator or administrator.

Knowledge base

Articles written in a rich editor, sorted into categories, with draft, published and archived states. Pinned articles and a usefulness counter help surface what actually resolves recurring requests.

Real-time reporting

A per-technician dashboard for the day's workload, and a management view for supervisors: volume, SLA compliance on first response and on resolution, backlog ageing, priority distribution and reopening rate — all filterable by entity, team, agent and period.

Notifications and announcements

Email and in-app notifications, pushed in real time and configurable per user. During a major incident, an announcement banner appears immediately across every page to inform users and cut down duplicate tickets.

The interface

Ticket detail in Orbit: status, priority, activity trail and assignment
Ticket detail: status transitions, timestamped activity trail, assignment and the equipment involved.
Orbit management dashboard showing SLA and backlog indicators
The management dashboard: SLA compliance, backlog ageing, priority distribution and a breakdown by entity and site.
The Orbit ticket list in light theme, with its per-column filters
The same interface in light theme: each user picks their own, and the choice follows them from one session to the next. Here, the ticket list with per-column filtering.

Architecture and technical choices

Orbit is an Nx monorepo pairing a NestJS API with an Angular front end, plus a shared library for enums, DTOs and SLA constants — so the business reference data is defined once and consumed by both sides.

  • Angular 21 with standalone components and signals — the interface is genuinely responsive: the dense desktop table becomes a card list on mobile without degrading filters or actions.
  • NestJS 11 and MongoDB — a modular API where each domain exposes its own controller, access rules and validated DTOs. Validation is strict: any undeclared field is rejected rather than silently dropped.
  • Real time over SSE — notifications are persisted then pushed through an event stream, with no polling and no extra infrastructure.
  • S3 object storage — attachments and logos live outside the database, which keeps backups light and storage easy to grow.

Security and access governance

The primary sign-in path is Microsoft 365 SSO over OpenID Connect: tenant accounts are provisioned on the fly and can be synchronised. Local passwords remain available for administrators and for external contributors outside the tenant, invited through a single-use link.

  • Two-token pattern — a short-lived access token paired with a long-lived refresh token, stored in an httpOnly cookie scoped to the authentication routes. Each token is traceable, which allows immediate revocation on sign-out.
  • Role-based permissions — four business roles plus a super-administrator defined outside the database, and a dedicated page to see who can do what.
  • The actor always comes from the token — never from the request body: nobody can act on another user's behalf by tampering with a call.

Deployment

The whole stack is containerised. The API is built in stages so only production dependencies ship, runs as an unprivileged user, and is never exposed directly — it is reachable only through the reverse proxy that serves the interface.

In practice, Orbit installs just as well on your own servers as with a hosting provider — which matters when asset and incident data must not leave your infrastructure.

Technologies

Angular 21NestJS 11MongoDBTypeScriptNxTailwind CSSDockerMicrosoft 365 / Entra IDS3

Could Orbit fit your needs?

We'll walk you through it under real conditions and look together at what would need adapting to your organisation.