An AI-powered API portal built on Azure services, designed to help developers discover, understand, and use APIs faster through multi-agent AI assistance.
Status: β All three phases delivered β MVP, Governance + Compare, Analytics & Polish
| Feature | Description |
|---|---|
| API Catalog | Browse, filter, sort, and paginate all APIs registered in Azure API Center |
| API Detail | View API metadata, versions, OpenAPI specification, and deployment environments |
| Hybrid Search | Semantic + keyword search powered by Azure AI Search with facets and relevance scoring |
| AI Assistant | Chat with an AI assistant (Azure OpenAI + Foundry Agents) to discover and understand APIs |
| Authentication | Entra ID (Azure AD) authentication with RBAC roles (User / Maintainer / Admin) |
| Observability | Application Insights telemetry for frontend and BFF |
| Feature | Description |
|---|---|
| Governance Dashboard | Overall compliance scores, score distribution, and trends across all APIs |
| Compliance Detail | Per-API governance checks with severity levels and actionable recommendations |
| API Comparison | Side-by-side comparison of up to 4 APIs with AI analysis |
| Multi-Agent Orchestration | Orchestrator dispatches queries to specialist agents (Search, Governance, Catalog) |
| Agent Management | Admin UI to view, test, and manage AI agents |
| Security Trimming | Role-based filtering of catalog results |
| Feature | Description |
|---|---|
| Analytics Dashboard | Portal usage metrics (page views, search queries, chat interactions, user trends) |
| Top APIs | Most-viewed and most-searched APIs with trend data |
| Search Analytics | Top search terms and no-results queries |
| Metadata Completeness | Scoring and recommendations for improving API catalog quality |
| Performance Optimization | Web Vitals optimization, code splitting, image optimization |
| Accessibility | WCAG 2.1 AA compliance across all pages |
graph TB
Browser[π Browser]
NextJS[βοΈ Next.js Frontend]
BFF[π FastAPI BFF]
APIC[π Azure API Center]
Search[π Azure AI Search]
Foundry[π€ Foundry Agents]
Cosmos[πΎ Cosmos DB]
Insights[π App Insights]
Browser --> NextJS
NextJS --> BFF
BFF --> APIC
BFF --> Search
BFF --> Foundry
BFF --> Cosmos
NextJS -.-> Insights
BFF -.-> Insights
Components:
- Frontend: Next.js 16 SPA with TypeScript 6.0
- BFF: Python 3.14 + FastAPI backend (managed with UV)
- AI Layer: Azure OpenAI + Foundry Agent Service
- Search: Azure AI Search (hybrid search)
- Catalog: Azure API Center
- Persistence: Azure Cosmos DB (serverless)
- Observability: Azure Application Insights
- Deployment: Azure Container Apps
For detailed architecture, see docs/project/apic_architecture.md.
- Node.js >= 24 (see
.nvmrc) - Python 3.14 (see
.python-version) - UV (Python package manager) β Install UV
- npm >= 10
- Azure CLI (for deployment)
-
Clone the repository
git clone https://github.com/christopherhouse/APIC-Vibe-Portal.git cd APIC-Vibe-Portal -
Install frontend and shared dependencies
npm install
-
Install BFF dependencies
cd src/bff uv sync cd ../..
npm run dev --workspace=@apic-vibe-portal/frontendcd src/bff
uv run fastapi dev# Frontend + Shared
npm run lint
# BFF
cd src/bff
uv run ruff check .# Frontend + Shared
npm run format
# BFF
cd src/bff
uv run ruff format .# Frontend + Shared
npm run test
# BFF
cd src/bff
uv run pytest# Frontend + Shared
npm run build/
βββ src/
β βββ frontend/ # Next.js 16 SPA
β βββ bff/ # Python 3.14 + FastAPI BFF
β βββ shared/ # Shared TypeScript types/utilities
βββ infra/ # Bicep IaC templates
βββ .github/
β βββ workflows/ # CI/CD pipelines
β βββ copilot-instructions.md
β βββ agents/ # Custom Copilot agents
β βββ copilot/
β β βββ mcp.json # MCP server configuration
β βββ PULL_REQUEST_TEMPLATE.md
βββ docs/
β βββ project/ # Project documentation
βββ scripts/ # Developer helper scripts
βββ .editorconfig
βββ .gitignore
βββ .nvmrc # Node.js version (24)
βββ .python-version # Python version (3.14)
βββ package.json # Root workspace config
βββ README.md
- Getting Started β Quick start for new users
- Searching for APIs β Search tips and techniques
- Using the AI Chat β AI assistant guide
- Comparing APIs β Side-by-side comparison guide
- Understanding Governance β Compliance scores explained
- Deployment Guide β Deployment procedures
- Monitoring Runbook β Monitoring and alerting
- Incident Response β Incident handling procedures
- Scaling Guide β Scaling Container Apps
- Backup & Recovery β Data backup and recovery
- Troubleshooting β Common issues and solutions
- Architecture Deep Dive β Detailed component architecture
- Local Development β Local dev setup guide
- Testing Guide β Testing strategy and how-to
- Agent Development β How to create new AI agents
- Contributing Guide β Contribution guidelines
- Product Charter β Vision, goals, and timeline
- Architecture β Component overview and design
- Product Spec β Feature requirements
- Implementation Plan β Phased development plan (all 32 tasks β )
- Next.js 16 (App Router)
- React 19
- TypeScript 6.0 (strict mode)
- Material UI (MUI) β component library, theming, and styling
- ESLint + Prettier
- Jest + React Testing Library + Playwright
- Python 3.14
- FastAPI
- UV (package manager)
- Ruff (linting + formatting)
- pytest
- Azure API Center
- Azure AI Search
- Azure OpenAI
- Foundry Agent Service
- Azure Cosmos DB (serverless)
- Azure Container Apps
- Azure Application Insights
- Azure Key Vault
- Azure Container Registry
This project includes custom GitHub Copilot agents and instructions:
- Copilot Instructions: .github/copilot-instructions.md
- Custom Agents:
api-portal-architectβ Architecture and design decisionsazure-infra-agentβ Bicep templates and Azure resourcesfrontend-agentβ Next.js and React developmentbff-agentβ FastAPI and Azure SDK integrationtech-writer-agentβ Documentation writing
Available Model Context Protocol servers:
- Microsoft Learn β Azure SDK docs and best practices
- Context7 β Up-to-date library documentation
- Next.js DevTools β Next.js development tooling
- Snyk β Security vulnerability scanning
- Authentication: Entra ID (Azure AD)
- Authorization: RBAC with security trimming
- Secrets: Azure Key Vault (never commit secrets!)
- Scanning: Snyk for dependency vulnerabilities
- Frontend: Jest + React Testing Library (unit/component), Playwright (E2E)
- BFF: pytest (unit + integration)
- Coverage Target: >80% for business logic
Deploy to Azure Container Apps via GitHub Actions:
- Build Docker images for frontend and BFF
- Push to Azure Container Registry
- Deploy to Azure Container Apps
- Infrastructure managed via Bicep templates
See .github/workflows/ for CI/CD pipelines.
- Check the implementation plan for current tasks
- Create a branch from
main - Make changes following coding conventions (see
.github/copilot-instructions.md) - Write tests for new functionality
- Run linting and tests locally
- Create a PR using the template
See LICENSE for details.
Built with β€οΈ using Azure AI services