Cesar Petrescu

Lab · Apps

  • Internal
  • Internal Product

Intranet Operations Suite

CRM and ticketing platform deployed at RADIOCOM for NOC and service teams

Internal operations platform used daily by NOC, Call Center, and service teams at RADIOCOM. Handles client management, contract tracking, ticketing with real-time WebSocket updates, and outage metrics, replacing spreadsheet-based workflows with role-scoped dashboards.

  • FastAPI
  • React 18
  • TypeScript
  • MUI
  • Keycloak
  • PostgreSQL
  • Redis
  • MinIO
  • WebSocket
  • Docker Compose

How it works

From an outage report to coordinated resolution

The RADIOCOM intranet replaces spreadsheet handoffs with role-scoped records, realtime ticket collaboration, attachments, SLA monitoring, and operational reporting.

Step 1 of 4 · Keycloak · Redis OTP · RBAC

Identity and permissions are checked before data access

Staff authenticate through Keycloak OIDC and complete the email OTP step. FastAPI enforces resource/action permissions server-side for NOC, Call Center, service, and administrative roles.

What moves forward An authenticated operator with explicit resource permissions.

Step 2 of 4 · FastAPI · PostgreSQL · MinIO

The incident is linked to operational context

A ticket connects the affected client, contract, location, and service. Replies, PDFs, screenshots, and other attachments stay with the record instead of being spread across email and spreadsheets.

What moves forward One authoritative incident timeline and supporting evidence.

Step 3 of 4 · WebSocket · Redis · React

Teams see changes as they happen

WebSocket events update ticket and outage views immediately. Reconnecting clients fall back safely, and Redis pub/sub can fan events across multiple API instances.

What moves forward Synchronized dashboards for every team handling the incident.

Step 4 of 4 · SLA jobs · Metrics · Alembic

Background jobs calculate SLA and outage impact

Scheduled tasks track response and restoration timing, aggregate outage metrics, and feed role-specific dashboards and reports. Alembic migrations and Docker Compose keep intranet deployments repeatable.

What moves forward Resolution history, measurable service impact, and auditable reporting.

Components

Modules

  • Clients, contracts, locations, and services catalog
  • Ticketing with replies + attachments
  • Bulk import/export (JSON/CSV) + PDF report generation
  • Admin users + custom roles/permissions

Realtime

  • WebSocket event stream for ticket updates and outage metrics
  • Reconnecting client with fallback polling
  • Optional Redis pub/sub channel for multi-instance WS fanout

Security model

  • Server-side require_permission(resource, action)
  • SUPERADMIN bypass for emergency access
  • Email OTP step after Keycloak login (Redis TTL)

Ops

  • Docker Compose for intranet deployments
  • Alembic migrations on startup
  • Background SLA monitor + metrics collection

Architecture

Frontend
  • React 18 + Vite
  • TypeScript
  • MUI
Backend
  • FastAPI
  • Async SQLAlchemy
  • WebSockets
  • SLA + metrics tasks
Identity
  • Keycloak OIDC (PKCE)
  • RBAC + permissions
  • Email OTP (Redis TTL)
Data
  • PostgreSQL
  • MinIO (PDFs + attachments)
  • Redis (OTP + pubsub)