Frontend application for the NOC IQ system.
This repository is the user-facing layer in the 3-repo system:
noc-iq-fe-> frontendnoc-iq-be-> backend and integration layernoc-iq-contracts-> Soroban smart contracts
System flow:
User -> FE -> BE -> Contracts -> BE -> FE
Important rule:
- the frontend does not talk to contracts directly
- all contract interaction must go through
noc-iq-be
noc-iq-fe is a Next.js frontend for viewing outages, reviewing SLA outcomes, and exposing payment and configuration screens.
The current codebase uses:
- Next.js 16
- React 19
- TypeScript
- Axios
- TanStack React Query
- TanStack Table
- Tailwind utilities and small local UI primitives
Active App Router routes live under src/app:
/-> dashboard placeholder/outages-> outages list/outages/[id]-> outage details and resolve flow/payments-> payments placeholder/config-> SLA configuration page/setting-> settings placeholder
The shared shell and providers live in:
src/app/layout.tsxsrc/components/Navigation.tsxsrc/providers/react-query.tsx
There is also older UI and service code under src/pages and some feature modules under src/features. That code is still present, but the main runtime entrypoints are the App Router pages above.
The frontend currently uses the backend API client in src/lib/api.ts.
At the moment, the base URL is configured in code as:
http://localhost:8000/api/v1/
That means local development assumes the backend is running on port 8000.
Main FE service modules:
src/services/outages.tssrc/services/paymentService.tssrc/services/dashboardService.tssrc/services/exportService.tssrc/services/bulkImportService.ts
- Node.js 20+ recommended
- npm
- running backend from
noc-iq-be
npm installnpm run devThe app will be available at:
http://localhost:3000
npm run buildnpm run startnpm run lintFor the frontend to function meaningfully, start the backend as well:
- run
noc-iq-be - ensure the backend API is reachable at
http://localhost:8000 - then run this frontend on
http://localhost:3000
Without the backend, the app shell will load, but API-backed views such as outages, exports, bulk import, payments, and analytics will not have live data.
noc-iq-fe/
├── src/
│ ├── app/ # Next.js App Router pages
│ ├── components/ # shared UI and dashboard components
│ ├── features/ # feature-specific UI/hooks
│ ├── hooks/ # shared hooks
│ ├── lib/ # API client and shared helpers
│ ├── pages/ # older page-based screens still in repo
│ ├── providers/ # app providers
│ ├── services/ # backend-facing service modules
│ └── types/ # shared frontend types
├── public/
├── package.json
└── README.md
As of the latest stabilization pass:
npm run buildpassesnpm run lintpasses with one non-blocking warning from TanStack Table usage- missing local UI primitives were restored
- stale
import.meta.envusage was removed from active service modules - outage pages were aligned more closely with the backend response shape
This repo is healthier than before, but still not a finished product surface.
Examples:
/paymentsinsrc/appis still a placeholder page/settingis still a placeholder page/is still a simple dashboard placeholder- the codebase still contains a mix of newer App Router pages and older page-style screens
- some frontend flows depend on backend endpoints that are still being stabilized in
noc-iq-be
When making frontend changes:
- preserve the system rule: FE calls BE, never contracts directly
- prefer updating the App Router implementation first
- keep API shapes aligned with
noc-iq-be - treat
src/servicesandsrc/lib/api.tsas the integration boundary
noc-iq-be-> backend applicationnoc-iq-contracts-> Soroban smart contracts