This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).
# OOP Developer Portal
## Getting Started
A web-based developer portal for the **Open Operator Platform (OOP)**. It lets developers discover edge APIs, register application profiles, and deploy containerised workloads onto an edge Kubernetes cluster — all through a browser UI backed by the Open Exposure Gateway (OEG).
First, run the development server:
---
```bash
npm run dev
```
## Available pages
### API Catalogue
Browse the APIs exposed by the OEG platform:
-**Edge Cloud Zones Discovery** — find available edge zones with their capacity and location metadata.
-**Quality on Demand (QoD)** — manage guaranteed-bandwidth sessions for latency-sensitive apps.
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
Each API card shows the protocol, version, and status. Clicking a card opens a live **Swagger UI** so you can try the API directly from the browser.
You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
### My Applications — Profile tab
Manage application profiles registered with the OEG:
-**Create** a new profile by providing the app name, version, package type (HELM / CONTAINER), image path, port specs, and resource requirements.
-**Deploy** a registered profile to an edge cloud zone via a zone-selection dialog — this triggers a real Kubernetes Deployment on the cluster.
-**Delete** a profile to remove it from the registry.
This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.
### My Applications — Deployments tab
See what is actually running on the cluster right now:
- Lists every live app instance returned by `GET /appinstances` from the OEG.
- Shows name, provider, App ID, Instance ID, and a live **status chip** (`READY` in green, `FAILED` in red) derived directly from the Kubernetes Deployment's `available_replicas` / `ready_replicas` counters.
## Local Development
## Local development
**Prerequisites:** Node 20+, a running OEG reachable at `http://localhost:32263`.
```bash
npm install# install dependencies
npm run dev # start dev server at http://localhost:3000